# HG changeset patch # User Michael Olson # Date 1203793136 0 # Node ID 84357f6e06d1b798b33f630f2c0b8e58f8d5b1a9 # Parent e26b036a79a194d44158d16c7a66e33b59c9ec82 ERC: Sync from upstream. diff -r e26b036a79a1 -r 84357f6e06d1 lisp/erc/ChangeLog --- a/lisp/erc/ChangeLog Sat Feb 23 18:36:58 2008 +0000 +++ b/lisp/erc/ChangeLog Sat Feb 23 18:58:56 2008 +0000 @@ -1,3 +1,36 @@ +2008-02-20 Michael Olson + + * erc.el (erc-notice-face): Fix this face for Emacs 21 users. + +2008-02-04 Jeremy Maitin-Shepard + + * erc.el (erc-cmd-QUERY): Bind the value of `erc-auto-query' to + `erc-query-display' rather than `erc-join-buffer'. This fixes a + bug where the value of erc-auto-query was being ignored. + +2008-01-31 Michael Olson + + * erc-dcc.el (erc-dcc-do-GET-command, erc-dcc-do-SEND-command): + Improve docstring. If FILE argument is split into multiple + arguments, re-join them into a single string, separated by a + space. This fixes an issue where the user wants to send or + receive a file with spaces in its name. It is assumed that no one + will try sending or receiving a file with multiple consecutive + spaces in its name, otherwise this fix will fail. + + * erc.el (erc-mode-map): Add binding for C-c C-x to + erc-quit-server, since rcirc.el binds its quit command in a + similar manner. Thanks to Jari Aalto for the suggestion. + +2008-01-28 Diane Murray + + * erc-list-old.el (list-old): Define module as list-old, not list. + This fixes a bug where an unknown module error would occur when + starting ERC and using the list-old module. + + * erc-track.el (erc-track-find-face): If no choice was found + return nil to use the default mode-line faces. + 2008-01-26 Michael Olson * erc.el (erc-version-string): Release ERC 5.3. @@ -7,9 +40,12 @@ users of the version that comes with Emacs, and they will have erc-list.el by Emacs 23. (MISC): Add ChangeLog.07. + (elpa): Fix build issue. Add proper version to erc-pkg.el. * README.extras: Mention Emacs 23. + * erc-pkg.el: Make the version string a template. + * erc.texi (Obtaining ERC): Update extras URLs for 5.3. (Development): Write instructions for git, and remove those for Arch. diff -r e26b036a79a1 -r 84357f6e06d1 lisp/erc/erc-dcc.el --- a/lisp/erc/erc-dcc.el Sat Feb 23 18:36:58 2008 +0000 +++ b/lisp/erc/erc-dcc.el Sat Feb 23 18:58:56 2008 +0000 @@ -474,7 +474,12 @@ ?n (erc-extract-nick (plist-get ret :nick)))))) t)) -(defun erc-dcc-do-GET-command (proc nick &optional file) +(defun erc-dcc-do-GET-command (proc nick &rest file) + "Do a DCC GET command. NICK is the person who is sending the file. +FILE is the filename. If FILE is split into multiple arguments, +re-join the arguments, separated by a space. +PROC is the server process." + (setq file (and file (mapconcat #'identity file " "))) (let* ((elt (erc-dcc-member :nick nick :type 'GET)) (filename (or file (plist-get elt :file) "unknown"))) (if elt @@ -547,8 +552,11 @@ 'dcc-list-end) t)) -(defun erc-dcc-do-SEND-command (proc nick file) - "Offer FILE to NICK by sending a ctcp dcc send message." +(defun erc-dcc-do-SEND-command (proc nick &rest file) + "Offer FILE to NICK by sending a ctcp dcc send message. +If FILE is split into multiple arguments, re-join the arguments, +separated by a space." + (setq file (and file (mapconcat #'identity file " "))) (if (file-exists-p file) (progn (erc-display-message diff -r e26b036a79a1 -r 84357f6e06d1 lisp/erc/erc-track.el --- a/lisp/erc/erc-track.el Sat Feb 23 18:36:58 2008 +0000 +++ b/lisp/erc/erc-track.el Sat Feb 23 18:58:56 2008 +0000 @@ -854,7 +854,7 @@ (when (featurep 'xemacs) (erc-modified-channels-object nil)) (setq erc-modified-channels-object - (erc-modified-channels-object strings)))))) + (erc-modified-channels-object strings)))))) (defun erc-modified-channels-remove-buffer (buffer) "Remove BUFFER from `erc-modified-channels-alist'." @@ -867,17 +867,16 @@ (defun erc-track-find-face (faces) "Return the face to use in the modeline from the faces in FACES. -If `erc-track-faces-priority-list' is set, the one from FACES who is -first in that list will be used. +If `erc-track-faces-priority-list' is set, the one from FACES who +is first in that list will be used. If nothing matches or if +`erc-track-faces-priority-list' is not set, the default mode-line +faces will be used. If `erc-track-faces-normal-list' is non-nil, use it to produce a blinking effect that indicates channel activity when the first element in FACES and the highest-ranking face among the rest of FACES are both members of `erc-track-faces-normal-list'. -If `erc-track-faces-priority-list' is not set, the first element -in FACES will be used. - If one of the faces is a list, then it will be ranked according to its highest-tanking face member. A list of faces including that member will take priority over just the single member @@ -892,7 +891,7 @@ (when (member candidate (cdr faces)) (throw 'face candidate))))))) (cond ((null choice) - (car faces)) + nil) ((and (member choice erc-track-faces-normal-list) (member no-first erc-track-faces-normal-list)) no-first) diff -r e26b036a79a1 -r 84357f6e06d1 lisp/erc/erc.el --- a/lisp/erc/erc.el Sat Feb 23 18:36:58 2008 +0000 +++ b/lisp/erc/erc.el Sat Feb 23 18:58:56 2008 +0000 @@ -1110,6 +1110,7 @@ (define-key map "\C-c\C-r" 'erc-remove-text-properties-region) (define-key map "\C-c\C-t" 'erc-set-topic) (define-key map "\C-c\C-u" 'erc-kill-input) + (define-key map "\C-c\C-x" 'erc-quit-server) (define-key map "\M-\t" 'ispell-complete-word) (define-key map "\t" 'erc-complete-word) @@ -1168,7 +1169,8 @@ :group 'erc-faces) (defface erc-notice-face - (if (featurep 'xemacs) + (if (or (featurep 'xemacs) + (< emacs-major-version 22)) '((t (:bold t :foreground "blue"))) '((((class color) (min-colors 88)) (:bold t :foreground "SlateBlue")) @@ -4026,7 +4028,7 @@ (string= target (erc-current-nick))) (not (erc-get-buffer query proc)) (not (erc-is-message-ctcp-and-not-action-p msg)) - (let ((erc-join-buffer erc-auto-query)) + (let ((erc-query-display erc-auto-query)) (erc-cmd-QUERY query)) nil))))