# HG changeset patch # User Richard M. Stallman # Date 859589938 0 # Node ID 30b7f4899d6613e65d46e70c1ec4bb5708b9f74a # Parent 831da82608c3bb71a9ff0b4697ab55a1bb9aad6a (with-electric-help): Remove hook on exit. (electric-help-exit): Add doc string. Remove hook before exit. diff -r 831da82608c3 -r 30b7f4899d66 lisp/ehelp.el --- a/lisp/ehelp.el Fri Mar 28 02:33:07 1997 +0000 +++ b/lisp/ehelp.el Fri Mar 28 22:58:58 1997 +0000 @@ -150,7 +150,10 @@ (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 @@ ; (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.