(read-color, x-defined-colors, event-object, get-popup-menu-response,
[elisp/gnus.git-] / lisp / gnus-srvr.el
index 1cc975a..66c67ed 100644 (file)
@@ -26,7 +26,6 @@
 ;;; Code:
 
 (eval-when-compile (require 'cl))
-
 (require 'gnus)
 (require 'gnus-spec)
 (require 'gnus-group)
@@ -594,20 +593,36 @@ The following commands are available:
            (delete-matching-lines gnus-ignored-newsgroups))
          (while (not (eobp)) 
            (ignore-errors
-             (push (cons (let ((p (point)))
-                          (skip-chars-forward "^ \t")
-                          (buffer-substring p (point)))
-                         (max 0 (- (1+ (read cur)) (read cur))))
+             (push (cons 
+                    (if (eq (char-after) ?\")
+                        (read cur)
+                      (let ((p (point)) (name ""))
+                        (skip-chars-forward "^ \t\\\\")
+                        (setq name (buffer-substring p (point)))
+                        (while (eq (char-after) ?\\)
+                          (setq p (1+ (point)))
+                          (forward-char 2)
+                          (skip-chars-forward "^ \t\\\\")
+                          (setq name (concat name (buffer-substring
+                                                   p (point)))))
+                        name))
+                    (max 0 (- (1+ (read cur)) (read cur))))
                    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))
@@ -726,7 +741,8 @@ buffer.
                   nil nil (if (gnus-server-equal
                                gnus-browse-current-method "native")
                               nil
-                            gnus-browse-current-method))
+                            (gnus-method-simplify 
+                             gnus-browse-current-method)))
             gnus-level-default-subscribed gnus-level-killed
             (and (car (nth 1 gnus-newsrc-alist))
                  (gnus-gethash (car (nth 1 gnus-newsrc-alist))