* 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-18 Daiki Ueno <ueno@unixuser.org>
+
+ * 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 <ueno@unixuser.org>
* riece-lsdb.el (riece-lsdb-add-user): Always pass canonical
2004-01-04 Daiki Ueno <ueno@unixuser.org>
* riece-lsdb.el (riece-lsdb-add-user): Always pass canonical
"\\)\\(\\*\\)?=\\([-+]\\)\\([^ ]+\\)")
(car replies))
(let ((user (match-string 1 (car replies)))
"\\)\\(\\*\\)?=\\([-+]\\)\\([^ ]+\\)")
(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)))
(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
(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)
"\n"))))
(setq replies (cdr replies)))
(riece-update-status-indicators)
(name (substring string (match-end 0)))
(buffer (riece-channel-buffer (riece-make-identity
channel riece-server-name)))
(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)
(concat
(if (memq flag '(?@ ?+))
(char-to-string flag)
t))
name
(riece-strip-user-at-host
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-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)))
(riece-insert-info
(if (and riece-channel-buffer-mode
(not (eq buffer riece-channel-buffer)))
riece-dialogue-buffer)
(concat
(riece-concat-server-name
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))))
"\n"))
(riece-redisplay-buffers))))
string
(concat string " (from " riece-server-name ")")))
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))
(defun riece-prefix-user-at-host (prefix)
(if (string-match "!" prefix)
(substring prefix (match-end 0))