summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLars Magne Ingebrigtsen <larsi@gnus.org>2015-02-13 15:51:23 +1100
committerLars Magne Ingebrigtsen <larsi@gnus.org>2015-02-13 15:51:23 +1100
commit10a5a054ac7b1767623ed7e7f3ff5d7ae4ffe906 (patch)
tree99e4d0cab29e60076cf4c734add1a08fd8e20e94
parent65563fd7714271582d5146c09202c0f7a0631fe5 (diff)
downloademacs-10a5a054ac7b1767623ed7e7f3ff5d7ae4ffe906.tar.gz
* lisp/net/shr.el (shr-tag-li): Speed up rendering pages with lots of <ul>
-rw-r--r--lisp/ChangeLog5
-rw-r--r--lisp/net/shr.el11
2 files changed, 13 insertions, 3 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index ff2755df630..8393009c061 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,8 @@
+2015-02-13 Lars Ingebrigtsen <larsi@gnus.org>
+
+ * net/shr.el (shr-tag-li): Speed up rendering pages with lots of
+ <ul>.
+
2015-02-12 Oleh Krehel <ohwoeowho@gmail.com>
* progmodes/gdb-mi.el (gdb-display-io-nopopup): New defcustom.
diff --git a/lisp/net/shr.el b/lisp/net/shr.el
index cf35a1287d6..f6a390e4d0a 100644
--- a/lisp/net/shr.el
+++ b/lisp/net/shr.el
@@ -157,6 +157,7 @@ cid: URL as the argument.")
(defvar shr-table-separator-pixel-width 0)
(defvar shr-table-id nil)
(defvar shr-current-font nil)
+(defvar shr-internal-bullet nil)
(defvar shr-map
(let ((map (make-sparse-keymap)))
@@ -216,6 +217,8 @@ DOM should be a parse tree as generated by
(shr-table-id 0)
(shr-warning nil)
(shr-table-separator-pixel-width (shr-string-pixel-width "-"))
+ (shr-internal-bullet (cons shr-bullet
+ (shr-string-pixel-width shr-bullet)))
(shr-internal-width (or (and shr-width
(if (not shr-use-fonts)
shr-width
@@ -1408,11 +1411,13 @@ The preference is a float determined from `shr-prefer-media-type'."
(prog1
(format "%d " shr-list-mode)
(setq shr-list-mode (1+ shr-list-mode)))
- shr-bullet)))
+ (car shr-internal-bullet)))
+ (width (if (numberp shr-list-mode)
+ (shr-string-pixel-width bullet)
+ (cdr shr-internal-bullet))))
(insert bullet)
(shr-mark-fill start)
- (let ((shr-indentation (+ shr-indentation
- (shr-string-pixel-width bullet))))
+ (let ((shr-indentation (+ shr-indentation width)))
(put-text-property start (1+ start)
'shr-continuation-indentation shr-indentation)
(put-text-property start (1+ start) 'shr-prefix-length (length bullet))