shr.el (shr-find-fill-point): Shorten line if the preceding char is kinsoku-eol regar...
authorKatsumi Yamaoka <yamaoka@jpl.org>
Wed, 20 Oct 2010 00:42:40 +0000 (00:42 +0000)
committerKatsumi Yamaoka <yamaoka@jpl.org>
Wed, 20 Oct 2010 00:42:40 +0000 (00:42 +0000)
lisp/ChangeLog
lisp/shr.el

index dd131e0..da01401 100644 (file)
@@ -1,3 +1,8 @@
+2010-10-20  Katsumi Yamaoka  <yamaoka@jpl.org>
+
+       * shr.el (shr-find-fill-point): Shorten line if the preceding char is
+       kinsoku-eol regardless of shr-kinsoku-shorten.
+
 2010-10-19  Lars Magne Ingebrigtsen  <larsi@gnus.org>
 
        * shr.el (shr-find-fill-point): Don't leave blanks at the start of some
index 98c473c..d7a5fb3 100644 (file)
@@ -272,13 +272,19 @@ redirects somewhere else."
          ;; Don't put kinsoku-bol characters at the beginning of a line,
          ;; or kinsoku-eol characters at the end of a line,
          (let ((count 4))
-           (if shr-kinsoku-shorten
+           (if (or shr-kinsoku-shorten
+                   (and (aref (char-category-set (preceding-char)) ?<)
+                        (progn
+                          (setq count (1- count))
+                          (backward-char 1)
+                          t)))
                (while (and
-                       (> count 0)
+                       (>= (setq count (1- count)) 0)
+                       (not (memq (preceding-char) (list ?\C-@ ?\n ? )))
                        (or (aref (char-category-set (preceding-char)) ?<)
                            (aref (char-category-set (following-char)) ?>)))
                  (backward-char 1))
-             (while (and (> count 0)
+             (while (and (>= (setq count (1- count)) 0)
                          (aref (char-category-set (following-char)) ?>))
                (forward-char 1)))
            (when (eq (following-char) ? )