Switch to recommended form of GPLv3 permissions notice.
[bpt/emacs.git] / lisp / erc / erc-netsplit.el
index a982b5e..2e60a02 100644 (file)
@@ -1,16 +1,16 @@
 ;;; erc-netsplit.el --- Reduce JOIN/QUIT messages on netsplits
 
-;; Copyright (C) 2002, 2003, 2004, 2006 Free Software Foundation, Inc.
+;; Copyright (C) 2002, 2003, 2004, 2006, 2007, 2008 Free Software Foundation, Inc.
 
 ;; Author: Mario Lang <mlang@delysid.org>
 ;; Keywords: comm
 
 ;; 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
@@ -18,9 +18,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:
 
@@ -64,7 +62,8 @@ sever buffer."
   :group 'erc-netsplit
   :type 'boolean)
 
-(defcustom erc-netsplit-regexp "^[^ @!\"]+\\.[^ @!]+ [^ @!]+\\.[^ @!\"]+$"
+(defcustom erc-netsplit-regexp
+  "^[^ @!\"\n]+\\.[^ @!\n]+ [^ @!\n]+\\.[^ @!\"\n]+$"
   "This regular expression should match quit reasons produced
 by netsplits."
   :group 'erc-netsplit
@@ -131,7 +130,7 @@ join from that split has been detected or not.")
 (defun erc-netsplit-MODE (proc parsed)
   "Hide mode changes from servers."
   ;; regexp matches things with a . in them, and no ! or @ in them.
-  (when (string-match "^[^@!]+\\.[^@!]+$" (erc-response.sender parsed))
+  (when (string-match "^[^@!\n]+\\.[^@!\n]+$" (erc-response.sender parsed))
     (and erc-netsplit-debug
         (erc-display-message
          parsed 'notice (process-buffer proc)
@@ -172,18 +171,19 @@ join from that split has been detected or not.")
 
 (defun erc-netsplit-timer (now)
   "Clean cruft from `erc-netsplit-list' older than 10 minutes."
-  (dolist (elt erc-netsplit-list)
-    (when (> (erc-time-diff (cadr elt) now) 600)
-      (when erc-netsplit-debug
-       (erc-display-message
-        nil 'notice (current-buffer)
-        (concat "Netsplit: Removing " (car elt))))
-      (setq erc-netsplit-list (delq elt erc-netsplit-list)))))
+  (when erc-server-connected
+    (dolist (elt erc-netsplit-list)
+      (when (> (erc-time-diff (cadr elt) now) 600)
+       (when erc-netsplit-debug
+         (erc-display-message
+          nil 'notice (current-buffer)
+          (concat "Netsplit: Removing " (car elt))))
+       (setq erc-netsplit-list (delq elt erc-netsplit-list))))))
 
 ;;;###autoload
 (defun erc-cmd-WHOLEFT ()
   "Show who's gone."
-  (with-current-buffer (erc-server-buffer)
+  (erc-with-server-buffer
     (if (null erc-netsplit-list)
        (erc-display-message
         nil 'notice 'active