emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] /srv/bzr/emacs/emacs-23 r99999: Handle multiple entries in


From: Chong Yidong
Subject: [Emacs-diffs] /srv/bzr/emacs/emacs-23 r99999: Handle multiple entries in some RCIRC commands (Bug#6894).
Date: Sun, 22 Aug 2010 18:44:55 -0400
User-agent: Bazaar (2.0.3)

------------------------------------------------------------
revno: 99999
author: Leo <address@hidden>
committer: Chong Yidong <address@hidden>
branch nick: emacs-23
timestamp: Sun 2010-08-22 18:44:55 -0400
message:
  Handle multiple entries in some RCIRC commands (Bug#6894).
  
  * lisp/net/rcirc.el (rcirc-add-or-remove): Accept a list of elements.
  (ignore, bright, dim, keyword): Split list of nicknames before
  passing to rcirc-add-or-remove.
modified:
  lisp/ChangeLog
  lisp/net/rcirc.el
=== modified file 'lisp/ChangeLog'
--- a/lisp/ChangeLog    2010-08-22 19:30:26 +0000
+++ b/lisp/ChangeLog    2010-08-22 22:44:55 +0000
@@ -1,3 +1,9 @@
+2010-08-22  Leo  <address@hidden>
+
+       * net/rcirc.el (rcirc-add-or-remove): Accept a list of elements.
+       (ignore, bright, dim, keyword): Split list of nicknames before
+       passing to rcirc-add-or-remove (Bug#6894).
+
 2010-08-22  Chong Yidong  <address@hidden>
 
        * emacs-lisp/easy-mmode.el (define-minor-mode): Doc fix (Bug#6880).

=== modified file 'lisp/net/rcirc.el'
--- a/lisp/net/rcirc.el 2010-06-07 21:20:44 +0000
+++ b/lisp/net/rcirc.el 2010-08-22 22:44:55 +0000
@@ -1083,7 +1083,7 @@
     (when (not (equal 0 (- (point) rcirc-prompt-end-marker)))
       ;; delete a trailing newline
       (when (eq (point) (point-at-bol))
-       (delete-backward-char 1))
+       (delete-char -1))
       (let ((input (buffer-substring-no-properties
                    rcirc-prompt-end-marker (point))))
        (dolist (line (split-string input "\n"))
@@ -2110,12 +2110,13 @@
   (rcirc-send-string process (format "PRIVMSG %s :\C-aACTION %s\C-a"
                                      target args)))
 
-(defun rcirc-add-or-remove (set &optional elt)
-  (if (and elt (not (string= "" elt)))
-      (if (member-ignore-case elt set)
-         (delete elt set)
-       (cons elt set))
-    set))
+(defun rcirc-add-or-remove (set &rest elements)
+  (dolist (elt elements)
+    (if (and elt (not (string= "" elt)))
+       (setq set (if (member-ignore-case elt set)
+                     (delete elt set)
+                   (cons elt set)))))
+  set)
 
 (defun-rcirc-command ignore (nick)
   "Manage the ignore list.
@@ -2123,7 +2124,9 @@
 nicks when no NICK is given.  When listing ignored nicks, the
 ones added to the list automatically are marked with an asterisk."
   (interactive "sToggle ignoring of nick: ")
-  (setq rcirc-ignore-list (rcirc-add-or-remove rcirc-ignore-list nick))
+  (setq rcirc-ignore-list
+       (apply #'rcirc-add-or-remove rcirc-ignore-list
+              (split-string nick nil t)))
   (rcirc-print process nil "IGNORE" target
               (mapconcat
                (lambda (nick)
@@ -2135,14 +2138,18 @@
 (defun-rcirc-command bright (nick)
   "Manage the bright nick list."
   (interactive "sToggle emphasis of nick: ")
-  (setq rcirc-bright-nicks (rcirc-add-or-remove rcirc-bright-nicks nick))
+  (setq rcirc-bright-nicks
+       (apply #'rcirc-add-or-remove rcirc-bright-nicks
+              (split-string nick nil t)))
   (rcirc-print process nil "BRIGHT" target
               (mapconcat 'identity rcirc-bright-nicks " ")))
 
 (defun-rcirc-command dim (nick)
   "Manage the dim nick list."
   (interactive "sToggle deemphasis of nick: ")
-  (setq rcirc-dim-nicks (rcirc-add-or-remove rcirc-dim-nicks nick))
+  (setq rcirc-dim-nicks
+       (apply #'rcirc-add-or-remove rcirc-dim-nicks
+              (split-string nick nil t)))
   (rcirc-print process nil "DIM" target
               (mapconcat 'identity rcirc-dim-nicks " ")))
 
@@ -2151,7 +2158,9 @@
 Mark KEYWORD, unmark KEYWORD if already marked, or list marked
 keywords when no KEYWORD is given."
   (interactive "sToggle highlighting of keyword: ")
-  (setq rcirc-keywords (rcirc-add-or-remove rcirc-keywords keyword))
+  (setq rcirc-keywords
+       (apply #'rcirc-add-or-remove rcirc-keywords
+              (split-string keyword nil t)))
   (rcirc-print process nil "KEYWORD" target
               (mapconcat 'identity rcirc-keywords " ")))
 


reply via email to

[Prev in Thread] Current Thread [Next in Thread]