X-Git-Url: https://code.delx.au/gnu-emacs/blobdiff_plain/5074ca955ca654e173cfa5f321e4e67010e53f82..fca8b94cf0138be6a92b24b039c10e3680227d5d:/lisp/help-at-pt.el diff --git a/lisp/help-at-pt.el b/lisp/help-at-pt.el index 3d01ed6d6b..fcb431feba 100644 --- a/lisp/help-at-pt.el +++ b/lisp/help-at-pt.el @@ -1,6 +1,6 @@ ;;; help-at-pt.el --- local help through the keyboard -;; Copyright (C) 2003 Free Software Foundation, Inc. +;; Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc. ;; Author: Luc Teirlinck ;; Keywords: help @@ -19,8 +19,8 @@ ;; You should have received a copy of the GNU General Public License ;; along with GNU Emacs; see the file COPYING. If not, write to the -;; Free Software Foundation, Inc., 59 Temple Place - Suite 330, -;; Boston, MA 02111-1307, USA. +;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +;; Boston, MA 02110-1301, USA. ;;; Commentary: @@ -40,6 +40,11 @@ ;; previous region with available local help and print the help found ;; there. ;; +;; Suggested key bindings: +;; +;; (global-set-key [C-tab] 'scan-buf-next-region) +;; (global-set-key [C-M-tab] 'scan-buf-previous-region) +;; ;; You do not have to do anything special to use the functionality ;; provided by this file, because all important functions autoload. @@ -48,7 +53,7 @@ (defgroup help-at-pt nil "Features for displaying local help." :group 'help - :version "21.4") + :version "22.1") ;;;###autoload (defun help-at-pt-string (&optional kbd) @@ -93,6 +98,13 @@ mainly meant for use from Lisp." (message "%s" help) (if (not arg) (message "No local help at point"))))) +(defvar help-at-pt-timer nil + "Non-nil means that a timer is set that checks for local help. +If non-nil, this is the value returned by the call of +`run-with-idle-timer' that set that timer. This variable is used +internally to enable `help-at-pt-display-when-idle'. Do not set it +yourself.") + (defcustom help-at-pt-timer-delay 1 "*Delay before displaying local help. This is used if `help-at-pt-display-when-idle' is enabled. @@ -101,23 +113,18 @@ The value may be an integer or floating point number. If a timer is already active, there are two ways to make the new value take effect immediately. After setting the value, you can first call `help-at-pt-cancel-timer' and then set a new timer -with `help-at-pt-set-timer' . Alternatively, you can set this +with `help-at-pt-set-timer'. Alternatively, you can set this variable through Custom. This will not set a timer if none is active, but if one is already active, Custom will make it use the new value." :group 'help-at-pt :type 'number + :initialize 'custom-initialize-default :set (lambda (variable value) (set-default variable value) - (when (and (boundp 'help-at-pt-timer) help-at-pt-timer) - (timer-set-idle-time help-at-pt-timer value t)))) - -(defvar help-at-pt-timer nil - "Non-nil means that a timer is set that checks for local help. -If non-nil, this is the value returned by the call of -`run-with-idle-timer' that set that timer. This variable is used -internally to enable `help-at-pt-display-when-idle'. Do not set it -yourself.") + (and (boundp 'help-at-pt-timer) + help-at-pt-timer + (timer-set-idle-time help-at-pt-timer value t)))) ;;;###autoload (defun help-at-pt-cancel-timer () @@ -343,13 +350,7 @@ different regions. With numeric argument ARG, behaves like (interactive "p") (scan-buf-move-to-region 'help-echo (- arg) 'scan-buf-move-hook)) -(defvar help-at-pt-unload-hook '(help-at-pt-cancel-timer) - "Normal hook run when `help-at-pt' is unloaded.") - -;; Suggested key bindings: -;; -;; (global-set-key [C-tab] 'scan-buf-next-region) -;; (global-set-key [C-M-tab] 'scan-buf-previous-region) +(add-hook 'help-at-pt-unload-hook 'help-at-pt-cancel-timer) (provide 'help-at-pt)