emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

master aa33e38: Allow region-related context menu to be used on selected


From: Juri Linkov
Subject: master aa33e38: Allow region-related context menu to be used on selected region with one click
Date: Sun, 12 Sep 2021 13:56:23 -0400 (EDT)

branch: master
commit aa33e38e21e09045bc2ab598e34f3c1510442cb0
Author: Juri Linkov <juri@linkov.net>
Commit: Juri Linkov <juri@linkov.net>

    Allow region-related context menu to be used on selected region with one 
click
    
    * lisp/mouse.el (mouse-drag-track): Don't deactivate the mark for
    the context menu invoked by down-mouse-3.
    
    https://lists.gnu.org/archive/html/emacs-devel/2021-08/msg01577.html
---
 lisp/mouse.el | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/lisp/mouse.el b/lisp/mouse.el
index bd11ec5..c107322 100644
--- a/lisp/mouse.el
+++ b/lisp/mouse.el
@@ -1583,8 +1583,15 @@ The region will be defined with mark and point."
      t (lambda ()
          (setq track-mouse old-track-mouse)
          (setq auto-hscroll-mode auto-hscroll-mode-saved)
-         (deactivate-mark)
-         (pop-mark)))))
+         ;; Don't deactivate the mark when the context menu was invoked
+         ;; by down-mouse-3 immediately after down-mouse-1 and without
+         ;; releasing the mouse button with mouse-1. This allows to use
+         ;; region-related context menu to operate on the selected region.
+         (unless (and context-menu-mode
+                      (eq (car-safe (aref (this-command-keys-vector) 0))
+                          'down-mouse-3))
+           (deactivate-mark)
+           (pop-mark))))))
 
 (defun mouse--drag-set-mark-and-point (start click click-count)
   (let* ((range (mouse-start-end start click click-count))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]