From: Miles Bader Date: Thu, 3 Aug 2006 05:10:38 +0000 (+0000) Subject: Merge from erc--emacs--21 X-Git-Tag: emacs-pretest-22.0.90~1130 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=2e3ef421a9e7888ed48241bbeecedaeefb58ab54;p=emacs.git Merge from erc--emacs--21 Revision: emacs@sv.gnu.org/emacs--devo--0--patch-379 Creator: Michael Olson --- diff --git a/etc/ChangeLog b/etc/ChangeLog index 4937aef2bca..ae887b33da9 100644 --- a/etc/ChangeLog +++ b/etc/ChangeLog @@ -1,3 +1,7 @@ +2006-08-03 Michael Olson + + * ERC-NEWS: Update for ERC 5.1.4. + 2006-08-01 Kenichi Handa * NEWS (find-operation-coding-system): Describe the more detail of diff --git a/etc/ERC-NEWS b/etc/ERC-NEWS index 778344c68c7..3a026ee1162 100644 --- a/etc/ERC-NEWS +++ b/etc/ERC-NEWS @@ -1,6 +1,27 @@ ERC NEWS -*- outline -*- -* Changes in ERC 5.2 (unreleased) +* Changes in ERC 5.1.4 + +** Make find-function and find-variable work in Emacs 22 for +names that are constructed by `define-erc-module'. + +** Fix bug introduced in ERC 5.1.3 that caused messages to go the +wrong buffer. + +** Changes and additions to modules + +*** Highlighting (erc-match.el) + +**** Don't activate view-mode. + +*** Logging (erc-log.el) + +**** When this module is activated, make sure logging is enabled on +already-opened buffers. Ditto for disabling logging when the module +is deactivated. + +**** Fix some errors that occur when exiting Emacs without first +quitting open IRC servers. * Changes in ERC 5.1.3 diff --git a/lisp/erc/ChangeLog b/lisp/erc/ChangeLog index 216d14d0aa6..0129bd43976 100644 --- a/lisp/erc/ChangeLog +++ b/lisp/erc/ChangeLog @@ -1,3 +1,40 @@ +2006-08-02 Michael Olson + + * erc.el (erc-version-string): Release ERC 5.1.4. + + * Makefile, NEWS, erc.texi: Update for the 5.1.4 release. + + * erc.el (erc-active-buffer): Fix bug that caused messages to go + to the wrong buffer. Thanks to offby1 for the report. + + * erc-backend.el (erc-coding-system-for-target): Handle case where + target is nil. Thanks to Kai Fan for the patch. + +2006-07-29 Michael Olson + + * erc-log.el (erc-log-setup-logging): Don't offer to save the + buffer. It will be saved automatically killed. Thanks to Johan + Bockgård and Tassilo Horn for pointing this out. + +2006-07-27 Johan Bockgård + + * erc.el (define-erc-module): Make find-function and find-variable + find the names constructed by `define-erc-module' in Emacs 22. + +2006-07-14 Michael Olson + + * erc-log.el (log): Make sure that we enable logging on + already-opened buffers as well, in case the user toggles this + module after loading ERC. Also be sure to remove logging ability + from all ERC buffers when the module is disabled. + (erc-log-setup-logging): Set buffer-file-name to nil rather than + the empty string. This should fix some errors that occur when + quitting Emacs without first killing all ERC buffers. + (erc-log-disable-logging): New function that removes the logging + ability from the current buffer. + + * erc-spelling.el (spelling): Use dolist and buffer-live-p. + 2006-07-12 Michael Olson * erc-match.el (erc-log-matches): Bind inhibit-read-only rather diff --git a/lisp/erc/erc-backend.el b/lisp/erc/erc-backend.el index 7dce9e4bf01..705ca7a9e63 100644 --- a/lisp/erc/erc-backend.el +++ b/lisp/erc/erc-backend.el @@ -563,11 +563,12 @@ action." "Return the coding system or cons cell appropriate for TARGET. This is determined via `erc-encoding-coding-alist' or `erc-server-coding-system'." - (or (let ((case-fold-search t)) - (catch 'match - (dolist (pat erc-encoding-coding-alist) - (when (string-match (car pat) target) - (throw 'match (cdr pat)))))) + (or (when target + (let ((case-fold-search t)) + (catch 'match + (dolist (pat erc-encoding-coding-alist) + (when (string-match (car pat) target) + (throw 'match (cdr pat))))))) (and (functionp erc-server-coding-system) (funcall erc-server-coding-system)) erc-server-coding-system)) diff --git a/lisp/erc/erc-log.el b/lisp/erc/erc-log.el index b316a8588bd..418e45060bd 100644 --- a/lisp/erc/erc-log.el +++ b/lisp/erc/erc-log.el @@ -218,7 +218,10 @@ also be a predicate function. To only log when you are not set away, use: (add-hook 'erc-quit-hook 'erc-conditional-save-queries) (add-hook 'erc-part-hook 'erc-conditional-save-buffer) ;; append, so that 'erc-initialize-log-marker runs first - (add-hook 'erc-connect-pre-hook 'erc-log-setup-logging 'append)) + (add-hook 'erc-connect-pre-hook 'erc-log-setup-logging 'append) + (dolist (buffer (erc-buffer-list)) + (when (buffer-live-p buffer) + (with-current-buffer buffer (erc-log-setup-logging))))) ;; disable ((remove-hook 'erc-insert-post-hook 'erc-save-buffer-in-logs) (remove-hook 'erc-send-post-hook 'erc-save-buffer-in-logs) @@ -226,7 +229,10 @@ also be a predicate function. To only log when you are not set away, use: (remove-hook 'erc-kill-channel-hook 'erc-save-buffer-in-logs) (remove-hook 'erc-quit-hook 'erc-conditional-save-queries) (remove-hook 'erc-part-hook 'erc-conditional-save-buffer) - (remove-hook 'erc-connect-pre-hook 'erc-log-setup-logging))) + (remove-hook 'erc-connect-pre-hook 'erc-log-setup-logging) + (dolist (buffer (erc-buffer-list)) + (when (buffer-live-p buffer) + (with-current-buffer buffer (erc-log-disable-logging)))))) (define-key erc-mode-map "\C-c\C-l" 'erc-save-buffer-in-logs) @@ -236,8 +242,7 @@ also be a predicate function. To only log when you are not set away, use: This function is destined to be run from `erc-connect-pre-hook'." (when (erc-logging-enabled) (auto-save-mode -1) - (setq buffer-offer-save t - buffer-file-name "") + (setq buffer-file-name nil) (set (make-local-variable 'write-file-functions) '(erc-save-buffer-in-logs)) (when erc-log-insert-log-on-open @@ -245,6 +250,12 @@ This function is destined to be run from `erc-connect-pre-hook'." (move-marker erc-last-saved-position (1- (point-max))))))) +(defun erc-log-disable-logging () + "Disable logging in the current buffer." + (when (erc-logging-enabled) + (setq buffer-offer-save nil + erc-enable-logging nil))) + (defun erc-log-all-but-server-buffers (buffer) "Returns t if logging should be enabled in BUFFER. Returns nil iff `erc-server-buffer-p' returns t." diff --git a/lisp/erc/erc-spelling.el b/lisp/erc/erc-spelling.el index 3cbc786274d..7ed0f510539 100644 --- a/lisp/erc/erc-spelling.el +++ b/lisp/erc/erc-spelling.el @@ -40,15 +40,13 @@ ;; Use erc-connect-pre-hook instead of erc-mode-hook as pre-hook is ;; called AFTER the server buffer is initialized. ((add-hook 'erc-connect-pre-hook 'erc-spelling-init) - (mapc (lambda (buffer) - (when buffer - (with-current-buffer buffer (erc-spelling-init)))) - (erc-buffer-list))) + (dolist (buffer (erc-buffer-list)) + (when (buffer-live-p buffer) + (with-current-buffer buffer (erc-spelling-init))))) ((remove-hook 'erc-connect-pre-hook 'erc-spelling-init) - (mapc (lambda (buffer) - (when buffer - (with-current-buffer buffer (flyspell-mode 0)))) - (erc-buffer-list)))) + (dolist (buffer (erc-buffer-list)) + (when (buffer-live-p buffer) + (with-current-buffer buffer (flyspell-mode 0)))))) (defcustom erc-spelling-dictionaries nil "An alist mapping buffer names to dictionaries. diff --git a/lisp/erc/erc.el b/lisp/erc/erc.el index fd5a49eae4b..4317b831d56 100644 --- a/lisp/erc/erc.el +++ b/lisp/erc/erc.el @@ -67,7 +67,7 @@ ;;; Code: -(defconst erc-version-string "Version 5.1.3" +(defconst erc-version-string "Version 5.1.4" "ERC version. This is used by function `erc-version'.") (eval-when-compile (require 'cl)) @@ -1243,7 +1243,11 @@ With arg, turn ERC %S mode on if and only if arg is positive. (format "erc-%s-mode" (downcase (symbol-name alias))))) (quote - ,mode)))))) + ,mode))) + ;; For find-function and find-variable. + (put ',mode 'definition-name ',name) + (put ',enable 'definition-name ',name) + (put ',disable 'definition-name ',name)))) (put 'define-erc-module 'doc-string-elt 3) @@ -1388,8 +1392,8 @@ server buffer") Defaults to the server buffer." (with-current-buffer (erc-server-buffer) (if (buffer-live-p erc-active-buffer) - erc-active-buffer) - (setq erc-active-buffer (current-buffer)))) + erc-active-buffer + (setq erc-active-buffer (current-buffer))))) (defun erc-set-active-buffer (buffer) "Set the value of `erc-active-buffer' to BUFFER." diff --git a/man/ChangeLog b/man/ChangeLog index 23788624bf9..4723b892276 100644 --- a/man/ChangeLog +++ b/man/ChangeLog @@ -1,3 +1,7 @@ +2006-08-03 Michael Olson + + * erc.texi: Update for ERC 5.1.4. + 2006-08-01 Richard Stallman * help.texi (Name Help): Add index entries for describe-variable. diff --git a/man/erc.texi b/man/erc.texi index 29b0f059722..c4317f11511 100644 --- a/man/erc.texi +++ b/man/erc.texi @@ -12,7 +12,7 @@ @syncodeindex fn cp @copying -This manual is for ERC version 5.1.3. +This manual is for ERC version 5.1.4. Copyright @copyright{} 2005, 2006 Free Software Foundation, Inc.