]> git.eshelyaron.com Git - emacs.git/commitdiff
(tooltip-mode): Set tooltip-show-help-non-mode as
authorJan Djärv <jan.h.d@swipnet.se>
Wed, 9 Apr 2008 09:34:16 +0000 (09:34 +0000)
committerJan Djärv <jan.h.d@swipnet.se>
Wed, 9 Apr 2008 09:34:16 +0000 (09:34 +0000)
show-help-function when turning tooltip off.
(tooltip-show): Call tooltip-show-help-non-mode if use-echo-area.
(tooltip-trunc-str, tooltip-show-help-non-mode): New.

lisp/ChangeLog
lisp/tooltip.el

index 55bac7a63bfa989ab9a011ba20be340ce0b885bb..8a2a05d8cfd37d8e1f5c090917f68246ef25c364 100644 (file)
@@ -1,3 +1,10 @@
+2008-04-09  Jan Djärv  <jan.h.d@swipnet.se>
+
+       * tooltip.el (tooltip-mode): Set tooltip-show-help-non-mode as
+       show-help-function when turning tooltip off.
+       (tooltip-show): Call tooltip-show-help-non-mode if use-echo-area.
+       (tooltip-trunc-str, tooltip-show-help-non-mode): New.
+
 2008-04-09  Alan Mackenzie  <acm@muc.de>
 
        * font-lock.el (font-lock-extend-after-change-region-function):
index 253ce48e8ec3a1ebe246a327ac2b7bf74e72aebe..bfbedcf0c13b9051b58d61960b5ea0b0dfa9f4ea 100644 (file)
@@ -67,7 +67,7 @@ the help text in the echo area, and does not make a pop-up window."
       (remove-hook 'pre-command-hook 'tooltip-hide))
     (remove-hook 'tooltip-hook 'tooltip-help-tips))
   (setq show-help-function
-       (if tooltip-mode 'tooltip-show-help nil)))
+       (if tooltip-mode 'tooltip-show-help 'tooltip-show-help-non-mode)))
 
 \f
 ;;; Customizable settings
@@ -228,7 +228,7 @@ position.
 Optional second arg USE-ECHO-AREA non-nil means to show tooltip
 in echo area."
   (if use-echo-area
-      (message "%s" text)
+      (tooltip-show-help-non-mode text)
     (condition-case error
        (let ((params (copy-sequence tooltip-frame-parameters))
              (fg (face-attribute 'tooltip :foreground))
@@ -316,6 +316,22 @@ the buffer of PROCESS."
 (defvar tooltip-help-message nil
   "The last help message received via `tooltip-show-help'.")
 
+(defun tooltip-trunc-str (str maxlen pieces)
+  (let ((s (car pieces)))
+    (if (and pieces (< (+ (length str) (length s) 2) maxlen))
+      (tooltip-trunc-str (concat str 
+                                (if (> (length str) 0) ", "  "") 
+                                s)
+                        maxlen (cdr pieces))
+      (if (> (length str) 0) str s))))
+
+(defun tooltip-show-help-non-mode (msg)
+  "Function installed as `show-help-function' when tooltip is off."
+  (message "%s" (if msg
+                   (tooltip-trunc-str "" (frame-parameter nil 'width)
+                                      (split-string msg "\n" t))
+                 "")))
+
 (defun tooltip-show-help (msg)
   "Function installed as `show-help-function'.
 MSG is either a help string to display, or nil to cancel the display."