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.
;; 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))))
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)
(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)))