X-Git-Url: https://code.delx.au/gnu-emacs/blobdiff_plain/acfa068f4a1a4652b784af1d7aaac92929399249..0fac75fed1c7d61858bef15e951bf9a0835d5bac:/lisp/tooltip.el diff --git a/lisp/tooltip.el b/lisp/tooltip.el index a57054acdd..60eabec8b4 100644 --- a/lisp/tooltip.el +++ b/lisp/tooltip.el @@ -1,6 +1,6 @@ ;;; tooltip.el --- show tooltip windows -;; Copyright (C) 1997, 1999-2012 Free Software Foundation, Inc. +;; Copyright (C) 1997, 1999-2016 Free Software Foundation, Inc. ;; Author: Gerd Moellmann ;; Keywords: help c mouse tools @@ -58,9 +58,7 @@ echo area, instead of making a pop-up window." :init-value t :initialize 'custom-initialize-delay :group 'tooltip - (unless (or (null tooltip-mode) (fboundp 'x-show-tip)) - (error "Sorry, tooltips are not yet available on this system")) - (if tooltip-mode + (if (and tooltip-mode (fboundp 'x-show-tip)) (progn (add-hook 'pre-command-hook 'tooltip-hide) (add-hook 'tooltip-functions 'tooltip-help-tips)) @@ -129,7 +127,9 @@ position to pop up the tooltip. Note that font and color parameters are ignored, and the attributes of the `tooltip' face are used instead." - :type 'sexp + :type '(repeat (cons :format "%v" + (symbol :tag "Parameter") + (sexp :tag "Value"))) :group 'tooltip) (defface tooltip @@ -151,7 +151,7 @@ This variable is obsolete; instead of setting it to t, disable :group 'tooltip) (make-obsolete-variable 'tooltip-use-echo-area - "disable Tooltip mode instead" "24.1") + "disable Tooltip mode instead" "24.1" 'set) ;;; Variables that are not customizable. @@ -217,11 +217,9 @@ This might return nil if the event did not occur over a buffer." "Change the value of KEY in alist ALIST to VALUE. If there's no association for KEY in ALIST, add one, otherwise change the existing association. Value is the resulting alist." - (let ((param (assq key alist))) - (if (consp param) - (setcdr param value) - (push (cons key value) alist)) - alist)) + (declare (obsolete "use (setf (alist-get ..) ..) instead" "25.1")) + (setf (alist-get key alist) value) + alist) (declare-function x-show-tip "xfns.c" (string &optional frame parms timeout dx dy)) @@ -246,10 +244,10 @@ in echo area." (fg (face-attribute 'tooltip :foreground)) (bg (face-attribute 'tooltip :background))) (when (stringp fg) - (setq params (tooltip-set-param params 'foreground-color fg)) - (setq params (tooltip-set-param params 'border-color fg))) + (setf (alist-get 'foreground-color params) fg) + (setf (alist-get 'border-color params) fg)) (when (stringp bg) - (setq params (tooltip-set-param params 'background-color bg))) + (setf (alist-get 'background-color params) bg)) (x-show-tip (propertize text 'face 'tooltip) (selected-frame) params @@ -288,10 +286,6 @@ is based on the current syntax table." (when (> (point) start) (buffer-substring start (point))))))) -(defmacro tooltip-region-active-p () - "Value is non-nil if the region should override command actions." - `(use-region-p)) - (defun tooltip-expr-to-print (event) "Return an expression that should be printed for EVENT. If a region is active and the mouse is inside the region, print @@ -299,7 +293,7 @@ the region. Otherwise, figure out the identifier around the point where the mouse is." (with-current-buffer (tooltip-event-buffer event) (let ((point (posn-point (event-end event)))) - (if (tooltip-region-active-p) + (if (use-region-p) (when (and (<= (region-beginning) point) (<= point (region-end))) (buffer-substring (region-beginning) (region-end))) (tooltip-identifier-from-point point))))) @@ -345,10 +339,10 @@ It is also called if Tooltip mode is on, for text-only displays." ((stringp help) (setq help (replace-regexp-in-string "\n" ", " help)) (unless (or tooltip-previous-message - (string-equal help (current-message)) + (equal-including-properties help (current-message)) (and (stringp tooltip-help-message) - (string-equal tooltip-help-message - (current-message)))) + (equal-including-properties tooltip-help-message + (current-message)))) (setq tooltip-previous-message (current-message))) (setq tooltip-help-message help) (let ((message-truncate-lines t) @@ -371,7 +365,7 @@ MSG is either a help string to display, or nil to cancel the display." ;; Cancel display. This also cancels a delayed tip, if ;; there is one. (tooltip-hide)) - ((equal previous-help msg) + ((equal-including-properties previous-help msg) ;; Same help as before (but possibly the mouse has moved). ;; Keep what we have. )