From: Katsumi Yamaoka Date: Mon, 13 Feb 2006 07:16:55 +0000 (+0000) Subject: (nnoo-declare): Don't generate duplicate entries when re-loading nn* modules. X-Git-Url: https://cgit.sxemacs.org/?a=commitdiff_plain;h=dd9e381a206b24af918fb2bbe9c107693edfdd1c;p=gnus (nnoo-declare): Don't generate duplicate entries when re-loading nn* modules. --- diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 3e169e9a2..901a22cba 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,8 @@ +2006-02-13 Katsumi Yamaoka + + * nnoo.el (nnoo-declare): Don't generate duplicate entries when + re-loading nn* modules. + 2006-02-10 Reiner Steib * gnus-group.el (gnus-group-make-tool-bar): Remove duplicate check diff --git a/lisp/nnoo.el b/lisp/nnoo.el index 7a66b4c55..122183057 100644 --- a/lisp/nnoo.el +++ b/lisp/nnoo.el @@ -61,12 +61,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)