summaryrefslogtreecommitdiff
path: root/lisp/erc
diff options
context:
space:
mode:
authorMiles Bader <miles@gnu.org>2007-11-11 00:56:44 +0000
committerMiles Bader <miles@gnu.org>2007-11-11 00:56:44 +0000
commitf23d76bdefbd4c06e14d69e99e50d35ce91c8226 (patch)
treeded28d1da6df2d0135514bac83074f4ca1c9099a /lisp/erc
parente2d092da5980a7d05a5428074f8eb4925fa801e8 (diff)
parenta457417ee5ba797ab1c91d35ee957bb7a7f8d4b6 (diff)
downloademacs-f23d76bdefbd4c06e14d69e99e50d35ce91c8226.tar.gz
emacs-f23d76bdefbd4c06e14d69e99e50d35ce91c8226.tar.bz2
emacs-f23d76bdefbd4c06e14d69e99e50d35ce91c8226.zip
Merge from emacs--devo--0
Revision: emacs@sv.gnu.org/emacs--unicode--0--patch-283
Diffstat (limited to 'lisp/erc')
-rw-r--r--lisp/erc/ChangeLog41
-rw-r--r--lisp/erc/erc-compat.el3
-rw-r--r--lisp/erc/erc-ibuffer.el4
-rw-r--r--lisp/erc/erc-log.el12
-rw-r--r--lisp/erc/erc-stamp.el4
-rw-r--r--lisp/erc/erc.el26
6 files changed, 70 insertions, 20 deletions
diff --git a/lisp/erc/ChangeLog b/lisp/erc/ChangeLog
index 09882be34b8..929df097790 100644
--- a/lisp/erc/ChangeLog
+++ b/lisp/erc/ChangeLog
@@ -1,3 +1,22 @@
+2007-11-01 Michael Olson <mwolson@gnu.org>
+
+ * erc-compat.el (erc-set-write-file-functions): New compatibility
+ function to set the write hooks appropriately.
+
+ * erc-log.el (erc-log-setup-logging): Use
+ erc-set-write-file-functions. This fixes a byte-compiler warning.
+
+ * erc-stamp.el: Silence byte-compiler warning about
+ erc-fill-column.
+
+ * erc.el (erc-with-all-buffers-of-server): Bind the result of
+ mapcar to a variable in order to silence a byte-compiler warning.
+
+2007-10-29 Michael Olson <mwolson@gnu.org>
+
+ * erc-ibuffer.el (erc-modified-channels-alist): Use
+ eval-when-compile, and explain why we are doing this.
+
2007-10-25 Dan Nicolaescu <dann@ics.uci.edu>
* erc-ibuffer.el (erc-modified-channels-alist): Pacify
@@ -8,7 +27,27 @@
* erc-track.el (erc-modified-channels-update): Use mapc rather
than mapcar.
-2007-09-18 Exal de Jesus Garcia Carrillo <exal@gmx.de> (tiny change)
+2007-10-12 Diane Murray <disumu@x3y2z1.net>
+
+ * erc.el (erc-join-channel): Prompt for channel key if C-u or
+ another prefix-arg was typed.
+
+ * NEWS: Noted this change.
+
+2007-10-07 Michael Olson <mwolson@gnu.org>
+
+ * erc.el (erc-cmd-ME'S): New command that handles the case where
+ someone types "/me's". It concatenates the text " 's" to the
+ beginning of the input and then sends the result like a normal
+ "/me" command.
+ (erc-command-regexp): Permit single-quote character.
+
+2007-09-30 Aidan Kehoe <kehoea@parhasard.net> (tiny change)
+
+ * erc-log.el (erc-save-buffer-in-logs): Prevent spurious warnings
+ when looking at a log file and concurrently saving to it.
+
+2007-09-18 Exal de Jesus Garcia Carrillo <exal@gnu.org> (tiny change)
* erc.texi (Special-Features): Fix small typo.
diff --git a/lisp/erc/erc-compat.el b/lisp/erc/erc-compat.el
index 47bdd94ade2..d6591415867 100644
--- a/lisp/erc/erc-compat.el
+++ b/lisp/erc/erc-compat.el
@@ -50,6 +50,9 @@ See `erc-encoding-coding-alist'."
(defalias 'erc-delete-dups 'delete-dups)
(defalias 'erc-replace-regexp-in-string 'replace-regexp-in-string)
+(defun erc-set-write-file-functions (new-val)
+ (set (make-local-variable 'write-file-functions) new-val))
+
(defvar erc-emacs-build-time
(if (stringp emacs-build-time)
emacs-build-time
diff --git a/lisp/erc/erc-ibuffer.el b/lisp/erc/erc-ibuffer.el
index e4de3c1fe50..76c2d2b18b1 100644
--- a/lisp/erc/erc-ibuffer.el
+++ b/lisp/erc/erc-ibuffer.el
@@ -71,7 +71,9 @@
(string-match qualifier (or erc-server-announced-name
erc-session-server)))))
-(defvar erc-modified-channels-alist)
+;; Silence the byte-compiler
+(eval-when-compile
+ (defvar erc-modified-channels-alist))
(define-ibuffer-column erc-modified (:name "M")
(if (and (boundp 'erc-track-mode)
diff --git a/lisp/erc/erc-log.el b/lisp/erc/erc-log.el
index 1733b3d1b00..8b5e07a383e 100644
--- a/lisp/erc/erc-log.el
+++ b/lisp/erc/erc-log.el
@@ -268,14 +268,7 @@ The current buffer is given by BUFFER."
(with-current-buffer buffer
(auto-save-mode -1)
(setq buffer-file-name nil)
- (cond ((boundp 'write-file-functions)
- (set (make-local-variable 'write-file-functions)
- '(erc-save-buffer-in-logs)))
- ((boundp 'local-write-file-hooks)
- (setq local-write-file-hooks '(erc-save-buffer-in-logs)))
- (t
- (set (make-local-variable 'write-file-hooks)
- '(erc-save-buffer-in-logs))))
+ (erc-set-write-file-functions '(erc-save-buffer-in-logs))
(when erc-log-insert-log-on-open
(ignore-errors (insert-file-contents (erc-current-logfile))
(move-marker erc-last-saved-position
@@ -415,7 +408,8 @@ You can save every individual message by putting this function on
(or buffer (setq buffer (current-buffer)))
(when (erc-logging-enabled buffer)
(let ((file (erc-current-logfile buffer))
- (coding-system erc-log-file-coding-system))
+ (coding-system erc-log-file-coding-system)
+ (inhibit-clash-detection t)) ; needed for XEmacs
(save-excursion
(with-current-buffer buffer
(save-restriction
diff --git a/lisp/erc/erc-stamp.el b/lisp/erc/erc-stamp.el
index 3b7f5ba18f2..64b04051d91 100644
--- a/lisp/erc/erc-stamp.el
+++ b/lisp/erc/erc-stamp.el
@@ -264,6 +264,10 @@ property to get to the POSth column."
(list 'space ':align-to pos)))
(insert string))
+;; Silence byte-compiler
+(eval-when-compile
+ (defvar erc-fill-column))
+
(defun erc-insert-timestamp-right (string)
"Insert timestamp on the right side of the screen.
STRING is the timestamp to insert. The function is a possible value
diff --git a/lisp/erc/erc.el b/lisp/erc/erc.el
index 2c5786adff3..fab8f7ca1b9 100644
--- a/lisp/erc/erc.el
+++ b/lisp/erc/erc.el
@@ -1680,13 +1680,16 @@ nil."
;; Make the evaluation have the correct order
(let ((pre (make-symbol "pre"))
(pro (make-symbol "pro")))
- `(let ((,pro ,process)
- (,pre ,pred))
- (mapcar (lambda (buffer)
- (with-current-buffer buffer
- ,@forms))
- (erc-buffer-list ,pre
- ,pro)))))
+ `(let* ((,pro ,process)
+ (,pre ,pred)
+ (res (mapcar (lambda (buffer)
+ (with-current-buffer buffer
+ ,@forms))
+ (erc-buffer-list ,pre
+ ,pro))))
+ ;; Silence the byte-compiler by binding the result of mapcar to
+ ;; a variable.
+ res)))
(put 'erc-with-all-buffers-of-server 'lisp-indent-function 1)
(put 'erc-with-all-buffers-of-server 'edebug-form-spec '(form form body))
@@ -3014,6 +3017,11 @@ LINE has the format \"USER ACTION\"."
(t nil)))
(put 'erc-cmd-ME 'do-not-parse-args t)
+(defun erc-cmd-ME\'S (line)
+ "Do a /ME command, but add the string \" 's\" to the beginning."
+ (erc-cmd-ME (concat " 's" line)))
+(put 'erc-cmd-ME\'S 'do-not-parse-args t)
+
(defun erc-cmd-LASTLOG (line)
"Show all lines in the current buffer matching the regexp LINE.
@@ -3669,7 +3677,7 @@ If `point' is at the beginning of a channel name, use that as default."
(set-buffer (process-buffer erc-server-process))
erc-channel-list)))
(completing-read "Join channel: " table nil nil nil nil chnl))
- (when erc-prompt-for-channel-key
+ (when (or current-prefix-arg erc-prompt-for-channel-key)
(read-from-minibuffer "Channel key (RET for none): " nil))))
(erc-cmd-JOIN channel (when (>= (length key) 1) key)))
@@ -5033,7 +5041,7 @@ Specifically, return the position of `erc-insert-marker'."
erc-input-marker
(erc-end-of-input-line)))
-(defvar erc-command-regexp "^/\\([A-Za-z]+\\)\\(\\s-+.*\\|\\s-*\\)$"
+(defvar erc-command-regexp "^/\\([A-Za-z']+\\)\\(\\s-+.*\\|\\s-*\\)$"
"Regular expression used for matching commands in ERC.")
(defun erc-send-input (input)