]> git.eshelyaron.com Git - emacs.git/commitdiff
Tweak how auto-fill fills after a period
authorLars Ingebrigtsen <larsi@gnus.org>
Mon, 11 Oct 2021 08:17:58 +0000 (10:17 +0200)
committerLars Ingebrigtsen <larsi@gnus.org>
Mon, 11 Oct 2021 08:18:03 +0000 (10:18 +0200)
* lisp/textmodes/fill.el (fill-nobreak-p): Don't break immediately
after a space after a period (bug#17321).

lisp/textmodes/fill.el
test/lisp/textmodes/fill-tests.el

index decce88573b67e182e650539309057835f017ef6..73d76a8ac677b641119259de0eb168bb15fd5ca9 100644 (file)
@@ -396,12 +396,8 @@ and `fill-nobreak-invisible'."
          (save-excursion
            (skip-chars-backward " ")
            (and (eq (preceding-char) ?.)
-                (looking-at " \\([^ ]\\|$\\)"))))
-     ;; Another approach to the same problem.
-     (save-excursion
-       (skip-chars-backward " ")
-       (and (eq (preceding-char) ?.)
-           (not (progn (forward-char -1) (looking-at (sentence-end))))))
+                 ;; There's something more after the space.
+                (looking-at " [^ \n]"))))
      ;; Don't split a line if the rest would look like a new paragraph.
      (unless use-hard-newlines
        (save-excursion
index fcc2c75709164a67c4cbbf0250c56a095273a1ed..2a1195b87ea7ea1fe31ffd36b840b0676aa07d38 100644 (file)
                (buffer-string)
                "aaa =   baaaaaaaa aaaaaaaaaa\n         aaaaaaaaaa\n")))))
 
+(ert-deftest test-fill-end-period ()
+  (should
+   (equal
+    (with-temp-buffer
+      (text-mode)
+      (auto-fill-mode)
+      (insert "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eius.")
+      (self-insert-command 1 ?\s)
+      (buffer-string))
+    "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eius. "))
+  (should
+   (equal
+    (with-temp-buffer
+      (text-mode)
+      (auto-fill-mode)
+      (insert "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eius.Foo")
+      (forward-char -3)
+      (self-insert-command 1 ?\s)
+      (buffer-string))
+    "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do
+eius. Foo")))
+
 (provide 'fill-tests)
 
 ;;; fill-tests.el ends here