* lisp/gnus-msg.el (gnus-configure-posting-styles): Follow the
authorueno <ueno>
Sun, 8 Sep 2002 08:28:05 +0000 (08:28 +0000)
committerueno <ueno>
Sun, 8 Sep 2002 08:28:05 +0000 (08:28 +0000)
change of arglist of gnus-configure-posting-style.
(gnus-configure-posting-style): Check circular import.

ChangeLog
lisp/gnus-msg.el

index 852e6ec..0d4896f 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,11 @@
 2002-09-08  Daiki Ueno  <ueno@unixuser.org>
 
+       * lisp/gnus-msg.el (gnus-configure-posting-styles): Follow the
+       change of arglist of gnus-configure-posting-style.
+       (gnus-configure-posting-style): Check circular import.
+       
+2002-09-08  Daiki Ueno  <ueno@unixuser.org>
+
        * lisp/gnus-vers.el (gnus-revision-number): Increment to 03.
 
        * lisp/gnus-msg.el (gnus-named-posting-styles): Defcustom.
index 8135ac6..654abb9 100644 (file)
@@ -1953,7 +1953,7 @@ this is a reply."
                  ;; This is a form to be evaled.
                  (eval match)))))
          ;; We have a match, so we set the variables.
-         (setq style (gnus-configure-posting-style style))
+         (setq style (gnus-configure-posting-style style nil))
          (dolist (attribute style)
            (setq results (delq (assoc (car attribute) results) results))
            (push attribute results))))
@@ -2011,7 +2011,7 @@ this is a reply."
                  nil 'local)))))
 
 ;; splitted from gnus-configure-posting-styles to allow recursive traversal.
-(defun gnus-configure-posting-style (style)
+(defun gnus-configure-posting-style (style stack)
   "Parse one posting style STYLE and returns the value as an alist."
   (let (results element variable filep value v)
     (dolist (attribute style)
@@ -2057,10 +2057,14 @@ this is a reply."
                    (delete-char -1))
                  (buffer-string))))
       (if (eq element 'import)
-         (setq results
-               (nconc (nreverse (gnus-configure-posting-style
-                                 (cdr (assoc v gnus-named-posting-styles))))
-                      results))
+         (progn
+           (if (member v stack)
+               (error "Circular import of \"%s\"" v))
+           (setq results
+                 (nconc (nreverse (gnus-configure-posting-style
+                                   (cdr (assoc v gnus-named-posting-styles))
+                                   (cons v stack)))
+                        results)))
        (push (cons element v) results)))
     (nreverse results)))