[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] emacs-25 de203a6: Fix scrambling of html-rendered item buf
From: |
Ulf Jasper |
Subject: |
[Emacs-diffs] emacs-25 de203a6: Fix scrambling of html-rendered item buffers |
Date: |
Mon, 30 Nov 2015 17:03:10 +0000 |
branch: emacs-25
commit de203a67d4c3762edd8ee7fdd346b4728331354d
Author: Ulf Jasper <address@hidden>
Commit: Ulf Jasper <address@hidden>
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.
---
lisp/net/newst-treeview.el | 50 ++++++++++++++++++++++++-------------------
1 files changed, 28 insertions(+), 22 deletions(-)
diff --git a/lisp/net/newst-treeview.el b/lisp/net/newst-treeview.el
index 0c2df88..4f81b86 100644
--- a/lisp/net/newst-treeview.el
+++ b/lisp/net/newst-treeview.el
@@ -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))
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] emacs-25 de203a6: Fix scrambling of html-rendered item buffers,
Ulf Jasper <=