aboutsummaryrefslogtreecommitdiffstats
path: root/lisp
diff options
context:
space:
mode:
authorEli Zaretskii2015-06-30 18:59:21 +0300
committerEli Zaretskii2015-06-30 18:59:21 +0300
commitedd09381c618125d8aa23c9414034fbeee176305 (patch)
tree009641f2aad95cc9852b06b036a4e6a9f143be94 /lisp
parent881c4790266c42805ac1b9a5f1bbe13d3dd23478 (diff)
downloademacs-edd09381c618125d8aa23c9414034fbeee176305.tar.gz
emacs-edd09381c618125d8aa23c9414034fbeee176305.zip
Don't block changes in mouse pointer inside 'track-mouse'
* etc/NEWS: * doc/lispref/frames.texi (Mouse Tracking): Document the special effect of setting 'track-mouse' to 'dragging'. * lisp/textmodes/artist.el (artist-mouse-draw-continously): * lisp/ruler-mode.el (ruler-mode-mouse-drag-any-column-iteration): * lisp/mouse-drag.el (mouse-drag-throw): * lisp/mouse.el (mouse-drag-line): Set 'track-mouse' to 'dragging' to avoid changes in the shape of the mouse pointer. * src/xdisp.c (define_frame_cursor1): Don't change the mouse pointer shape when do_mouse_tracking has the value of 'dragging', not just any non-nil value. (Bug#20934) (syms_of_xdisp): DEFSYM 'dragging'.
Diffstat (limited to 'lisp')
-rw-r--r--lisp/mouse-drag.el2
-rw-r--r--lisp/mouse.el6
-rw-r--r--lisp/ruler-mode.el2
-rw-r--r--lisp/textmodes/artist.el3
4 files changed, 11 insertions, 2 deletions
diff --git a/lisp/mouse-drag.el b/lisp/mouse-drag.el
index 88838edaaed..945c305db7d 100644
--- a/lisp/mouse-drag.el
+++ b/lisp/mouse-drag.el
@@ -222,6 +222,8 @@ To test this function, evaluate:
222 (col-scrolling-p (mouse-drag-should-do-col-scrolling))) 222 (col-scrolling-p (mouse-drag-should-do-col-scrolling)))
223 (select-window start-window) 223 (select-window start-window)
224 (track-mouse 224 (track-mouse
225 ;; Don't change the mouse pointer shape while we drag.
226 (setq track-mouse 'dragging)
225 (while (progn 227 (while (progn
226 (setq event (read-event) 228 (setq event (read-event)
227 end (event-end event) 229 end (event-end event)
diff --git a/lisp/mouse.el b/lisp/mouse.el
index 7854d32eb20..9bb00cb105e 100644
--- a/lisp/mouse.el
+++ b/lisp/mouse.el
@@ -468,8 +468,10 @@ must be one of the symbols `header', `mode', or `vertical'."
468 (setq dragged t) 468 (setq dragged t)
469 (adjust-window-trailing-edge window growth nil t)) 469 (adjust-window-trailing-edge window growth nil t))
470 (setq last-position position)))))) 470 (setq last-position position))))))
471 ;; Start tracking. 471 ;; Start tracking. The special value 'dragging' signals the
472 (setq track-mouse t) 472 ;; display engine to freeze the mouse pointer shape for as long
473 ;; as we drag.
474 (setq track-mouse 'dragging)
473 ;; Loop reading events and sampling the position of the mouse. 475 ;; Loop reading events and sampling the position of the mouse.
474 (setq exitfun 476 (setq exitfun
475 (set-transient-map 477 (set-transient-map
diff --git a/lisp/ruler-mode.el b/lisp/ruler-mode.el
index f0b012ed2f1..4f68909ed4c 100644
--- a/lisp/ruler-mode.el
+++ b/lisp/ruler-mode.el
@@ -437,6 +437,8 @@ the mouse has been clicked."
437 (let ((drags 0) 437 (let ((drags 0)
438 event) 438 event)
439 (track-mouse 439 (track-mouse
440 ;; Signal the display engine to freeze the mouse pointer shape.
441 (setq track-mouse 'dragging)
440 (while (mouse-movement-p (setq event (read-event))) 442 (while (mouse-movement-p (setq event (read-event)))
441 (setq drags (1+ drags)) 443 (setq drags (1+ drags))
442 (when (eq window (posn-window (event-end event))) 444 (when (eq window (posn-window (event-end event)))
diff --git a/lisp/textmodes/artist.el b/lisp/textmodes/artist.el
index 14cf402a971..a29418e6f84 100644
--- a/lisp/textmodes/artist.el
+++ b/lisp/textmodes/artist.el
@@ -4965,6 +4965,9 @@ The event, EV, is the mouse event."
4965 (artist-no-rb-set-point1 x1 y1)) 4965 (artist-no-rb-set-point1 x1 y1))
4966 (unwind-protect 4966 (unwind-protect
4967 (track-mouse 4967 (track-mouse
4968 ;; We don't want flickering of mouse pointer shape while we
4969 ;; drag the mouse.
4970 (setq track-mouse 'dragging)
4968 (while (or (mouse-movement-p ev) 4971 (while (or (mouse-movement-p ev)
4969 (member 'down (event-modifiers ev))) 4972 (member 'down (event-modifiers ev)))
4970 (setq ev-start-pos (artist-coord-win-to-buf 4973 (setq ev-start-pos (artist-coord-win-to-buf