diff options
| author | Ulf Jasper | 2015-11-30 17:55:35 +0100 |
|---|---|---|
| committer | Ulf Jasper | 2015-11-30 18:02:36 +0100 |
| commit | de203a67d4c3762edd8ee7fdd346b4728331354d (patch) | |
| tree | 6acb2e8f912d596be8aa38c781f41bf5eda647b4 | |
| parent | 1564a265b94d793288a0ccb56b76af7c3b7ca411 (diff) | |
| download | emacs-de203a67d4c3762edd8ee7fdd346b4728331354d.tar.gz emacs-de203a67d4c3762edd8ee7fdd346b4728331354d.zip | |
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.
| -rw-r--r-- | 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 0c2df8897d7..4f81b864970 100644 --- a/lisp/net/newst-treeview.el +++ b/lisp/net/newst-treeview.el | |||
| @@ -267,28 +267,34 @@ their id stays constant." | |||
| 267 | "Render text between markers START and END." | 267 | "Render text between markers START and END." |
| 268 | (if newsticker-html-renderer | 268 | (if newsticker-html-renderer |
| 269 | (condition-case error-data | 269 | (condition-case error-data |
| 270 | (save-excursion | 270 | ;; Need to save selected window in order to prevent mixing |
| 271 | (set-marker-insertion-type end t) | 271 | ;; up contents of the item buffer. This happens with shr |
| 272 | ;; check whether it is necessary to call html renderer | 272 | ;; which does some smart optimizations that apparently |
| 273 | ;; (regexp inspired by htmlr.el) | 273 | ;; interfere with our own, maybe not-so-smart, optimizations. |
| 274 | (goto-char start) | 274 | (save-selected-window |
| 275 | (when (re-search-forward | 275 | (save-excursion |
| 276 | "</?[A-Za-z1-6]*\\|&#?[A-Za-z0-9]+;" end t) | 276 | (set-marker-insertion-type end t) |
| 277 | ;; (message "%s" (newsticker--title item)) | 277 | ;; check whether it is necessary to call html renderer |
| 278 | (let ((w3m-fill-column (if newsticker-use-full-width | 278 | ;; (regexp inspired by htmlr.el) |
| 279 | -1 fill-column)) | 279 | (goto-char start) |
| 280 | (w3-maximum-line-length | 280 | (when (re-search-forward |
| 281 | (if newsticker-use-full-width nil fill-column))) | 281 | "</?[A-Za-z1-6]*\\|&#?[A-Za-z0-9]+;" end t) |
| 282 | (save-excursion | 282 | ;; (message "%s" (newsticker--title item)) |
| 283 | (funcall newsticker-html-renderer start end))) | 283 | (let ((w3m-fill-column (if newsticker-use-full-width |
| 284 | ;;(cond ((eq newsticker-html-renderer 'w3m-region) | 284 | -1 fill-column)) |
| 285 | ;; (add-text-properties start end (list 'keymap | 285 | (w3-maximum-line-length |
| 286 | ;; w3m-minor-mode-map))) | 286 | (if newsticker-use-full-width nil fill-column))) |
| 287 | ;;((eq newsticker-html-renderer 'w3-region) | 287 | (select-window (newsticker--treeview-item-window)) |
| 288 | ;;(add-text-properties start end (list 'keymap w3-mode-map)))) | 288 | (save-excursion |
| 289 | (if (eq newsticker-html-renderer 'w3m-region) | 289 | (funcall newsticker-html-renderer start end))) |
| 290 | (w3m-toggle-inline-images t)) | 290 | ;;(cond ((eq newsticker-html-renderer 'w3m-region) |
| 291 | t)) | 291 | ;; (add-text-properties start end (list 'keymap |
| 292 | ;; w3m-minor-mode-map))) | ||
| 293 | ;;((eq newsticker-html-renderer 'w3-region) | ||
| 294 | ;;(add-text-properties start end (list 'keymap w3-mode-map)))) | ||
| 295 | (if (eq newsticker-html-renderer 'w3m-region) | ||
| 296 | (w3m-toggle-inline-images t)) | ||
| 297 | t))) | ||
| 292 | (error | 298 | (error |
| 293 | (message "Error: HTML rendering failed: %s, %s" | 299 | (message "Error: HTML rendering failed: %s, %s" |
| 294 | (car error-data) (cdr error-data)) | 300 | (car error-data) (cdr error-data)) |