summaryrefslogtreecommitdiff
path: root/lisp/ehelp.el
diff options
context:
space:
mode:
authorRichard M. Stallman <rms@gnu.org>1997-03-28 22:58:58 +0000
committerRichard M. Stallman <rms@gnu.org>1997-03-28 22:58:58 +0000
commit9201fa0683b880f1ff0101f471b4b2243449ea51 (patch)
tree1cea0f3e6a29c3236f9a4768cebd0a8827a69a30 /lisp/ehelp.el
parent4b1434c2cac71fa1099a609b2ea96c2809422e69 (diff)
downloademacs-9201fa0683b880f1ff0101f471b4b2243449ea51.tar.gz
(with-electric-help): Remove hook on exit.
(electric-help-exit): Add doc string. Remove hook before exit.
Diffstat (limited to 'lisp/ehelp.el')
-rw-r--r--lisp/ehelp.el15
1 files changed, 12 insertions, 3 deletions
diff --git a/lisp/ehelp.el b/lisp/ehelp.el
index c469c3d10f9..3656521f686 100644
--- a/lisp/ehelp.el
+++ b/lisp/ehelp.el
@@ -150,7 +150,10 @@ BUFFER is put into `default-major-mode' (or `fundamental-mode') when we exit."
(if (eq (car-safe (electric-help-command-loop))
'retain)
(setq config (current-window-configuration))
- (setq bury t)))
+ (setq bury t))
+ ;; Remove the hook.
+ (if (memq 'electric-help-retain mouse-leave-buffer-hook)
+ (remove-hook 'mouse-leave-buffer-hook 'electric-help-retain)))
(message "")
(set-buffer buffer)
(setq buffer-read-only nil)
@@ -221,9 +224,15 @@ BUFFER is put into `default-major-mode' (or `fundamental-mode') when we exit."
; (scroll-up arg)))
(defun electric-help-exit ()
- ">>>Doc"
+ "Exit `electric-help', restoring the previous window/buffer configuration.
+\(The *Help* buffer will be buried.)"
(interactive)
- (throw 'exit t))
+ ;; Make sure that we don't throw twice, even if two events cause
+ ;; calling this function:
+ (if (memq 'electric-help-retain mouse-leave-buffer-hook)
+ (progn
+ (remove-hook 'mouse-leave-buffer-hook 'electric-help-retain)
+ (throw 'exit t))))
(defun electric-help-retain ()
"Exit `electric-help', retaining the current window/buffer configuration.