* gnus-art.el (gnus-article-wash-html-with-w3m): Ditto.
* lpath.el: Bind w3m-link-map for Emacs 21, 22, and XEmacs.
+2008-12-04 Naohiro Aota <nao.aota@gmail.com>
+
+ * mm-view.el (mm-inline-text-html-render-with-w3m): Put special keymap
+ on links.
+
+ * gnus-art.el (gnus-article-wash-html-with-w3m): Ditto.
+
+ * lpath.el: Bind w3m-link-map for Emacs 21, 22, and XEmacs.
+
2008-12-03 Stefan Monnier <monnier@iro.umontreal.ca>
* nnimap.el (nnimap-retrieve-headers-progress): Don't use nnimap-demule
(when (and mm-inline-text-html-with-w3m-keymap
(boundp 'w3m-minor-mode-map)
w3m-minor-mode-map)
- (add-text-properties
- (point-min) (point-max)
- (list 'keymap w3m-minor-mode-map
- ;; Put the mark meaning this part was rendered by emacs-w3m.
- 'mm-inline-text-html-with-w3m t))))
+ (if (and (boundp 'w3m-link-map)
+ w3m-link-map)
+ (let ((begin (point-min))
+ (map (copy-keymap w3m-link-map))
+ end)
+ (set-keymap-parent map w3m-minor-mode-map)
+ (while (setq end (next-single-property-change begin
+ 'w3m-href-anchor))
+ (add-text-properties
+ begin end
+ (list 'keymap (if (get-text-property begin 'w3m-href-anchor)
+ map
+ w3m-minor-mode-map)
+ ;; Put the mark meaning this part was rendered by emacs-w3m.
+ 'mm-inline-text-html-with-w3m t))
+ (setq begin end))
+ (add-text-properties
+ begin (point-max)
+ (list 'keymap (if (get-text-property begin 'w3m-href-anchor)
+ map
+ w3m-minor-mode-map)
+ ;; Put the mark meaning this part was rendered by emacs-w3m.
+ 'mm-inline-text-html-with-w3m t)))
+ (add-text-properties
+ (point-min) (point-max)
+ (list 'keymap w3m-minor-mode-map
+ ;; Put the mark meaning this part was rendered by emacs-w3m.
+ 'mm-inline-text-html-with-w3m t)))))
(defvar charset) ;; Bound by `article-wash-html'.
Info-index-next Info-menu bbdb-complete-name display-time-event-handler
epg-check-configuration find-coding-system frame-device w3-do-setup
w3-prepare-buffer w3-region w32-focus-frame w3m-detect-meta-charset
- w3m-region)))
+ w3m-region))
+ (maybe-bind
+ '(w3m-link-map)))
(when (= emacs-major-version 21)
(defun split-line (&optional arg))
mouse-selection-click-count-buffer ps-print-color-p
rmail-insert-mime-forwarded-message-function
show-trailing-whitespace tool-bar-mode transient-mark-mode
- url-version w3-meta-charset-content-type-regexp
+ url-version w3-meta-charset-content-type-regexp w3m-link-map
w3-meta-content-type-charset-regexp))
(when (or (and (= emacs-major-version 21) (= emacs-minor-version 4))
(when (and mm-inline-text-html-with-w3m-keymap
(boundp 'w3m-minor-mode-map)
w3m-minor-mode-map)
- (add-text-properties
- (point-min) (point-max)
- (list 'keymap w3m-minor-mode-map
- ;; Put the mark meaning this part was rendered by emacs-w3m.
- 'mm-inline-text-html-with-w3m t)))
+ (if (and (boundp 'w3m-link-map)
+ w3m-link-map)
+ (let ((begin (point-min))
+ (map (copy-keymap w3m-link-map))
+ end)
+ (set-keymap-parent map w3m-minor-mode-map)
+ (while (setq end (next-single-property-change
+ begin 'w3m-href-anchor))
+ (add-text-properties
+ begin end
+ (list 'keymap (if (get-text-property begin 'w3m-href-anchor)
+ map
+ w3m-minor-mode-map)
+ ;; Put the mark meaning this part was rendered
+ ;; by emacs-w3m.
+ 'mm-inline-text-html-with-w3m t))
+ (setq begin end))
+ (add-text-properties
+ begin (point-max)
+ (list 'keymap (if (get-text-property begin 'w3m-href-anchor)
+ map
+ w3m-minor-mode-map)
+ ;; Put the mark meaning this part was rendered
+ ;; by emacs-w3m.
+ 'mm-inline-text-html-with-w3m t)))
+ (add-text-properties
+ (point-min) (point-max)
+ (list 'keymap w3m-minor-mode-map
+ ;; Put the mark meaning this part was rendered
+ ;; by emacs-w3m.
+ 'mm-inline-text-html-with-w3m t))))
(mm-handle-set-undisplayer
handle
`(lambda ()