changeset 61160:2bc2e06d78aa

(mouse-1-click-follows-link): Increase to 450 ms. (mouse-fixup-help-message): New defun called by show_help_echo to fixup mouse-2 prefix in help messages when applicable.
author Kim F. Storm <storm@cua.dk>
date Thu, 31 Mar 2005 10:10:25 +0000
parents ef9cbc6a6401
children 22abf0130979
files lisp/mouse.el
diffstat 1 files changed, 26 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/mouse.el	Thu Mar 31 10:08:17 2005 +0000
+++ b/lisp/mouse.el	Thu Mar 31 10:10:25 2005 +0000
@@ -49,7 +49,7 @@
   :version "22.1"
   :group 'mouse)
 
-(defcustom mouse-1-click-follows-link 350
+(defcustom mouse-1-click-follows-link 450
   "Non-nil means that clicking Mouse-1 on a link follows the link.
 
 With the default setting, an ordinary Mouse-1 click on a link
@@ -837,6 +837,29 @@
 	    (funcall action pos))
 	   (t action)))))))
 
+(defun mouse-fixup-help-message (msg)
+  "Fix help message MSG for `mouse-1-click-follows-link'."
+  (let (mp pos)
+    (if (and mouse-1-click-follows-link
+	     (stringp msg)
+	     (save-match-data
+	       (string-match "^mouse-2" msg))
+	     (setq mp (mouse-pixel-position))
+	     (consp (setq pos (cdr mp)))
+	     (car pos) (>= (car pos) 0)
+	     (cdr pos) (>= (cdr pos) 0)
+	     (setq pos (posn-at-x-y (car pos) (cdr pos) (car mp)))
+	     (windowp (posn-window pos)))
+	(with-current-buffer (window-buffer (posn-window pos))
+	  (if (mouse-on-link-p pos)
+	      (setq msg (concat
+		    (cond
+		     ((eq mouse-1-click-follows-link 'double) "double-")
+		     ((and (integerp mouse-1-click-follows-link)
+			   (< mouse-1-click-follows-link 0)) "Long ")
+		     (t ""))
+		    "mouse-1" (substring msg 7)))))))
+  msg)
 
 (defun mouse-drag-region-1 (start-event)
   (mouse-minibuffer-check start-event)
@@ -886,6 +909,7 @@
       (track-mouse
 	(while (progn
 		 (setq event (read-event))
+		 (setq mve (cons event (and (boundp 'mve) mve)))
 		 (or (mouse-movement-p event)
 		     (memq (car-safe event) '(switch-frame select-window))))
 	  (if (memq (car-safe event) '(switch-frame select-window))
@@ -997,7 +1021,7 @@
 			     (= (window-start start-window)
 				start-window-start)))
 		(if (and on-link
-			 (not end-point)
+			 (or (not end-point) (= end-point start-point))
 			 (consp event)
 			 (or remap-double-click
 			     (and