summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lisp/ChangeLog3
-rw-r--r--lisp/net/shr.el8
2 files changed, 10 insertions, 1 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 86064cecf98..3b1e0451d4e 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -2,6 +2,9 @@
* net/shr.el (shr-descend): Don't bug out if the anchor is empty
(bug#16285).
+ (shr-insert): If we have a word that's longer than `shr-width',
+ break after it anyway. Otherwise we'll do no breaking once we get
+ such a long word.
2014-01-05 Kenjiro NAKAYAMA <nakayamakenjiro@gmail.com>
diff --git a/lisp/net/shr.el b/lisp/net/shr.el
index 77ebf474bc1..32715b18397 100644
--- a/lisp/net/shr.el
+++ b/lisp/net/shr.el
@@ -475,7 +475,13 @@ size, and full-buffer size."
(when (> shr-indentation 0)
(shr-indent))
(end-of-line))
- (insert " ")))
+ (if (<= (current-column) shr-width)
+ (insert " ")
+ ;; In case we couldn't get a valid break point (because of a
+ ;; word that's longer than `shr-width'), just break anyway.
+ (insert "\n")
+ (when (> shr-indentation 0)
+ (shr-indent)))))
(unless (string-match "[ \t\r\n ]\\'" text)
(delete-char -1)))))