[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] trunk r118357: Allow using several eww buffers (bug#16211)
From: |
Lars Ingebrigtsen |
Subject: |
[Emacs-diffs] trunk r118357: Allow using several eww buffers (bug#16211) |
Date: |
Mon, 10 Nov 2014 21:18:15 +0000 |
User-agent: |
Bazaar (2.6b2) |
------------------------------------------------------------
revno: 118357
revision-id: address@hidden
parent: address@hidden
committer: Lars Magne Ingebrigtsen <address@hidden>
branch nick: trunk
timestamp: Mon 2014-11-10 22:18:11 +0100
message:
Allow using several eww buffers (bug#16211)
* net/eww.el (eww-render, eww-display-html, eww-setup-buffer):
Allow taking a buffer to render data in. This allows using several
eww buffers (bug#16211).
modified:
etc/ChangeLog changelog-20091113204419-o5vbwnq5f7feedwu-1485
etc/NEWS news-20141002041645-34n5fasbwydbo8t6-1
lisp/ChangeLog changelog-20091113204419-o5vbwnq5f7feedwu-1432
lisp/net/eww.el eww.el-20130610114603-80ap3gwnw4x4m5ix-1
=== modified file 'etc/ChangeLog'
--- a/etc/ChangeLog 2014-11-10 00:57:01 +0000
+++ b/etc/ChangeLog 2014-11-10 21:18:11 +0000
@@ -1,3 +1,7 @@
+2014-11-10 Lars Magne Ingebrigtsen <address@hidden>
+
+ * NEWS: Mention that you can have several eww buffers (bug#16211).
+
2014-11-10 Glenn Morris <address@hidden>
* refcards/emacsver.tex.in: Rename from emacsver.tex.
=== modified file 'etc/NEWS'
--- a/etc/NEWS 2014-11-10 02:58:52 +0000
+++ b/etc/NEWS 2014-11-10 21:18:11 +0000
@@ -153,6 +153,9 @@
textual parts of a web page and display only that, leaving menus and
the like off the page.
+*** You can now use several eww buffers in parallel by renaming eww
+buffers you want to keep separate.
+
** Message mode
*** text/html messages that contain inline image parts will be
=== modified file 'lisp/ChangeLog'
--- a/lisp/ChangeLog 2014-11-10 20:55:55 +0000
+++ b/lisp/ChangeLog 2014-11-10 21:18:11 +0000
@@ -1,3 +1,9 @@
+2014-11-10 Lars Magne Ingebrigtsen <address@hidden>
+
+ * net/eww.el (eww-render, eww-display-html, eww-setup-buffer):
+ Allow taking a buffer to render data in. This allows using several
+ eww buffers (bug#16211).
+
2014-11-10 Charles Rendleman <address@hidden> (tiny change)
* net/eww.el (eww-download-callback): Save only the file contents,
=== modified file 'lisp/net/eww.el'
--- a/lisp/net/eww.el 2014-11-10 20:55:55 +0000
+++ b/lisp/net/eww.el 2014-11-10 21:18:11 +0000
@@ -167,7 +167,10 @@
(setq url (concat url "/"))))
(setq url (concat eww-search-prefix
(replace-regexp-in-string " " "+" url))))))
- (url-retrieve url 'eww-render (list url)))
+ (url-retrieve url 'eww-render
+ (list url nil
+ (and (eq major-mode 'eww-mode)
+ (current-buffer)))))
;;;###autoload (defalias 'browse-web 'eww)
@@ -180,7 +183,7 @@
"/")
(expand-file-name file))))
-(defun eww-render (status url &optional point)
+(defun eww-render (status url &optional point buffer)
(let ((redirect (plist-get status :redirect)))
(when redirect
(setq url redirect)))
@@ -205,14 +208,14 @@
(car content-type)))
(eww-browse-with-external-browser url))
((equal (car content-type) "text/html")
- (eww-display-html charset url nil point))
+ (eww-display-html charset url nil point buffer))
((equal (car content-type) "application/pdf")
(eww-display-pdf))
((string-match-p "\\`image/" (car content-type))
- (eww-display-image)
+ (eww-display-image buffer)
(eww-update-header-line-format))
(t
- (eww-display-raw)
+ (eww-display-raw buffer)
(eww-update-header-line-format)))
(plist-put eww-data :title url)
(setq eww-history-position 0))
@@ -247,7 +250,7 @@
(declare-function libxml-parse-html-region "xml.c"
(start end &optional base-url))
-(defun eww-display-html (charset url &optional document point)
+(defun eww-display-html (charset url &optional document point buffer)
(or (fboundp 'libxml-parse-html-region)
(error "This function requires Emacs to be compiled with libxml2"))
;; There should be a better way to abort loading images
@@ -265,7 +268,7 @@
(libxml-parse-html-region (point) (point-max))))))
(source (and (null document)
(buffer-substring (point) (point-max)))))
- (eww-setup-buffer)
+ (eww-setup-buffer buffer)
(plist-put eww-data :source source)
(plist-put eww-data :dom document)
(let ((inhibit-read-only t)
@@ -368,16 +371,16 @@
(shr-generic cont)
(shr-colorize-region start (point) fgcolor bgcolor)))
-(defun eww-display-raw ()
+(defun eww-display-raw (&optional buffer)
(let ((data (buffer-substring (point) (point-max))))
- (eww-setup-buffer)
+ (eww-setup-buffer buffer)
(let ((inhibit-read-only t))
(insert data))
(goto-char (point-min))))
-(defun eww-display-image ()
+(defun eww-display-image (&optional buffer)
(let ((data (shr-parse-image-data)))
- (eww-setup-buffer)
+ (eww-setup-buffer buffer)
(let ((inhibit-read-only t))
(shr-put-image data nil))
(goto-char (point-min))))
@@ -392,8 +395,11 @@
(doc-view-mode)))
(goto-char (point-min)))
-(defun eww-setup-buffer ()
- (switch-to-buffer (get-buffer-create "*eww*"))
+(defun eww-setup-buffer (&optional buffer)
+ (switch-to-buffer
+ (if (buffer-live-p buffer)
+ buffer
+ (get-buffer-create "*eww*")))
(let ((inhibit-read-only t))
(remove-overlays)
(erase-buffer))
@@ -431,7 +437,8 @@
(eww-save-history)
(eww-display-html nil nil
(shr-retransform-dom
- (eww-highest-readability dom)))
+ (eww-highest-readability dom))
+ nil (current-buffer))
(dolist (elem '(:source :url :title :next :previous :up))
(plist-put eww-data elem (plist-get old-data elem)))
(eww-update-header-line-format)))
@@ -1110,7 +1117,8 @@
((and (url-target (url-generic-parse-url url))
(eww-same-page-p url (plist-get eww-data :url)))
(eww-save-history)
- (eww-display-html 'utf-8 url (plist-get eww-data :url)))
+ (eww-display-html 'utf-8 url (plist-get eww-data :url)
+ nil (current-buffer)))
(t
(eww-browse-url url)))))
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] trunk r118357: Allow using several eww buffers (bug#16211),
Lars Ingebrigtsen <=