From: Magnus H. <leg...@us...> - 2008-11-01 11:58:20
|
Update of /cvsroot/emacs-jabber/emacs-jabber In directory 23jxhf1.ch3.sourceforge.com:/tmp/cvs-serv3342 Modified Files: jabber-core.el Log Message: Revision: ma...@fr...--2005/emacs-jabber--cvs-head--0--patch-613 Creator: Magnus Henoch <ma...@fr...> More flexible prefix argument handling for jabber-connect-all Index: jabber-core.el =================================================================== RCS file: /cvsroot/emacs-jabber/emacs-jabber/jabber-core.el,v retrieving revision 1.98 retrieving revision 1.99 diff -u -d -r1.98 -r1.99 --- jabber-core.el 6 Oct 2008 11:14:42 -0000 1.98 +++ jabber-core.el 1 Nov 2008 11:58:05 -0000 1.99 @@ -140,14 +140,25 @@ (defun jabber-connect-all (&optional arg) "Connect to all configured Jabber accounts. See `jabber-account-list'. -If no accounts are configured (or ARG supplied), call `jabber-connect' interactively." +If no accounts are configured (or with prefix argument), call `jabber-connect' interactively. +With many prefix arguments, one less is passed to `jabber-connect'." (interactive "P") (let ((accounts (remove-if (lambda (account) (cdr (assq :disabled (cdr account)))) jabber-account-list))) (if (or (null accounts) arg) - (progn (setq current-prefix-arg nil) (call-interactively 'jabber-connect)) + (let ((current-prefix-arg + (cond + ;; A number of C-u's; remove one, so to speak. + ((consp arg) + (if (> (car arg) 4) + (list (/ (car arg) 4)) + nil)) + ;; Otherwise, we just don't care. + (t + arg)))) + (call-interactively 'jabber-connect)) ;; Only connect those accounts that are not yet connected. (let ((already-connected (mapcar #'jabber-connection-bare-jid jabber-connections)) (connected-one nil)) |