[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
emacs-28 c9524819ea: Partially revert a fill-region-as-paragraph regress
From: |
Lars Ingebrigtsen |
Subject: |
emacs-28 c9524819ea: Partially revert a fill-region-as-paragraph regression |
Date: |
Wed, 26 Jan 2022 10:20:11 -0500 (EST) |
branch: emacs-28
commit c9524819eaf4e561a184b04dfca7e42970dc8809
Author: Lars Ingebrigtsen <larsi@gnus.org>
Commit: Lars Ingebrigtsen <larsi@gnus.org>
Partially revert a fill-region-as-paragraph regression
* lisp/textmodes/fill.el (fill-region-as-paragraph): Revert
e186af261 (bug#53537), because it leads to regressions. (But
leave tests in place.)
---
lisp/textmodes/fill.el | 18 ++++--------------
test/lisp/textmodes/fill-tests.el | 23 +++++++++++++++++++++++
2 files changed, 27 insertions(+), 14 deletions(-)
diff --git a/lisp/textmodes/fill.el b/lisp/textmodes/fill.el
index 92e50ec290..beb30c6e95 100644
--- a/lisp/textmodes/fill.el
+++ b/lisp/textmodes/fill.el
@@ -714,8 +714,7 @@ space does not end a sentence, so don't break a line there."
(or justify (setq justify (current-justification)))
;; Don't let Adaptive Fill mode alter the fill prefix permanently.
- (let ((actual-fill-prefix fill-prefix)
- (fill-prefix fill-prefix))
+ (let ((fill-prefix fill-prefix))
;; Figure out how this paragraph is indented, if desired.
(when (and adaptive-fill-mode
(or (null fill-prefix) (string= fill-prefix "")))
@@ -755,18 +754,9 @@ space does not end a sentence, so don't break a line
there."
;; This is the actual filling loop.
(goto-char from)
- (let ((first t)
- linebeg)
- (while (< (point) to)
- ;; On the first line, there may be text in the fill prefix
- ;; zone (when `fill-prefix' is specified externally, and
- ;; not computed). In that case, don't consider that area
- ;; when trying to find a place to put a line break
- ;; (bug#45720).
- (if (not first)
- (setq linebeg (point))
- (setq first nil
- linebeg (+ (point) (length actual-fill-prefix))))
+ (let (linebeg)
+ (while (< (point) to)
+ (setq linebeg (point))
(move-to-column (current-fill-column))
(if (when (and (< (point) to) (< linebeg to))
;; Find the position where we'll break the line.
diff --git a/test/lisp/textmodes/fill-tests.el
b/test/lisp/textmodes/fill-tests.el
index 39e5dd3d26..8b9f144dff 100644
--- a/test/lisp/textmodes/fill-tests.el
+++ b/test/lisp/textmodes/fill-tests.el
@@ -45,6 +45,8 @@
(should (string= (buffer-string) "Abc\nd efg\n(h ijk)."))))
(ert-deftest fill-test-unbreakable-paragraph ()
+ ;; See bug#45720 and bug#53537.
+ :expected-result :failed
(with-temp-buffer
(let ((string "aaa = baaaaaaaaaaaaaaaaaaaaaaaaaaaa\n"))
(insert string)
@@ -76,6 +78,27 @@
(buffer-string)
"aaa = baaaaaaaa aaaaaaaaaa\n aaaaaaaaaa\n")))))
+(ert-deftest test-fill-haskell ()
+ (should
+ (equal
+ (with-temp-buffer
+ (asm-mode)
+ (dolist (line '(" ;; a b c"
+ " ;; d e f"
+ " ;; x y z"
+ " ;; w"))
+ (insert line "\n"))
+ (goto-char (point-min))
+ (end-of-line)
+ (setf fill-column 10)
+ (fill-paragraph nil)
+ (buffer-string))
+ " ;; a b c
+ ;; d e f
+ ;; x y z
+ ;; w
+")))
+
(provide 'fill-tests)
;;; fill-tests.el ends here
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- emacs-28 c9524819ea: Partially revert a fill-region-as-paragraph regression,
Lars Ingebrigtsen <=