From: ueno Date: Sun, 18 Jan 2004 00:44:06 +0000 (+0000) Subject: * riece-misc.el (riece-concat-user-status): New function. X-Git-Tag: riece-0_1_8~7 X-Git-Url: http://git.chise.org/gitweb/?a=commitdiff_plain;h=0409dc12fef66f90f93ee19c1e20a290ca4b61c0;p=elisp%2Friece.git * riece-misc.el (riece-concat-user-status): New function. * riece-300.el (riece-handle-302-message): Simplify user status display. (i.e. don't display "not operator", "not away", ...) (riece-handle-352-message): Ditto. --- diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 2fafafa..267b88d 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,11 @@ +2004-01-18 Daiki Ueno + + * riece-misc.el (riece-concat-user-status): New function. + + * riece-300.el (riece-handle-302-message): Simplify user status + display. (i.e. don't display "not operator", "not away", ...) + (riece-handle-352-message): Ditto. + 2004-01-04 Daiki Ueno * riece-lsdb.el (riece-lsdb-add-user): Always pass canonical diff --git a/lisp/riece-300.el b/lisp/riece-300.el index a44fa17..742e9e6 100644 --- a/lisp/riece-300.el +++ b/lisp/riece-300.el @@ -43,26 +43,27 @@ "\\)\\(\\*\\)?=\\([-+]\\)\\([^ ]+\\)") (car replies)) (let ((user (match-string 1 (car replies))) + (operator (not (null (match-beginning 2)))) (away (eq (match-string 3 (car replies)) ?-)) (user-at-host (match-string 4 (car replies))) - (operator (not (null (match-beginning 2))))) + status) + (if away + (setq status (cons "away" status))) + (if operator + (setq status (cons "operator" status))) (riece-user-toggle-away user away) (riece-user-toggle-operator user operator) (riece-insert-info (list riece-dialogue-buffer riece-others-buffer) (concat (riece-concat-server-name - (format "%s is (%s) [%s, %s]" - (riece-format-identity - (riece-make-identity user riece-server-name) - t) - (riece-strip-user-at-host user-at-host) - (if operator - "operator" - "not operator") - (if away - "away" - "not away"))) + (riece-concat-user-status + status + (format "%s is (%s)" + (riece-format-identity + (riece-make-identity user riece-server-name) + t) + (riece-strip-user-at-host user-at-host)))) "\n")))) (setq replies (cdr replies))) (riece-update-status-indicators) @@ -350,7 +351,7 @@ (name (substring string (match-end 0))) (buffer (riece-channel-buffer (riece-make-identity channel riece-server-name))) - (info (format "%10s = %s (%s) [%s, %s, %s hops, on %s]" + (info (format "%10s = %s (%s)" (concat (if (memq flag '(?@ ?+)) (char-to-string flag) @@ -360,19 +361,24 @@ t)) name (riece-strip-user-at-host - (concat user "@" host)) - (if operator - "operator" - "not operator") - (if away - "away" - "not away") - hops - server))) + (concat user "@" host)))) + status) + (if operator + (setq status (cons "operator" status))) + (if away + (setq status (cons "away" status))) + (unless (equal hops "0") + (setq status (cons (concat "on " server) + (cons (concat hops " hops") + status)))) + (if status + (setq status (nreverse status))) (riece-naming-assert-join nick channel) (riece-user-toggle-away user away) (riece-user-toggle-operator user operator) - (riece-insert-info buffer (concat info "\n")) + (riece-insert-info buffer (concat (riece-concat-user-status + status info) + "\n")) (riece-insert-info (if (and riece-channel-buffer-mode (not (eq buffer riece-channel-buffer))) @@ -380,12 +386,14 @@ riece-dialogue-buffer) (concat (riece-concat-server-name - (concat - (riece-format-identity - (riece-make-identity channel riece-server-name) - t) - " " - info)) + (riece-concat-user-status + status + (concat + (riece-format-identity + (riece-make-identity channel riece-server-name) + t) + " " + info))) "\n")) (riece-redisplay-buffers)))) diff --git a/lisp/riece-misc.el b/lisp/riece-misc.el index e3ff301..0a68bb1 100644 --- a/lisp/riece-misc.el +++ b/lisp/riece-misc.el @@ -157,6 +157,11 @@ string (concat string " (from " riece-server-name ")"))) +(defun riece-concat-user-status (status string) + (if status + (concat string " [" (mapconcat #'identity status ", ") "]") + string)) + (defun riece-prefix-user-at-host (prefix) (if (string-match "!" prefix) (substring prefix (match-end 0))