X-Git-Url: http://cgit.sxemacs.org/?a=blobdiff_plain;f=lisp%2Fnnoo.el;h=12df03c8b260020b93e577314f11c876c1da0f74;hb=5beb390633ce1e32cdf319c6ba19926244bbfdf2;hp=0fd980e56ce461a5528ef0cefebe94d94abf2e5c;hpb=125d88b46ad2efa065f06d5dac37a245b488985a;p=gnus diff --git a/lisp/nnoo.el b/lisp/nnoo.el index 0fd980e56..12df03c8b 100644 --- a/lisp/nnoo.el +++ b/lisp/nnoo.el @@ -1,17 +1,16 @@ ;;; nnoo.el --- OO Gnus Backends -;; Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001 -;; Free Software Foundation, Inc. +;; Copyright (C) 1996-2012 Free Software Foundation, Inc. ;; Author: Lars Magne Ingebrigtsen ;; Keywords: news ;; 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 +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., 59 Temple Place - Suite 330, -;; Boston, MA 02111-1307, USA. +;; along with GNU Emacs. If not, see . ;;; Commentary: @@ -61,12 +58,16 @@ (defmacro nnoo-declare (backend &rest parents) `(eval-and-compile - (push (list ',backend - (mapcar (lambda (p) (list p)) ',parents) - nil nil) - nnoo-definition-alist) - (push (list ',backend "*internal-non-initialized-backend*") - nnoo-state-alist))) + (if (assq ',backend nnoo-definition-alist) + (setcar (cdr (assq ',backend nnoo-definition-alist)) + (mapcar 'list ',parents)) + (push (list ',backend + (mapcar 'list ',parents) + nil nil) + nnoo-definition-alist)) + (unless (assq ',backend nnoo-state-alist) + (push (list ',backend "*internal-non-initialized-backend*") + nnoo-state-alist)))) (put 'nnoo-declare 'lisp-indent-function 1) (defun nnoo-parents (backend) @@ -254,7 +255,7 @@ (setcdr bstate (delq defs (cdr bstate))) (pop defs) (while defs - (set (car (pop defs)) nil))))) + (set (car (pop defs)) nil))))) t) (defun nnoo-close (backend) @@ -320,5 +321,4 @@ All functions will return nil and report an error." (provide 'nnoo) -;;; arch-tag: 0196b5ed-6f34-4778-a455-73a971f837e7 ;;; nnoo.el ends here