Revision: emacs@sv.gnu.org/gnus--devo--0--patch-25
[gnus] / lisp / gnus-spec.el
index 8a69b9b..4bf7571 100644 (file)
@@ -1,6 +1,7 @@
 ;;; gnus-spec.el --- format spec functions for Gnus
-;; Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004
-;;        Free Software Foundation, Inc.
+
+;; Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+;;   2005, 2006 Free Software Foundation, Inc.
 
 ;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
 ;; Keywords: news
 
 ;; 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.
+;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+;; Boston, MA 02110-1301, USA.
 
 ;;; Commentary:
 
 ;;; Code:
 
 (eval-when-compile (require 'cl))
+(defvar gnus-newsrc-file-version)
 
 (require 'gnus)
 
 (defcustom gnus-use-correct-string-widths (featurep 'xemacs)
   "*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)
 
@@ -196,12 +198,14 @@ Return a list of updated types."
            (not (equal emacs-version
                        (cdr (assq 'version gnus-format-specs)))))
     (setq gnus-format-specs nil))
-  ;; 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))))
+  ;; 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)))))
 
   ;; Go through all the formats and see whether they need updating.
   (let (new-format entry type val updated)
@@ -508,7 +512,7 @@ are supported for %s."
         (t
          (if (null args)
              (error 'wrong-number-of-arguments #'my-format n fstring))
-         (let* ((minlen (string-to-int (or (match-string 2) "")))
+         (let* ((minlen (string-to-number (or (match-string 2) "")))
                 (arg (car args))
                 (str (if (stringp arg) arg (format "%s" arg)))
                 (lpad (null (match-string 1)))