(mouse-1-click-follows-link): Increase to 450 ms.
authorKim F. Storm <storm@cua.dk>
Thu, 31 Mar 2005 10:10:25 +0000 (10:10 +0000)
committerKim F. Storm <storm@cua.dk>
Thu, 31 Mar 2005 10:10:25 +0000 (10:10 +0000)
(mouse-fixup-help-message): New defun called by show_help_echo
to fixup mouse-2 prefix in help messages when applicable.

lisp/mouse.el

index fdc9920..a409efa 100644 (file)
@@ -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 @@ at the same position."
            (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 @@ at the same position."
       (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 @@ at the same position."
                             (= (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