* lisp/gnus-namazu.el (gnus-namazu-summary-buffer-name): New
authortsuchiya <tsuchiya>
Sun, 9 Dec 2001 12:50:13 +0000 (12:50 +0000)
committertsuchiya <tsuchiya>
Sun, 9 Dec 2001 12:50:13 +0000 (12:50 +0000)
advice.

ChangeLog
lisp/gnus-namazu.el

index 6279712..ea9e84f 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
 2001-12-09  TSUCHIYA Masatoshi  <tsuchiya@namazu.org>
 
+       * lisp/gnus-namazu.el (gnus-namazu-summary-buffer-name): New
+       advice.
+
        * lisp/gnus-namazu.el (top): Update comments.
        (gnus-namazu-indexed-servers): Abolished.
        (gnus-namazu-index-directories, gnus-namazu-command): Changed the
index 9e21840..37fdd86 100644 (file)
@@ -148,6 +148,26 @@ options make any sense in this context."
   "Associative list to map groups in lower case to official names.")
 (defconst gnus-namazu/group-name-regexp "\\`nnvirtual:namazu-search\\?")
 
+;; Multibyte group name:
+(add-to-list 'gnus-group-name-charset-group-alist
+            (cons gnus-namazu/group-name-regexp gnus-namazu-coding-system))
+(and
+ (fboundp 'gnus-group-decoded-name)
+ (let ((group
+       (concat "nnvirtual:namazu-search?query="
+               (decode-coding-string
+                (string 27 36 66 52 65 59 122 27 40 66)
+                (if (boundp 'MULE) '*iso-2022-jp* 'iso-2022-7bit)))))
+   (/= (length (string-to-char-list (concat "*Summary " group "*")))
+       (length
+       (string-to-char-list
+        (gnus-summary-buffer-name
+         (encode-coding-string group gnus-namazu-coding-system))))))
+ (let (current-load-list)
+   (defadvice gnus-summary-buffer-name
+     (before gnus-namazu-summary-buffer-name activate compile)
+     "Advised by `gnus-namazu' to handle encoded group names."
+     (ad-set-arg 0 (gnus-group-decoded-name (ad-get-arg 0))))))
 
 (defmacro gnus-namazu/make-article (group number)
   `(cons ,group ,number))
@@ -161,8 +181,6 @@ options make any sense in this context."
    (gnus-servers-using-backend 'nnmh)))
 
 (defun gnus-namazu/setup ()
-  (add-to-list 'gnus-group-name-charset-group-alist
-              (cons gnus-namazu/group-name-regexp gnus-namazu-coding-system))
   (unless gnus-namazu-case-sensitive-filesystem
     ;; FIXME: The alist to map group names in lower case to real names
     ;; is reconstructed every when gnus-namazu/setup() is called.