Synch to No Gnus 200407171659.
authoryamaoka <yamaoka>
Sun, 18 Jul 2004 00:38:20 +0000 (00:38 +0000)
committeryamaoka <yamaoka>
Sun, 18 Jul 2004 00:38:20 +0000 (00:38 +0000)
GNUS-NEWS
lisp/ChangeLog
lisp/gnus-group.el
lisp/gnus-util.el

index 6c5238b..39d0d7b 100644 (file)
--- a/GNUS-NEWS
+++ b/GNUS-NEWS
@@ -30,17 +30,19 @@ after quering the user about whether to do so.
 ** IMAP identity (RFC 2971) is supported.
 
 By default, Gnus do not send any information about itself, but you can
-customize it using `nnimap-id'.
+customize it via the variable `nnimap-id'.
 
 ** The "all.SCORE" file can now be edited from the group buffer using `W e'.
 
+** The prompt for creating new groups (`G m') now auto complete known groups.
+
 \f
 * For older news, see Gnus info node "New Features".
 
 ----------------------------------------------------------------------
 Copyright information:
 
-Copyright (C) 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
+Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
 
    Permission is granted to anyone to make or distribute verbatim copies
    of this document as received, in any medium, provided that the
index 8deada9..7e7aaed 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 a0f5d07..7818828 100644 (file)
@@ -640,7 +640,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
   "n" gnus-group-make-shimbun-group
   "E" gnus-group-edit-group
   "e" gnus-group-edit-group-method
@@ -910,6 +910,7 @@ simple manner.")
        ["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]
        ["Make a shimbun group..." gnus-group-make-shimbun-group t]
        ["Add a directory group..." gnus-group-make-directory-group t]
        ["Add the help group" gnus-group-make-help-group t]
@@ -2290,6 +2291,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 65707dd..4ac9987 100644 (file)
@@ -573,6 +573,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