X-Git-Url: http://cgit.sxemacs.org/?a=blobdiff_plain;f=lisp%2Friece-display.el;h=fb614581abf9f13e79fd1b4e42a25ba4a045bcaf;hb=7b398394dc42099e919682f965fab0f61383ce76;hp=a3d59e20f93c5c167eaed17ce0e4cad7adcc3bc2;hpb=78ec1783a8452114e6d47f72e150f692124f8abe;p=riece diff --git a/lisp/riece-display.el b/lisp/riece-display.el index a3d59e2..fb61458 100644 --- a/lisp/riece-display.el +++ b/lisp/riece-display.el @@ -1,4 +1,4 @@ -;;; riece-display.el --- buffer arrangement +;;; riece-display.el --- buffer arrangement -*- lexical-binding: t -*- ;; Copyright (C) 1998-2003 Daiki Ueno ;; Author: Daiki Ueno @@ -19,8 +19,8 @@ ;; You should have received a copy of the GNU General Public License ;; along with GNU Emacs; see the file COPYING. If not, write to the -;; Free Software Foundation, Inc., 59 Temple Place - Suite 330, -;; Boston, MA 02111-1307, USA. +;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +;; Boston, MA 02110-1301, USA. ;;; Code: @@ -29,8 +29,7 @@ (require 'riece-misc) (require 'riece-layout) (require 'riece-signal) - -(autoload 'derived-mode-class "derived") +(require 'riece-mcat) (defvar riece-channel-buffer-format "*Channel:%s*" "Format of channel message buffer.") @@ -52,16 +51,14 @@ Local to the buffer in `riece-buffer-list'.") (defun riece-display-connect-signals () (riece-connect-signal 'channel-list-changed - (lambda (signal handback) - (save-excursion - (set-buffer riece-channel-list-buffer) + (lambda (_signal _handback) + (with-current-buffer riece-channel-list-buffer (run-hooks 'riece-update-buffer-functions)) (riece-update-channel-list-indicator))) (riece-connect-signal 'user-list-changed - (lambda (signal handback) - (save-excursion - (set-buffer riece-user-list-buffer) + (lambda (_signal _handback) + (with-current-buffer riece-user-list-buffer (run-hooks 'riece-update-buffer-functions))) (lambda (signal) (and riece-current-channel @@ -69,7 +66,7 @@ Local to the buffer in `riece-buffer-list'.") riece-current-channel)))) (riece-connect-signal 'channel-switched - (lambda (signal handback) + (lambda (_signal _handback) (riece-update-status-indicators) (riece-update-channel-status-indicator) (riece-update-channel-indicator) @@ -81,7 +78,7 @@ Local to the buffer in `riece-buffer-list'.") (riece-redraw-layout)))) (riece-connect-signal 'user-joined-channel - (lambda (signal handback) + (lambda (_signal _handback) (riece-emit-signal 'user-list-changed riece-current-channel)) (lambda (signal) (and riece-current-channel @@ -91,7 +88,7 @@ Local to the buffer in `riece-buffer-list'.") (riece-current-nickname)))))) (riece-connect-signal 'user-joined-channel - (lambda (signal handback) + (lambda (signal _handback) (riece-join-channel (nth 1 (riece-signal-args signal))) (riece-switch-to-channel (nth 1 (riece-signal-args signal))) (setq riece-join-channel-candidate nil)) @@ -100,7 +97,7 @@ Local to the buffer in `riece-buffer-list'.") (riece-current-nickname)))) (riece-connect-signal 'user-left-channel - (lambda (signal handback) + (lambda (_signal _handback) (riece-emit-signal 'user-list-changed riece-current-channel)) (lambda (signal) (and riece-current-channel @@ -110,14 +107,14 @@ Local to the buffer in `riece-buffer-list'.") (riece-current-nickname)))))) (riece-connect-signal 'user-left-channel - (lambda (signal handback) + (lambda (signal _handback) (riece-part-channel (nth 1 (riece-signal-args signal)))) (lambda (signal) (riece-identity-equal (car (riece-signal-args signal)) (riece-current-nickname)))) (riece-connect-signal 'user-renamed - (lambda (signal handback) + (lambda (_signal _handback) (riece-emit-signal 'user-list-changed riece-current-channel)) (lambda (signal) (and riece-current-channel @@ -134,7 +131,7 @@ Local to the buffer in `riece-buffer-list'.") t)))))) (riece-connect-signal 'user-renamed - (lambda (signal handback) + (lambda (_signal _handback) (riece-update-status-indicators) (riece-update-channel-indicator) (force-mode-line-update t)) @@ -143,7 +140,7 @@ Local to the buffer in `riece-buffer-list'.") (riece-current-nickname)))) (riece-connect-signal 'user-renamed - (lambda (signal handback) + (lambda (signal _handback) (riece-switch-to-channel (nth 1 (riece-signal-args signal)))) (lambda (signal) (and riece-current-channel @@ -151,7 +148,7 @@ Local to the buffer in `riece-buffer-list'.") riece-current-channel)))) (riece-connect-signal 'user-renamed - (lambda (signal handback) + (lambda (signal _handback) (let* ((old-identity (car (riece-signal-args signal))) (new-identity (nth 1 (riece-signal-args signal))) (pointer (riece-identity-member old-identity @@ -168,7 +165,7 @@ Local to the buffer in `riece-buffer-list'.") riece-channel-buffer-alist)))))))) (riece-connect-signal 'user-away-changed - (lambda (signal handback) + (lambda (_signal _handback) (riece-update-status-indicators) (force-mode-line-update t)) (lambda (signal) @@ -176,7 +173,7 @@ Local to the buffer in `riece-buffer-list'.") (riece-current-nickname)))) (riece-connect-signal 'user-operator-changed - (lambda (signal handback) + (lambda (_signal _handback) (riece-update-status-indicators) (force-mode-line-update t)) (lambda (signal) @@ -184,7 +181,7 @@ Local to the buffer in `riece-buffer-list'.") (riece-current-nickname)))) (riece-connect-signal 'channel-topic-changed - (lambda (signal handback) + (lambda (_signal _handback) (riece-update-long-channel-indicator) (force-mode-line-update t)) (lambda (signal) @@ -193,7 +190,7 @@ Local to the buffer in `riece-buffer-list'.") riece-current-channel)))) (riece-connect-signal 'channel-modes-changed - (lambda (signal handback) + (lambda (_signal _handback) (riece-update-long-channel-indicator) (force-mode-line-update t)) (lambda (signal) @@ -202,7 +199,7 @@ Local to the buffer in `riece-buffer-list'.") riece-current-channel)))) (riece-connect-signal 'channel-operators-changed - (lambda (signal handback) + (lambda (_signal _handback) (riece-update-channel-status-indicator) (riece-emit-signal 'user-list-changed riece-current-channel)) (lambda (signal) @@ -211,7 +208,7 @@ Local to the buffer in `riece-buffer-list'.") riece-current-channel)))) (riece-connect-signal 'channel-speakers-changed - (lambda (signal handback) + (lambda (_signal _handback) (riece-update-channel-status-indicator) (riece-emit-signal 'user-list-changed riece-current-channel)) (lambda (signal) @@ -220,7 +217,7 @@ Local to the buffer in `riece-buffer-list'.") riece-current-channel)))) (riece-connect-signal 'buffer-freeze-changed - (lambda (signal handback) + (lambda (_signal _handback) (riece-update-status-indicators) (force-mode-line-update t)))) @@ -280,7 +277,7 @@ Local to the buffer in `riece-buffer-list'.") (setq riece-channel-indicator (if riece-current-channel (riece-format-identity riece-current-channel) - "None"))) + (riece-mcat "None")))) (defun riece-update-long-channel-indicator () (setq riece-long-channel-indicator @@ -292,7 +289,7 @@ Local to the buffer in `riece-buffer-list'.") riece-current-channel (riece-format-identity riece-current-channel))) (riece-format-identity riece-current-channel)) - "None"))) + (riece-mcat "None")))) (defun riece-format-identity-for-channel-list-indicator (index identity) (or (run-hook-with-args-until-success @@ -330,7 +327,7 @@ Local to the buffer in `riece-buffer-list'.") (setq pointer (cdr (cdr pointer)))) (setq riece-channel-list-indicator (riece-normalize-modeline-string riece-channel-list-indicator))) - (setq riece-channel-list-indicator "No channel"))) + (setq riece-channel-list-indicator (riece-mcat "No channel")))) (defun riece-update-status-indicators () (let ((server-name (riece-current-server-name))) @@ -347,15 +344,17 @@ Local to the buffer in `riece-buffer-list'.") (riece-user-get-operator riece-real-nickname)) "O" "-") - riece-user-indicator - (riece-format-identity - (riece-make-identity riece-real-nickname riece-server-name) - t)))))) + ) + (if riece-real-nickname + (setq riece-user-indicator + (riece-format-identity + (riece-make-identity riece-real-nickname + riece-server-name) + t))))))) (walk-windows (lambda (window) (with-current-buffer (window-buffer window) - (if (eq (derived-mode-class major-mode) - 'riece-dialogue-mode) + (if (riece-derived-mode-p 'riece-dialogue-mode) (setq riece-freeze-indicator (if (eq riece-freeze 'own) "f" @@ -391,8 +390,7 @@ Local to the buffer in `riece-buffer-list'.") (setq buffers riece-buffer-list)) (while buffers (if (buffer-live-p (car buffers)) - (save-excursion - (set-buffer (car buffers)) + (with-current-buffer (car buffers) (run-hooks 'riece-update-buffer-functions))) (setq buffers (cdr buffers))) (run-hooks 'riece-update-indicator-functions) @@ -421,10 +419,9 @@ Local to the buffer in `riece-buffer-list'.") (riece-channel-mode) (let (buffer-read-only) (riece-insert-info (current-buffer) - (concat "Created on " + (format (riece-mcat "Created on %s\n") (funcall riece-format-time-function - (current-time)) - "\n")) + (current-time)))) (run-hook-with-args 'riece-channel-buffer-create-functions identity))) (current-buffer))) @@ -483,10 +480,12 @@ Local to the buffer in `riece-buffer-list'.") (defun riece-part-channel (identity) (let ((pointer (riece-identity-member identity riece-current-channels))) - (if pointer - (setcar pointer nil)) + (unless pointer + (error "No such channel!")) + (setcar pointer nil) (if (riece-identity-equal identity riece-current-channel) - (riece-switch-to-nearest-channel pointer)) + (riece-switch-to-nearest-channel pointer) + (riece-emit-signal 'channel-list-changed)) (funcall riece-buffer-dispose-function (riece-channel-buffer identity)))) (defun riece-redisplay-buffers (&optional force)