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

Re: the w3m keys should work even if on a gnus header



In [emacs-w3m : No.11704] Katsumi Yamaoka wrote:
> In [emacs-w3m : No.11702] jidanni@xxxxxxxxxxx wrote:
>> When reading in gnus, as we know, the w3m keys like
>>} w3m-next-image
>> only work when the cursor is below the [1. text/html],

> [...]

>> Wouldn't it be neat if they worked no matter where the cursor was?

> I hesitate to do that since it will mask new Gnus' features someone
> may add in the future.  So, I think it should be done at one's risk;
> like this:

> (defadvice mm-inline-text-html-render-with-w3m (after add-some-w3m-keys
> 						      activate)

Sorry, please replace it with this:

(defadvice mm-inline-text-html-render-with-w3m (after add-some-w3m-keys
						      activate)
  "Make some emacs-w3m keys be available in the whole of article buffer."
  (when (and mm-inline-text-html-with-w3m-keymap
	     (boundp 'w3m-minor-mode-map)
	     w3m-minor-mode-map)
    (let ((inhibit-read-only t)
	  (keymap (make-sparse-keymap))
	  start end)
      (define-key keymap "}" 'w3m-next-image)
      (define-key keymap "{" 'w3m-previous-image)
      (save-restriction
	(widen)
	(setq start (point-min))
	(while (setq start (text-property-any start (point-max) 'keymap nil))
	  (setq end (or (text-property-not-all start (point-max) 'keymap nil)
			(point-max)))
	  (put-text-property start end 'keymap keymap)
	  (setq start end))))))