X-Git-Url: https://cgit.sxemacs.org/?p=riece;a=blobdiff_plain;f=lisp%2Friece-handle.el;h=0e35d5cf2fc537519819316750e9557e08f9a1eb;hp=e35515eb75b9adbb737a08bd4113e585a6857185;hb=0c4cac0995b71622df3bf2616b9cfed407c42b2a;hpb=56f55f8902c6603989cd6b03d28bc9ea72959678 diff --git a/lisp/riece-handle.el b/lisp/riece-handle.el index e35515e..0e35d5c 100644 --- a/lisp/riece-handle.el +++ b/lisp/riece-handle.el @@ -42,19 +42,12 @@ (riece-make-identity channel riece-server-name)) channels)))) (riece-naming-assert-rename old new) - (let ((pointer (riece-identity-member old-identity - riece-current-channels))) - (when pointer - (setcar pointer new-identity) - (with-current-buffer (riece-channel-buffer-name new-identity) - (rename-buffer (riece-channel-buffer-name new-identity))) - (if (riece-identity-equal new-identity riece-current-channel) - (riece-switch-to-channel new-identity)) - (setq channels (cons new-identity channels)))) + (if (riece-identity-member old-identity riece-current-channels) + (setq channels (cons new channels))) (riece-insert-change (mapcar (lambda (channel) - (riece-channel-buffer-name - (riece-make-identity channel riece-server-name))) + (riece-channel-buffer (riece-make-identity + channel riece-server-name))) channels) (format "%s -> %s\n" (riece-format-identity old-identity t) @@ -114,10 +107,12 @@ (user-identity (riece-make-identity user riece-server-name))) (while channels (riece-naming-assert-join user (car channels)) + (if (and riece-gather-channel-modes + (riece-identity-equal-no-server user riece-real-nickname)) + (riece-send-string (format "MODE %s\r\n" (car channels)))) (let* ((channel-identity (riece-make-identity (car channels) riece-server-name)) - (buffer (get-buffer (riece-channel-buffer-name - channel-identity)))) + (buffer (riece-channel-buffer channel-identity))) (riece-insert-change buffer (format "%s (%s) has joined %s\n" @@ -151,8 +146,7 @@ (riece-naming-assert-part user (car channels)) (let* ((channel-identity (riece-make-identity (car channels) riece-server-name)) - (buffer (get-buffer (riece-channel-buffer-name - channel-identity)))) + (buffer (riece-channel-buffer channel-identity))) (riece-insert-change buffer (concat @@ -188,7 +182,7 @@ (channel-identity (riece-make-identity channel riece-server-name)) (user-identity (riece-make-identity user riece-server-name))) (riece-naming-assert-part user channel) - (let ((buffer (get-buffer (riece-channel-buffer-name channel-identity)))) + (let ((buffer (riece-channel-buffer channel-identity))) (riece-insert-change buffer (concat @@ -232,9 +226,8 @@ (let ((buffers (mapcar (lambda (channel) - (get-buffer - (riece-channel-buffer-name - (riece-make-identity channel riece-server-name)))) + (riece-channel-buffer (riece-make-identity channel + riece-server-name))) channels))) (riece-insert-change buffers @@ -277,9 +270,8 @@ (let ((buffers (mapcar (lambda (channel) - (get-buffer - (riece-channel-buffer-name - (riece-make-identity channel riece-server-name)))) + (riece-channel-buffer (riece-make-identity channel + riece-server-name))) channels))) (riece-insert-change buffers @@ -333,7 +325,7 @@ (user-identity (riece-make-identity user riece-server-name)) (channel-identity (riece-make-identity channel riece-server-name))) (riece-channel-set-topic (riece-get-channel channel) topic) - (let ((buffer (get-buffer (riece-channel-buffer-name channel-identity)))) + (let ((buffer (riece-channel-buffer channel-identity))) (riece-insert-change buffer (format "Topic by %s: %s\n" @@ -392,8 +384,7 @@ string (substring string (match-end 0))) (riece-parse-channel-modes string channel) (let* ((channel-identity (riece-make-identity channel riece-server-name)) - (buffer (get-buffer (riece-channel-buffer-name - channel-identity)))) + (buffer (riece-channel-buffer channel-identity))) (riece-insert-change buffer (format "Mode by %s: %s\n"