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 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)))))