1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2025-01-01 11:14:55 +00:00

* lisp/gnus/mm-decode.el (mm-convert-shr-links):

Mask keys that launch `widget-button-click' (bug#22157).
This commit is contained in:
Katsumi Yamaoka 2016-06-22 10:32:56 +00:00
parent 829733104d
commit ea512a7c2c

View File

@ -1896,10 +1896,11 @@ If RECURSIVE, search recursively."
(defvar shr-map)
(autoload 'widget-convert-button "wid-edit")
(defvar widget-keymap)
(defun mm-convert-shr-links ()
(let ((start (point-min))
end)
end keymap)
(while (and start
(< start (point-max)))
(when (setq start (text-property-not-all start (point-max) 'shr-url nil))
@ -1907,9 +1908,16 @@ If RECURSIVE, search recursively."
(widget-convert-button
'url-link start end
:help-echo (get-text-property start 'help-echo)
:keymap shr-map
:keymap (setq keymap (copy-keymap shr-map))
(get-text-property start 'shr-url))
(put-text-property start end 'local-map nil)
;; Remove keymap that `shr-urlify' adds.
(put-text-property start end 'keymap nil)
;; Mask keys that launch `widget-button-click'.
;; Those bindings are provided by `widget-keymap'
;; that is a parent of `gnus-article-mode-map'.
(dolist (key (where-is-internal #'widget-button-click widget-keymap))
(unless (lookup-key keymap key)
(define-key keymap key #'ignore)))
(dolist (overlay (overlays-at start))
(overlay-put overlay 'face nil))
(setq start end)))))