]> git.eshelyaron.com Git - emacs.git/commitdiff
(mouse-drag-track): Suppress automatic hscrolling for initial down
authorChong Yidong <cyd@stupidchicken.com>
Sat, 2 Dec 2006 21:47:02 +0000 (21:47 +0000)
committerChong Yidong <cyd@stupidchicken.com>
Sat, 2 Dec 2006 21:47:02 +0000 (21:47 +0000)
event.

lisp/mouse.el

index 23a2cab4740d077ff1be15c57e4472313d2fb8f7..b60552f118308edb88e3bbca0a17a03b605ef2e0 100644 (file)
@@ -925,7 +925,11 @@ should only be used by mouse-drag-region."
         (click-count (1- (event-click-count start-event)))
         (remap-double-click (and on-link
                                  (eq mouse-1-click-follows-link 'double)
-                                 (= click-count 1))))
+                                 (= click-count 1)))
+        ;; Suppress automatic hscrolling, because that is a nuisance
+        ;; when setting point near the right fringe (but see below).
+        (automatic-hscrolling-saved automatic-hscrolling)
+        (automatic-hscrolling nil))
     (setq mouse-selection-click-count click-count)
     ;; In case the down click is in the middle of some intangible text,
     ;; use the end of that text, and put it in START-POINT.
@@ -946,6 +950,11 @@ should only be used by mouse-drag-region."
                      (memq (car-safe event) '(switch-frame select-window))))
           (if (memq (car-safe event) '(switch-frame select-window))
              nil
+           ;; Automatic hscrolling did not occur during the call to
+           ;; `read-event'; but if the user subsequently drags the
+           ;; mouse, go ahead and hscroll.
+           (let ((automatic-hscrolling automatic-hscrolling-saved))
+             (redisplay))
            (setq end (event-end event)
                  end-point (posn-point end))
            (if (numberp end-point)