From 0bd6ae773a1ade1bdec2c233df4f260d028fd6c5 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Cl=C3=A9ment=20Pit-Claudel?= Date: Sun, 26 Apr 2020 12:41:42 -0400 Subject: [PATCH] Only treat display strings as buttons if they have 'button' property * lisp/button.el (push-button): Use 'posn-point' instead of 'posn-string' if the string doesn't have the 'button' property (Bug#40859). --- lisp/button.el | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/lisp/button.el b/lisp/button.el index b3afc4eca25..3a6a6de774c 100644 --- a/lisp/button.el +++ b/lisp/button.el @@ -469,10 +469,12 @@ return t." ;; POS is a mouse event; switch to the proper window/buffer (let ((posn (event-start pos))) (with-current-buffer (window-buffer (posn-window posn)) - (if (posn-string posn) - ;; mode-line, header-line, or display string event. - (button-activate (posn-string posn) t) - (push-button (posn-point posn) t)))) + (let* ((str (posn-string posn)) + (str-button (and str (get-text-property (cdr str) 'button (car str))))) + (if str-button + ;; mode-line, header-line, or display string event. + (button-activate str t) + (push-button (posn-point posn) t))))) ;; POS is just normal position (let ((button (button-at (or pos (point))))) (when button -- 2.39.2