(article-treat-overstrike): Work for multibyte char with old Emacsen as well.
[elisp/gnus.git-] / lisp / gnus-srvr.el
index 7d15a9f..d08c8d4 100644 (file)
@@ -26,7 +26,6 @@
 ;;; Code:
 
 (eval-when-compile (require 'cl))
-
 (require 'gnus)
 (require 'gnus-spec)
 (require 'gnus-group)
@@ -592,19 +591,28 @@ The following commands are available:
          (goto-char (point-min))
          (unless (string= gnus-ignored-newsgroups "")
            (delete-matching-lines gnus-ignored-newsgroups))
-         (while (and (not (eobp)) (forward-line))
+         (while (not (eobp)) 
            (ignore-errors
-             (push (cons (read cur)
+             (push (cons (let ((p (point)))
+                          (skip-chars-forward "^ \t")
+                          (buffer-substring p (point)))
                          (max 0 (- (1+ (read cur)) (read cur))))
-                   groups)))))
+                   groups))
+           (forward-line))))
       (setq groups (sort groups
                         (lambda (l1 l2)
                           (string< (car l1) (car l2)))))
-      (let ((buffer-read-only nil))
+      (let ((buffer-read-only nil) 
+           (gnus-select-method nil) 
+           name)
        (while groups
-         (setq group (car groups))
-         (insert
-          (format "K%7d: %s\n" (cdr group) (car group)))
+         (setq group (car groups)
+               name (format "%s" (car group)))
+         (insert (if (cadr (gnus-gethash 
+                            (gnus-group-prefixed-name name method)
+                            gnus-newsrc-hashtb))
+                     " " "K")
+                 (format "%7d: " (cdr group)) name "\n")
          (setq groups (cdr groups))))
       (switch-to-buffer (current-buffer))
       (goto-char (point-min))