gnus-group.el (gnus-group-make-group-simple): Add, suggested by
authorSimon Josefsson <jas@extundo.com>
Sat, 17 Jul 2004 16:55:31 +0000 (16:55 +0000)
committerSimon Josefsson <jas@extundo.com>
Sat, 17 Jul 2004 16:55:31 +0000 (16:55 +0000)
Kai Grossjohann <kai@emptydomain.de>.
(gnus-group-group-map): Use it, instead of gnus-group-make-group.
(gnus-group-make-menu-bar): Ditto.
gnus-util.el (gnus-group-server): Add.

lisp/ChangeLog
lisp/gnus-group.el
lisp/gnus-util.el

index 3902ed8..d14d6c8 100644 (file)
@@ -1,3 +1,12 @@
+2004-07-17  Simon Josefsson  <jas@extundo.com>
+
+       * gnus-group.el (gnus-group-make-group-simple): Add, suggested by
+       Kai Grossjohann <kai@emptydomain.de>.
+       (gnus-group-group-map): Use it, instead of gnus-group-make-group.
+       (gnus-group-make-menu-bar): Ditto.
+
+       * gnus-util.el (gnus-group-server): Add.
+
 2004-07-16  Jesper Harder  <harder@ifa.au.dk>
 
        * message.el (message-clone-locals): Clone sendmail and smtp
index 2055647..70a59a4 100644 (file)
@@ -632,7 +632,7 @@ simple manner.")
   "a" gnus-group-make-archive-group
   "k" gnus-group-make-kiboze-group
   "l" gnus-group-nnimap-edit-acl
-  "m" gnus-group-make-group
+  "m" gnus-group-make-group-simple
   "E" gnus-group-edit-group
   "e" gnus-group-edit-group-method
   "p" gnus-group-edit-group-parameters
@@ -899,7 +899,7 @@ simple manner.")
         gnus-zombie-list]
        ["Kill all groups on level..." gnus-group-kill-level t])
        ("Foreign groups"
-       ["Make a foreign group..." gnus-group-make-group t]
+       ["Make a foreign group..." gnus-group-make-group-simple t]
        ["Add a directory group..." gnus-group-make-directory-group t]
        ["Add the help group" gnus-group-make-help-group t]
        ["Add the archive group" gnus-group-make-archive-group t]
@@ -2250,6 +2250,16 @@ If EXCLUDE-GROUP, do not go to that group."
   (interactive)
   (gnus-enter-server-buffer))
 
+(defun gnus-group-make-group-simple (&optional group)
+  "Add a new newsgroup.
+The user will be prompted for GROUP."
+  (interactive
+   (list (completing-read "Group: " gnus-active-hashtb
+                         nil nil nil 'gnus-group-history)))
+  (gnus-group-make-group
+   (gnus-group-real-name group)
+   (gnus-group-server group)))
+
 (defun gnus-group-make-group (name &optional method address args)
   "Add a new newsgroup.
 The user will be prompted for a NAME, for a select METHOD, and an
index e0e73e5..97f43e7 100644 (file)
@@ -565,6 +565,15 @@ If N, return the Nth ancestor instead."
         (substring gname (match-end 0))
        gname)))
 
+(defmacro gnus-group-server (group)
+  "Find the server name of a foreign newsgroup.
+For example, (gnus-group-server \"nnimap+yxa:INBOX.foo\") would
+yield \"nnimap:yxa\"."
+  `(let ((gname ,group))
+     (if (string-match "^\\([^+]+\\).\\([^:]+\\):" gname)
+        (format "%s:%s" (match-string 1 gname) (match-string 2 gname))
+       (format "%s:%s" (car gnus-select-method) (cadr gnus-select-method)))))
+
 (defun gnus-make-sort-function (funs)
   "Return a composite sort condition based on the functions in FUNS."
   (cond