;;; gnus-spec.el --- format spec functions for Gnus
-;; Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004
+;; Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
;; Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
(defcustom gnus-use-correct-string-widths t
"*If non-nil, use correct functions for dealing with wide characters."
- :version "21.4"
+ :version "22.1"
:group 'gnus-format
:type 'boolean)
(defcustom gnus-make-format-preserve-properties (featurep 'xemacs)
"*If non-nil, use a replacement `format' function which preserves
text properties. This is only needed on XEmacs, as FSF Emacs does this anyway."
- :version "21.4"
+ :version "22.1"
:group 'gnus-format
:type 'boolean)
gnus-format-specs-compiled nil)
(gnus-product-variable-touch 'gnus-format-specs
'gnus-format-specs-compiled))
- ;; Flush the group format spec cache if there's the grouplens stuff.
- (let ((spec (assq 'group gnus-format-specs)))
- (when (and (memq 'group types)
- (string-match " gnus-tmp-grouplens[ )]"
- (gnus-prin1-to-string (cdr spec))))
- (setq gnus-format-specs (delq spec gnus-format-specs)
- spec (assq 'group gnus-format-specs-compiled)
- gnus-format-specs-compiled (delq spec gnus-format-specs-compiled))))
+ ;; Flush the group format spec cache if there's the grouplens stuff
+ ;; or it doesn't support decoded group names.
+ (when (memq 'group types)
+ (let* ((spec (assq 'group gnus-format-specs))
+ (sspec (gnus-prin1-to-string (nth 2 spec))))
+ (when (or (string-match " gnus-tmp-grouplens[ )]" sspec)
+ (not (string-match " gnus-tmp-decoded-group[ )]" sspec)))
+ (setq gnus-format-specs (delq spec gnus-format-specs)
+ spec (assq 'group gnus-format-specs-compiled)
+ gnus-format-specs-compiled (delq spec
+ gnus-format-specs-compiled)))))
;; Go through all the formats and see whether they need updating.
(let (new-format type val unchanged updated)