emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] /srv/bzr/emacs/trunk r111112: * lisp/gnus/gnus.el (gnus-de


From: Sam Steingold
Subject: [Emacs-diffs] /srv/bzr/emacs/trunk r111112: * lisp/gnus/gnus.el (gnus-delete-gnus-frame): Extract from `gnus-other-frame'.
Date: Wed, 05 Dec 2012 13:13:38 -0500
User-agent: Bazaar (2.5.0)

------------------------------------------------------------
revno: 111112
committer: Sam Steingold <address@hidden>
branch nick: trunk
timestamp: Wed 2012-12-05 13:13:38 -0500
message:
  * lisp/gnus/gnus.el (gnus-delete-gnus-frame): Extract from `gnus-other-frame'.
  (gnus-other-frame): Add `gnus-delete-gnus-frame' to
  `gnus-suspend-gnus-hook' in addition to `gnus-exit-gnus-hook'.
modified:
  lisp/gnus/ChangeLog
  lisp/gnus/gnus.el
=== modified file 'lisp/gnus/ChangeLog'
--- a/lisp/gnus/ChangeLog       2012-12-05 10:29:31 +0000
+++ b/lisp/gnus/ChangeLog       2012-12-05 18:13:38 +0000
@@ -1,3 +1,9 @@
+2012-12-05  Sam Steingold  <address@hidden>
+
+       * gnus.el (gnus-delete-gnus-frame): Extract from `gnus-other-frame'.
+       (gnus-other-frame): Add `gnus-delete-gnus-frame' to
+       `gnus-suspend-gnus-hook' in addition to `gnus-exit-gnus-hook'.
+
 2012-12-05  Katsumi Yamaoka  <address@hidden>
 
        * gmm-utils.el (gmm-called-interactively-p): Revert.

=== modified file 'lisp/gnus/gnus.el'
--- a/lisp/gnus/gnus.el 2012-09-05 22:35:32 +0000
+++ b/lisp/gnus/gnus.el 2012-12-05 18:13:38 +0000
@@ -4348,6 +4348,14 @@
   (interactive "P")
   (gnus arg nil 'slave))
 
+(defun gnus-delete-gnus-frame ()
+  "Delete gnus frame unless it is the only one.
+Used for `gnus-exit-gnus-hook' in `gnus-other-frame'."
+  (when (and (frame-live-p gnus-other-frame-object)
+             (cdr (frame-list)))
+    (delete-frame gnus-other-frame-object))
+  (setq gnus-other-frame-object nil))
+
 ;;;###autoload
 (defun gnus-other-frame (&optional arg display)
   "Pop up a frame to read news.
@@ -4388,12 +4396,13 @@
       (if alive
          (switch-to-buffer gnus-group-buffer)
        (funcall gnus-other-frame-function arg)
-       (add-hook 'gnus-exit-gnus-hook
-                 (lambda nil
-                    (when (and (frame-live-p gnus-other-frame-object)
-                               (cdr (frame-list)))
-                      (delete-frame gnus-other-frame-object))
-                    (setq gnus-other-frame-object nil)))))))
+       (add-hook 'gnus-exit-gnus-hook 'gnus-delete-gnus-frame)
+  ;; One might argue that `gnus-delete-gnus-frame' should not be called
+  ;; from `gnus-suspend-gnus-hook', but, on the other hand, one might
+  ;; argue that it should.  No matter what you think, for the sake of
+  ;; those who want it to be called from it, please keep (defun
+  ;; gnus-delete-gnus-frame) even if you remove the next `add-hook'.
+  (add-hook 'gnus-suspend-gnus-hook 'gnus-delete-gnus-frame)))))
 
 ;;;###autoload
 (defun gnus (&optional arg dont-connect slave)


reply via email to

[Prev in Thread] Current Thread [Next in Thread]