mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-02-16 09:14:18 +00:00
Fix scrambling of html-rendered item buffers
* net/newst-treeview.el (newsticker--treeview-render-text): Fix scrambling of contents by wrapping call to html-renderer in save-selected-window.
This commit is contained in:
parent
1564a265b9
commit
de203a67d4
1 changed files with 28 additions and 22 deletions
|
|
@ -267,28 +267,34 @@ their id stays constant."
|
|||
"Render text between markers START and END."
|
||||
(if newsticker-html-renderer
|
||||
(condition-case error-data
|
||||
(save-excursion
|
||||
(set-marker-insertion-type end t)
|
||||
;; check whether it is necessary to call html renderer
|
||||
;; (regexp inspired by htmlr.el)
|
||||
(goto-char start)
|
||||
(when (re-search-forward
|
||||
"</?[A-Za-z1-6]*\\|&#?[A-Za-z0-9]+;" end t)
|
||||
;; (message "%s" (newsticker--title item))
|
||||
(let ((w3m-fill-column (if newsticker-use-full-width
|
||||
-1 fill-column))
|
||||
(w3-maximum-line-length
|
||||
(if newsticker-use-full-width nil fill-column)))
|
||||
(save-excursion
|
||||
(funcall newsticker-html-renderer start end)))
|
||||
;;(cond ((eq newsticker-html-renderer 'w3m-region)
|
||||
;; (add-text-properties start end (list 'keymap
|
||||
;; w3m-minor-mode-map)))
|
||||
;;((eq newsticker-html-renderer 'w3-region)
|
||||
;;(add-text-properties start end (list 'keymap w3-mode-map))))
|
||||
(if (eq newsticker-html-renderer 'w3m-region)
|
||||
(w3m-toggle-inline-images t))
|
||||
t))
|
||||
;; Need to save selected window in order to prevent mixing
|
||||
;; up contents of the item buffer. This happens with shr
|
||||
;; which does some smart optimizations that apparently
|
||||
;; interfere with our own, maybe not-so-smart, optimizations.
|
||||
(save-selected-window
|
||||
(save-excursion
|
||||
(set-marker-insertion-type end t)
|
||||
;; check whether it is necessary to call html renderer
|
||||
;; (regexp inspired by htmlr.el)
|
||||
(goto-char start)
|
||||
(when (re-search-forward
|
||||
"</?[A-Za-z1-6]*\\|&#?[A-Za-z0-9]+;" end t)
|
||||
;; (message "%s" (newsticker--title item))
|
||||
(let ((w3m-fill-column (if newsticker-use-full-width
|
||||
-1 fill-column))
|
||||
(w3-maximum-line-length
|
||||
(if newsticker-use-full-width nil fill-column)))
|
||||
(select-window (newsticker--treeview-item-window))
|
||||
(save-excursion
|
||||
(funcall newsticker-html-renderer start end)))
|
||||
;;(cond ((eq newsticker-html-renderer 'w3m-region)
|
||||
;; (add-text-properties start end (list 'keymap
|
||||
;; w3m-minor-mode-map)))
|
||||
;;((eq newsticker-html-renderer 'w3-region)
|
||||
;;(add-text-properties start end (list 'keymap w3-mode-map))))
|
||||
(if (eq newsticker-html-renderer 'w3m-region)
|
||||
(w3m-toggle-inline-images t))
|
||||
t)))
|
||||
(error
|
||||
(message "Error: HTML rendering failed: %s, %s"
|
||||
(car error-data) (cdr error-data))
|
||||
|
|
|
|||
Loading…
Reference in a new issue