(group-name-at-point): New function.
authorLars Magne Ingebrigtsen <larsi@gnus.org>
Thu, 13 Apr 2006 07:50:27 +0000 (07:50 +0000)
committerLars Magne Ingebrigtsen <larsi@gnus.org>
Thu, 13 Apr 2006 07:50:27 +0000 (07:50 +0000)
(gnus-fetch-group): Provide default from thing at point.

lisp/ChangeLog
lisp/gnus-group.el

index 66cfd96..9ba718e 100644 (file)
@@ -3,6 +3,8 @@
        * gnus-group.el (gnus-group-catchup-current): Change
        if-then-else-if-then-else into cond.
        (gnus-group-catchup): Indent.
+       (group-name-at-point): New function.
+       (gnus-fetch-group): Provide default from thing at point.
 
 2006-04-12  Lars Magne Ingebrigtsen  <larsi@gnus.org>
 
index be73806..6e4de2c 100644 (file)
@@ -2108,11 +2108,26 @@ be permanent."
     (gnus-group-read-ephemeral-group
      (gnus-group-prefixed-name group method) method)))
 
+(defun group-name-at-point ()
+  (let ((regexp "[^-a-zA-Z+.:_]"))
+    (save-excursion
+      (buffer-substring
+       (progn
+        (re-search-backward regexp nil t)
+        (forward-char 1)
+        (point))
+       (progn
+        (re-search-forward regexp nil t)
+        (forward-char -1)
+        (point))))))
+
 ;;;###autoload
 (defun gnus-fetch-group (group &optional articles)
   "Start Gnus if necessary and enter GROUP.
 Returns whether the fetching was successful or not."
-  (interactive (list (completing-read "Group name: " gnus-active-hashtb)))
+  (interactive (list (completing-read "Group name: " gnus-active-hashtb
+                                     nil nil nil nil
+                                     (group-name-at-point))))
   (unless (get-buffer gnus-group-buffer)
     (gnus-no-server))
   (gnus-group-read-group articles nil group))