]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix region display while dragging mouse
authorEli Zaretskii <eliz@gnu.org>
Sat, 30 Jul 2016 08:32:02 +0000 (11:32 +0300)
committerEli Zaretskii <eliz@gnu.org>
Fri, 23 Sep 2016 14:01:42 +0000 (17:01 +0300)
* lisp/mouse.el (mouse-drag-track): Reset deactivate-mark in the
buffer of the drag event, to allow mark to be set and the region
be shown as we drag the mouse.  (Bug#24030)

This was backported from master
(cherry picked from commit 7d58b02f363ab02961faa950d1ba727df96f2f19)

lisp/mouse.el

index d0694007d56039e7b07966fce773e550c8d4fcf6..699225277de3a4b7b8aa5b3f9ee6a7c1ee251a3f 100644 (file)
@@ -808,14 +808,16 @@ The region will be defined with mark and point."
   (setq mouse-selection-click-count-buffer (current-buffer))
   (deactivate-mark)
   (let* ((scroll-margin 0) ; Avoid margin scrolling (Bug#9541).
+        (start-posn (event-start start-event))
+        (start-point (posn-point start-posn))
+        (start-window (posn-window start-posn))
+        (_ (with-current-buffer (window-buffer start-window)
+             (setq deactivate-mark nil)))
          ;; We've recorded what we needed from the current buffer and
          ;; window, now let's jump to the place of the event, where things
          ;; are happening.
          (_ (mouse-set-point start-event))
          (echo-keystrokes 0)
-        (start-posn (event-start start-event))
-        (start-point (posn-point start-posn))
-        (start-window (posn-window start-posn))
         (bounds (window-edges start-window))
         (make-cursor-line-fully-visible nil)
         (top (nth 1 bounds))