emacs-diffs
[Top][All Lists]
Advanced

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

master abf06a4: Merge from origin/emacs-28


From: Stefan Kangas
Subject: master abf06a4: Merge from origin/emacs-28
Date: Tue, 7 Dec 2021 00:47:36 -0500 (EST)

branch: master
commit abf06a46b490be49f12f5509817cbb400c78bc6e
Merge: bdcf3c3 da23e60
Author: Stefan Kangas <stefan@marxist.se>
Commit: Stefan Kangas <stefan@marxist.se>

    Merge from origin/emacs-28
    
    da23e607d3 Select the right buffer for event in context-menu function...
---
 lisp/mouse.el               | 17 +++++++++--------
 lisp/progmodes/prog-mode.el |  4 +++-
 2 files changed, 12 insertions(+), 9 deletions(-)

diff --git a/lisp/mouse.el b/lisp/mouse.el
index af1eca1..459cce4 100644
--- a/lisp/mouse.el
+++ b/lisp/mouse.el
@@ -489,14 +489,15 @@ Some context functions add menu items below the 
separator."
       `(menu-item "All"
                   ,(lambda (e) (interactive "e") (mark-thing-at-mouse e 
'buffer))
                   :help "Mark the whole buffer for a subsequent cut/copy"))
-    (when (let* ((pos (posn-point (event-end click)))
-                 (char (when pos (char-after pos))))
-            (or (and char (eq (char-syntax char) ?\"))
-                (nth 3 (save-excursion (syntax-ppss pos)))))
-      (define-key-after submenu [mark-string]
-        `(menu-item "String"
-                    ,(lambda (e) (interactive "e") (mark-thing-at-mouse e 
'string))
-                    :help "Mark the string at click for a subsequent 
cut/copy")))
+    (with-current-buffer (window-buffer (posn-window (event-end click)))
+      (when (let* ((pos (posn-point (event-end click)))
+                   (char (when pos (char-after pos))))
+              (or (and char (eq (char-syntax char) ?\"))
+                  (nth 3 (save-excursion (syntax-ppss pos)))))
+        (define-key-after submenu [mark-string]
+          `(menu-item "String"
+                      ,(lambda (e) (interactive "e") (mark-thing-at-mouse e 
'string))
+                      :help "Mark the string at click for a subsequent 
cut/copy"))))
     (define-key-after submenu [mark-line]
       `(menu-item "Line"
                   ,(lambda (e) (interactive "e") (mark-thing-at-mouse e 'line))
diff --git a/lisp/progmodes/prog-mode.el b/lisp/progmodes/prog-mode.el
index 30b6edf..496b081 100644
--- a/lisp/progmodes/prog-mode.el
+++ b/lisp/progmodes/prog-mode.el
@@ -93,7 +93,9 @@
     'mark-whole-buffer)
 
   ;; Include text-mode select menu only in strings and comments.
-  (when (nth 8 (save-excursion (syntax-ppss (posn-point (event-end click)))))
+  (when (nth 8 (save-excursion
+                 (with-current-buffer (window-buffer (posn-window (event-end 
click)))
+                   (syntax-ppss (posn-point (event-end click))))))
     (text-mode-context-menu menu click))
 
   menu)



reply via email to

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