X-Git-Url: https://cgit.sxemacs.org/?p=riece;a=blobdiff_plain;f=lisp%2Friece-handle.el;h=cf5e0be11bb56dff0ac8f0177f43fd02dd1899fd;hp=75b88be712d853c97115c47daf37cf8f4b65dc21;hb=f91ae6ee9e0b2334a0530bdcf8d0e93169aa9252;hpb=0553123c8e0a3b601cbd311179f65f7f912d1b69 diff --git a/lisp/riece-handle.el b/lisp/riece-handle.el index 75b88be..cf5e0be 100644 --- a/lisp/riece-handle.el +++ b/lisp/riece-handle.el @@ -59,11 +59,12 @@ (riece-naming-assert-rename old new) (if (riece-identity-member old-identity riece-current-channels) (setq channels (cons new channels))) - (riece-insert-change (mapcar - (lambda (channel) - (riece-channel-buffer (riece-make-identity - channel riece-server-name))) - channels) + (riece-insert-change (delq nil (mapcar + (lambda (channel) + (riece-channel-buffer + (riece-make-identity + channel riece-server-name))) + channels)) (format "%s -> %s\n" (riece-format-identity old-identity t) (riece-format-identity new-identity t))) @@ -160,7 +161,6 @@ (message (nth 1 parameters)) (user-identity (riece-make-identity user riece-server-name))) (while channels - (riece-naming-assert-part user (car channels)) (let* ((channel-identity (riece-make-identity (car channels) riece-server-name)) (buffer (riece-channel-buffer channel-identity))) @@ -186,6 +186,7 @@ (riece-format-identity channel-identity t)) message)) "\n"))) + (riece-naming-assert-part user (car channels)) (setq channels (cdr channels))))) (defun riece-handle-kick-message (prefix string) @@ -233,17 +234,17 @@ (user-identity (riece-make-identity user riece-server-name))) ;; If you are talking with the user, quit it. (if (riece-identity-member user-identity riece-current-channels) - (riece-part-channel user)) + (riece-part-channel user-identity)) (setq pointer channels) (while pointer (riece-naming-assert-part user (car pointer)) (setq pointer (cdr pointer))) (let ((buffers - (mapcar - (lambda (channel) - (riece-channel-buffer (riece-make-identity channel - riece-server-name))) - channels))) + (delq nil (mapcar + (lambda (channel) + (riece-channel-buffer (riece-make-identity + channel riece-server-name))) + channels)))) (riece-insert-change buffers (concat @@ -282,11 +283,11 @@ (riece-naming-assert-part user (car pointer)) (setq pointer (cdr pointer))) (let ((buffers - (mapcar - (lambda (channel) - (riece-channel-buffer (riece-make-identity channel - riece-server-name))) - channels))) + (delq nil (mapcar + (lambda (channel) + (riece-channel-buffer (riece-make-identity + channel riece-server-name))) + channels)))) (riece-insert-change buffers (concat