]> code.delx.au - gnu-emacs/blobdiff - lisp/erc/erc-match.el
* completion.el (add-completion-to-head, add-completion): Doc fixes.
[gnu-emacs] / lisp / erc / erc-match.el
index a5e3bf88ccf6a79f6b7614df5fdabb9d7fd9b6d1..eceac9160ad62082027ae77c5562e1b785bf2d73 100644 (file)
@@ -1,6 +1,7 @@
 ;;; erc-match.el --- Highlight messages matching certain regexps
 
-;; Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
+;; Copyright (C) 2002, 2003, 2004, 2005, 2006,
+;;   2007, 2008 Free Software Foundation, Inc.
 
 ;; Author: Andreas Fuchs <asf@void.at>
 ;; Keywords: comm, faces
@@ -8,10 +9,10 @@
 
 ;; This file is part of GNU Emacs.
 
-;; GNU Emacs is free software; you can redistribute it and/or modify
+;; GNU Emacs is free software: you can redistribute it and/or modify
 ;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation; either version 2, or (at your option)
-;; any later version.
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
 
 ;; GNU Emacs is distributed in the hope that it will be useful,
 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -19,9 +20,7 @@
 ;; GNU General Public License for more details.
 
 ;; You should have received a copy of the GNU General Public License
-;; along with GNU Emacs; see the file COPYING.  If not, write to the
-;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
-;; Boston, MA 02110-1301, USA.
+;; along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.
 
 ;;; Commentary:
 
@@ -255,7 +254,7 @@ current-nick, keyword, pal, dangerous-host, fool"
     (modify-syntax-entry ?\\ "w" table)
     table)
   "Syntax table used when highlighting messages.
-This syntax table should make all the legal nick characters word
+This syntax table should make all the valid nick characters word
 constituents.")
 
 ;; Faces:
@@ -298,7 +297,7 @@ Completion is performed on the optional alist COMPLETIONS."
                (lambda (x)
                  (not (erc-member-ignore-case (car x) (symbol-value list)))))))
     (if (erc-member-ignore-case entry (symbol-value list))
-       (error (format "\"%s\" is already on the list" entry))
+       (error "\"%s\" is already on the list" entry)
       (set list (cons entry (symbol-value list))))))
 
 (defun erc-remove-entry-from-list (list prompt)
@@ -428,24 +427,6 @@ In any of the following situations, MSG is directed at an entry FOOL:
     (or (erc-list-match fools-beg msg)
        (erc-list-match fools-end msg))))
 
-(defun erc-get-parsed-vector (point)
-  "Return the whole parsed vector on POINT."
-  (get-text-property point 'erc-parsed))
-
-(defun erc-get-parsed-vector-nick (vect)
-  "Return nickname in the parsed vector VECT."
-  (let* ((untreated-nick (and vect (erc-response.sender vect)))
-        (maybe-nick (when untreated-nick
-                      (car (split-string untreated-nick "!")))))
-    (when (and (not (null maybe-nick))
-              (erc-is-valid-nick-p maybe-nick))
-      untreated-nick)))
-
-(defun erc-get-parsed-vector-type (vect)
-  "Return message type in the parsed vector VECT."
-  (and vect
-       (erc-response.command vect)))
-
 (defun erc-match-message ()
   "Mark certain keywords in a region.
 Use this defun with `erc-insert-modify-hook'."
@@ -547,18 +528,18 @@ Use this defun with `erc-insert-modify-hook'."
 
 (defun erc-log-matches (match-type nickuserhost message)
   "Log matches in a separate buffer, determined by MATCH-TYPE.
-The behaviour of this function is controlled by the variables
-`erc-log-matches-types-alist' and `erc-log-matches-flag'. Specify the
-match types which should be logged in the former, and
-deactivate/activate match logging in the latter. See
-`erc-log-match-format'."
+The behavior of this function is controlled by the variables
+`erc-log-matches-types-alist' and `erc-log-matches-flag'.
+Specify the match types which should be logged in the former,
+and deactivate/activate match logging in the latter.
+See `erc-log-match-format'."
   (let  ((match-buffer-name (cdr (assq match-type
                                       erc-log-matches-types-alist)))
         (nick (nth 0 (erc-parse-user nickuserhost))))
     (when (and
           (or (eq erc-log-matches-flag t)
               (and (eq erc-log-matches-flag 'away)
-                   erc-away))
+                   (erc-away-time)))
           match-buffer-name)
       (let ((line (format-spec erc-log-match-format
                   (format-spec-make
@@ -571,10 +552,9 @@ deactivate/activate match logging in the latter. See
                    ?m message
                    ?u nickuserhost))))
        (with-current-buffer (erc-log-matches-make-buffer match-buffer-name)
-         (toggle-read-only -1)
-         (point-max)
-         (insert line)
-         (toggle-read-only 1))))))
+         (let ((inhibit-read-only t))
+           (goto-char (point-max))
+           (insert line)))))))
 
 (defun erc-log-matches-make-buffer (name)
   "Create or get a log-matches buffer named NAME and return it."
@@ -585,13 +565,13 @@ deactivate/activate match logging in the latter. See
       (unless buffer-already
        (insert " == Type \"q\" to dismiss messages ==\n")
        (erc-view-mode-enter nil (lambda (buffer)
-                                  (when (y-or-n-p "Discard messages?")
+                                  (when (y-or-n-p "Discard messages? ")
                                     (kill-buffer buffer)))))
       buffer)))
 
 (defun erc-log-matches-come-back (proc parsed)
   "Display a notice that messages were logged while away."
-  (when (and erc-away
+  (when (and (erc-away-time)
             (eq erc-log-matches-flag 'away))
     (mapc
      (lambda (match-type)
@@ -602,7 +582,7 @@ deactivate/activate match logging in the latter. See
                                  (with-current-buffer buffer
                                    (get-text-property (1- (point-max))
                                                       'timestamp))))
-                 (away-time     (erc-emacs-time-to-erc-time erc-away)))
+                 (away-time (erc-emacs-time-to-erc-time (erc-away-time))))
             (when (and away-time last-msg-time
                        (erc-time-gt last-msg-time away-time))
               (erc-display-message