Further fixes for allowing ephemeral groups without Gnus running
authorLars Magne Ingebrigtsen <larsi@gnus.org>
Thu, 12 Apr 2012 16:48:08 +0000 (18:48 +0200)
committerLars Magne Ingebrigtsen <larsi@gnus.org>
Thu, 12 Apr 2012 16:51:03 +0000 (18:51 +0200)
(gnus-summary-exit): Allow quitting when we don't have a group buffer.

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

index e79a9b3..6841b50 100644 (file)
@@ -2,6 +2,7 @@
 
        * gnus-sum.el (gnus-set-global-variables): Don't assume that the group
        buffer exists, which it doesn't if we haven't started Gnus.
+       (gnus-summary-exit): Allow quitting when we don't have a group buffer.
 
 2012-04-11  Katsumi Yamaoka  <yamaoka@jpl.org>
 
index 8ce04eb..ca745f4 100644 (file)
@@ -2291,6 +2291,9 @@ Return the name of the group if selection was successful."
     (gnus-group-completing-read)
     (gnus-read-method "From method")))
   (unless (gnus-alive-p)
+    (nnheader-init-server-buffer)
+    ;; Necessary because of funky inlining.
+    (require 'gnus-cache)
     (setq gnus-newsrc-hashtb (gnus-make-hashtable)))
   ;; Transform the select method into a unique server.
   (when (stringp method)
index 95b13da..5f9cc3c 100644 (file)
@@ -7257,7 +7257,8 @@ If FORCE (the prefix), also save the .newsrc file(s)."
       (gnus-summary-update-info))
     (gnus-close-group group)
     ;; Make sure where we were, and go to next newsgroup.
-    (set-buffer gnus-group-buffer)
+    (when (buffer-live-p gnus-group-buffer)
+      (set-buffer gnus-group-buffer))
     (unless quit-config
       (gnus-group-jump-to-group group))
     (gnus-run-hooks 'gnus-summary-exit-hook)
@@ -7282,7 +7283,8 @@ If FORCE (the prefix), also save the .newsrc file(s)."
          (gnus-kill-buffer buf)))
 
       (setq gnus-current-select-method gnus-select-method)
-      (set-buffer gnus-group-buffer)
+      (when (buffer-live-p gnus-group-buffer)
+       (set-buffer gnus-group-buffer))
       (if quit-config
          (gnus-handle-ephemeral-exit quit-config)
        (goto-char group-point)