X-Git-Url: https://cgit.sxemacs.org/?a=blobdiff_plain;f=lisp%2Friece-misc.el;h=72c9452c56a523d600e40464eaa677579afd1a1e;hb=eb2799f70ac462926d01485f6576f4aa777d8782;hp=0a68bb1f8712d64c9a4c6b631ac222618da38c04;hpb=47515bac241e69cf3fabf7a4d9102c6a4df56307;p=riece diff --git a/lisp/riece-misc.el b/lisp/riece-misc.el index 0a68bb1..72c9452 100644 --- a/lisp/riece-misc.el +++ b/lisp/riece-misc.el @@ -31,6 +31,7 @@ (require 'riece-channel) (require 'riece-server) (require 'riece-user) +(require 'riece-mode) (defun riece-get-buffer-create (name &optional init-major-mode) (let ((buffer (get-buffer name))) @@ -124,9 +125,10 @@ (while (string-match "^\\([^ ]+\\) +" string) (setq parameters (nconc parameters (list (match-string 1 string))) string (substring string (match-end 0))) - (and (not (equal "" string)) (eq ?: (aref string 0)) - (setq string (substring string 1)) - (throw 'done nil)))) + (when (and (not (equal "" string)) (eq ?: (aref string 0))) + (setq string (substring string 1) + parameters (nconc parameters (list string))) + (throw 'done nil)))) (or (equal "" string) (setq parameters (nconc parameters (list string)))) parameters))) @@ -143,7 +145,16 @@ (riece-with-server-buffer (riece-identity-server target) (let ((modes (riece-channel-get-modes (riece-identity-prefix target)))) (if modes - (concat string " [" (apply #'string modes) "]") + (concat string " [" + (mapconcat + (lambda (mode) + (if (riece-mode-parameter mode) + (format "%c(%s)" + (riece-mode-flag mode) + (riece-mode-parameter mode)) + (char-to-string (riece-mode-flag mode)))) + modes "") + "]") string)))) (defun riece-concat-message (string message)