Commit 1250af7b authored by Katsumi Yamaoka's avatar Katsumi Yamaoka
Browse files

* mm-view.el (mm-inline-text-html-render-with-w3m): Make it simple and fast.

* gnus-art.el (gnus-article-wash-html-with-w3m): Ditto.
parent a3b1a468
2008-12-04 Katsumi Yamaoka <yamaoka@jpl.org>
* mm-view.el (mm-inline-text-html-render-with-w3m): Make it simple and
fast.
* gnus-art.el (gnus-article-wash-html-with-w3m): Ditto.
2008-12-04 Naohiro Aota <nao.aota@gmail.com>
* mm-view.el (mm-inline-text-html-render-with-w3m): Put special keymap
......
......@@ -2728,37 +2728,33 @@ charset defined in `gnus-summary-show-article-charset-alist' is used."
(let ((w3m-safe-url-regexp mm-w3m-safe-url-regexp)
w3m-force-redisplay)
(w3m-region (point-min) (point-max)))
;; Put the mark meaning this part was rendered by emacs-w3m.
(put-text-property (point-min) (point-max) 'mm-inline-text-html-with-w3m t)
(when (and mm-inline-text-html-with-w3m-keymap
(boundp 'w3m-minor-mode-map)
w3m-minor-mode-map)
(if (and (boundp 'w3m-link-map)
w3m-link-map)
(let ((begin (point-min))
(map (copy-keymap w3m-link-map))
end)
(let* ((start (point-min))
(end (point-max))
(on (get-text-property start 'w3m-href-anchor))
(map (copy-keymap w3m-link-map))
next)
(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)))))
(while (< start end)
(if on
(progn
(setq next (or (text-property-any start end
'w3m-href-anchor nil)
end))
(put-text-property start next 'keymap map))
(setq next (or (text-property-not-all start end
'w3m-href-anchor nil)
end))
(put-text-property start next 'keymap w3m-minor-mode-map))
(setq start next
on (not on))))
(put-text-property (point-min) (point-max) 'keymap w3m-minor-mode-map))))
(defvar charset) ;; Bound by `article-wash-html'.
......
......@@ -258,40 +258,35 @@
(let ((w3m-safe-url-regexp mm-w3m-safe-url-regexp)
w3m-force-redisplay)
(w3m-region (point-min) (point-max) nil charset))
;; Put the mark meaning this part was rendered by emacs-w3m.
(put-text-property (point-min) (point-max)
'mm-inline-text-html-with-w3m t)
(when (and mm-inline-text-html-with-w3m-keymap
(boundp 'w3m-minor-mode-map)
w3m-minor-mode-map)
(if (and (boundp 'w3m-link-map)
w3m-link-map)
(let ((begin (point-min))
(map (copy-keymap w3m-link-map))
end)
(let* ((start (point-min))
(end (point-max))
(on (get-text-property start 'w3m-href-anchor))
(map (copy-keymap w3m-link-map))
next)
(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))))
(while (< start end)
(if on
(progn
(setq next (or (text-property-any start end
'w3m-href-anchor nil)
end))
(put-text-property start next 'keymap map))
(setq next (or (text-property-not-all start end
'w3m-href-anchor nil)
end))
(put-text-property start next 'keymap w3m-minor-mode-map))
(setq start next
on (not on))))
(put-text-property (point-min) (point-max)
'keymap w3m-minor-mode-map)))
(mm-handle-set-undisplayer
handle
`(lambda ()
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment