Sync changes from upstream ERC
authorMichael Olson <mwolson@gnu.org>
Wed, 19 Sep 2007 03:29:03 +0000 (03:29 +0000)
committerMichael Olson <mwolson@gnu.org>
Wed, 19 Sep 2007 03:29:03 +0000 (03:29 +0000)
doc/misc/ChangeLog
doc/misc/erc.texi
lisp/erc/ChangeLog
lisp/erc/erc-log.el
lisp/erc/erc-sound.el
lisp/erc/erc-track.el

index ecc782f..bcb66cd 100644 (file)
@@ -1,3 +1,7 @@
+2007-09-18  Exal de Jesus Garcia Carrillo  <exal@gmx.de>
+
+       * erc.texi (Special-Features): Fix small typo.
+
 2007-09-14  Michael Albinus  <michael.albinus@gmx.de>
 
        * tramp.texi (Filename Syntax): Provide links to "Inline methods"
index 3ff8fce..fa5790f 100644 (file)
@@ -393,7 +393,7 @@ buffers in Emacs.  We call these ``query buffers''.
 
 @item highlighting
 
-Some occurences of words can be highlighted, which makes it easier to
+Some occurrences of words can be highlighted, which makes it easier to
 track different kinds of conversations.
 
 @item notification
index 89bdee6..2c6c3e9 100644 (file)
@@ -1,5 +1,33 @@
+2007-09-18  Exal de Jesus Garcia Carrillo  <exal@gmx.de>
+
+       * erc.texi (Special-Features): Fix small typo.
+
+2007-09-16  Michael Olson  <mwolson@gnu.org>
+
+       * erc-track.el (erc-track-switch-direction): Mention
+       erc-track-faces-priority-list.  Thanks to Leo for the suggestion.
+
+2007-09-11  Exal de Jesus Garcia Carrillo  <exal@gnu.org>
+
+       * erc-sound.el: Fix typo in setting up instructions.
+
+2007-09-10  Michael Olson  <mwolson@gnu.org>
+
+       * Makefile (elpa): Copy dir template rather than echoing a few
+       lines.  The reason for this is that the ELPA package for ERC was
+       getting a corrupt dir entry.
+
+       * dir-template: Template for the ELPA dir file.
+
 2007-09-08  Michael Olson  <mwolson@gnu.org>
 
+       * erc-log.el (erc-log-filter-function): New option that specifies
+       the function to call for filtering text before writing it to a log
+       file.  Thanks to David O'Toole for the suggestion.
+       (erc-save-buffer-in-logs): Use erc-log-filter-function.  Make sure
+       we carry along the value of coding-system-for-write, because this
+       could potentially be shadowed by the temporary buffer.
+
        * erc.el (erc-version-string): Update to 5.3, development version.
 
 2007-09-07  Glenn Morris  <rgm@gnu.org>
index 856f1dc..1733b3d 100644 (file)
@@ -205,6 +205,16 @@ This should ideally, be a \"catch-all\" coding system, like
 `emacs-mule', or `iso-2022-7bit'."
   :group 'erc-log)
 
+(defcustom erc-log-filter-function nil
+  "*If non-nil, pass text through the given function before writing it to
+a log file.
+
+The function should take one argument, which is the text to filter."
+  :group 'erc-log
+  :type '(choice (function "Function")
+                (const :tag "No filtering" nil)))
+
+
 ;;;###autoload (autoload 'erc-log-mode "erc-log" nil t)
 (define-erc-module log nil
   "Automatically logs things you receive on IRC into files.
@@ -405,17 +415,25 @@ 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-for-write erc-log-file-coding-system))
+         (coding-system erc-log-file-coding-system))
       (save-excursion
        (with-current-buffer buffer
          (save-restriction
            (widen)
-           ;; early on in the initalisation, don't try and write the log out
+           ;; early on in the initialization, don't try and write the log out
            (when (and (markerp erc-last-saved-position)
                       (> erc-insert-marker (1+ erc-last-saved-position)))
-             (write-region (1+ (marker-position erc-last-saved-position))
-                           (marker-position erc-insert-marker)
-                           file t 'nomessage)
+             (let ((start (1+ (marker-position erc-last-saved-position)))
+                   (end (marker-position erc-insert-marker)))
+               (if (functionp erc-log-filter-function)
+                   (let ((text (buffer-substring start end)))
+                     (with-temp-buffer
+                       (insert (funcall erc-log-filter-function text))
+                       (let ((coding-system-for-write coding-system))
+                         (write-region (point-min) (point-max)
+                                       file t 'nomessage))))
+                 (let ((coding-system-for-write coding-system))
+                   (write-region start end file t 'nomessage))))
              (if (and erc-truncate-buffer-on-save (interactive-p))
                  (progn
                    (let ((inhibit-read-only t)) (erase-buffer))
index d02887a..7a1a281 100644 (file)
@@ -30,7 +30,7 @@
 
 ;; Add the following to your .emacs if you want to play sounds.
 ;;
-;; (require 'erc-soud)
+;; (require 'erc-sound)
 ;; (erc-sound-enable)
 ;;
 ;; To send requests to other users from within query buffers, type the
index 5865257..1408adc 100644 (file)
@@ -285,7 +285,11 @@ when there are no more active channels."
   oldest      -  find oldest active buffer
   newest      -  find newest active buffer
   leastactive -  find buffer with least unseen messages
-  mostactive  -  find buffer with most unseen messages."
+  mostactive  -  find buffer with most unseen messages.
+
+If set to 'importance, the importance is determined by position
+in `erc-track-faces-priority-list', where first is most
+important."
   :group 'erc-track
   :type '(choice (const importance)
                 (const oldest)