1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-15 10:30:25 -08:00

Add semantic linefeed support for paragraph filling

* lisp/textmodes/fill.el (fill-region-as-paragraph-semlf): Add function
to fill a region using semantic linefeeds as if it were a single
paragraph.
(fill-paragraph-semlf): Add function to fill paragraph using semantic
linefeeds.
* test/lisp/textmodes/fill-tests.el
(fill-test-fill-region-as-paragraph-semlf)
(fill-test-fill-paragraph-semlf)
(fill-test-fill-paragraph-semlf-fill-paragraph-function)
(fill-test-fill-paragraph-semlf-justify)
(fill-test-fill-paragraph-semlf-sentence-end-double-space)
(fill-test-fill-paragraph-semlf-fill-column)
(fill-test-fill-paragraph-semlf-punctuation-marks)
(fill-test-fill-paragraph-semlf-twice)
(fill-test-fill-paragraph-semlf-fill-prefix)
(fill-test-fill-paragraph-semlf-indented-block)
(fill-test-fill-paragraph-semlf-revert)
(fill-test-fill-paragraph-semlf-emacs-lisp-mode)
(fill-test-fill-paragraph-semlf-c-mode)
(fill-test-fill-paragraph-semlf-org-mode)
(fill-test-fill-paragraph-semlf-markdown-mode): Add tests.
* test/lisp/textmodes/fill-resources/semlf-c-mode.erts:
* test/lisp/textmodes/fill-resources/semlf-emacs-lisp-mode.erts:
* test/lisp/textmodes/fill-resources/semlf-fill-column.erts:
* test/lisp/textmodes/fill-resources/semlf-fill-paragraph-function.erts:
* test/lisp/textmodes/fill-resources/semlf-fill-prefix.erts:
* test/lisp/textmodes/fill-resources/semlf-fill-region-as-paragraph.erts:
* test/lisp/textmodes/fill-resources/semlf-indented-block.erts:
* test/lisp/textmodes/fill-resources/semlf-justify.erts:
* test/lisp/textmodes/fill-resources/semlf-markdown-mode.erts:
* test/lisp/textmodes/fill-resources/semlf-org-mode.erts:
* test/lisp/textmodes/fill-resources/semlf-punctuation-marks.erts:
* test/lisp/textmodes/fill-resources/semlf-revert.erts:
* test/lisp/textmodes/fill-resources/semlf-sentence-end-double-space.erts:
* test/lisp/textmodes/fill-resources/semlf-twice.erts:
* test/lisp/textmodes/fill-resources/semlf.erts: Add test data.  (Bug#78561)
This commit is contained in:
Roi Martin 2025-03-21 14:22:46 +01:00 committed by Eli Zaretskii
parent 3927402af0
commit 24a699243e
17 changed files with 1004 additions and 0 deletions

View file

@ -0,0 +1,183 @@
Point-Char: |
Name: c-mode - single-line
=-=
// Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
// eiusmod tempor. Incididunt ut labore et dolore magna aliqua. Ut enim
// ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut.
=-=
// Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
// eiusmod tempor.
// Incididunt ut labore et dolore magna aliqua. Ut enim ad minim
// veniam, quis nostrud exercitation ullamco laboris nisi ut.
=-=-=
Name: c-mode - single-line - fill-prefix - marker
=-=
// - Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor. Incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut.
// - Aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
// - Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
=-=
// - Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
// - eiusmod tempor.
// - Incididunt ut labore et dolore magna aliqua. Ut enim ad minim
// - veniam, quis nostrud exercitation ullamco laboris nisi ut.
// - Aliquip ex ea commodo consequat.
// - Duis aute irure dolor in reprehenderit in voluptate velit esse
// - cillum dolore eu fugiat nulla pariatur.
// - Excepteur sint occaecat cupidatat non proident, sunt in culpa qui
// - officia deserunt mollit anim id est laborum.
=-=-=
Name: c-mode - single-line - fill-prefix - whitespace
=-=
// - Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor. Incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut.
// Aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
// Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
=-=
// - Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
// eiusmod tempor.
// Incididunt ut labore et dolore magna aliqua. Ut enim ad minim
// veniam, quis nostrud exercitation ullamco laboris nisi ut.
// Aliquip ex ea commodo consequat.
// Duis aute irure dolor in reprehenderit in voluptate velit esse
// cillum dolore eu fugiat nulla pariatur.
// Excepteur sint occaecat cupidatat non proident, sunt in culpa qui
// officia deserunt mollit anim id est laborum.
=-=-=
Name: c-mode - single-line - indented block
=-=
// Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
// eiusmod tempor. Incididunt ut labore et dolore magna aliqua. Ut
// enim ad minim veniam, quis nostrud exercitation ullamco laboris
// nisi ut.
//
// |Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed
// do eiusmod tempor. Incididunt ut labore et dolore magna
// aliqua. Ut enim ad minim veniam, quis nostrud exercitation
// ullamco laboris nisi ut.
//
// Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
// eiusmod tempor. Incididunt ut labore et dolore magna aliqua. Ut
// enim ad minim veniam, quis nostrud exercitation ullamco laboris
// nisi ut.
=-=
// Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
// eiusmod tempor. Incididunt ut labore et dolore magna aliqua. Ut
// enim ad minim veniam, quis nostrud exercitation ullamco laboris
// nisi ut.
//
// Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed
// do eiusmod tempor.
// Incididunt ut labore et dolore magna aliqua. Ut enim ad minim
// veniam, quis nostrud exercitation ullamco laboris nisi ut.
//
// Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
// eiusmod tempor. Incididunt ut labore et dolore magna aliqua. Ut
// enim ad minim veniam, quis nostrud exercitation ullamco laboris
// nisi ut.
=-=-=
Name: c-mode - multi-line
=-=
/*
* Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
* eiusmod tempor. Incididunt ut labore et dolore magna aliqua. Ut enim
* ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut.
*/
=-=
/*
* Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
* eiusmod tempor.
* Incididunt ut labore et dolore magna aliqua. Ut enim ad minim
* veniam, quis nostrud exercitation ullamco laboris nisi ut.
*/
=-=-=
Name: c-mode - multi-line - fill-prefix - marker
=-=
/*
* - Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor. Incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut.
* - Aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
* - Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
*/
=-=
/*
* - Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
* - eiusmod tempor.
* - Incididunt ut labore et dolore magna aliqua. Ut enim ad minim
* - veniam, quis nostrud exercitation ullamco laboris nisi ut.
* - Aliquip ex ea commodo consequat.
* - Duis aute irure dolor in reprehenderit in voluptate velit esse
* - cillum dolore eu fugiat nulla pariatur.
* - Excepteur sint occaecat cupidatat non proident, sunt in culpa qui
* - officia deserunt mollit anim id est laborum.
*/
=-=-=
Name: c-mode - multi-line - fill-prefix - whitespace
=-=
/*
* - Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor. Incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut.
* Aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
* Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
*/
=-=
/*
* - Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
* eiusmod tempor.
* Incididunt ut labore et dolore magna aliqua. Ut enim ad minim
* veniam, quis nostrud exercitation ullamco laboris nisi ut.
* Aliquip ex ea commodo consequat.
* Duis aute irure dolor in reprehenderit in voluptate velit esse
* cillum dolore eu fugiat nulla pariatur.
* Excepteur sint occaecat cupidatat non proident, sunt in culpa qui
* officia deserunt mollit anim id est laborum.
*/
=-=-=
Name: c-mode - multi-line - indented block
=-=
/*
* Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
* eiusmod tempor. Incididunt ut labore et dolore magna aliqua. Ut
* enim ad minim veniam, quis nostrud exercitation ullamco laboris
* nisi ut.
*
* |Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed
* do eiusmod tempor. Incididunt ut labore et dolore magna
* aliqua. Ut enim ad minim veniam, quis nostrud exercitation
* ullamco laboris nisi ut.
*
* Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
* eiusmod tempor. Incididunt ut labore et dolore magna aliqua. Ut
* enim ad minim veniam, quis nostrud exercitation ullamco laboris
* nisi ut.
*/
=-=
/*
* Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
* eiusmod tempor. Incididunt ut labore et dolore magna aliqua. Ut
* enim ad minim veniam, quis nostrud exercitation ullamco laboris
* nisi ut.
*
* Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed
* do eiusmod tempor.
* Incididunt ut labore et dolore magna aliqua. Ut enim ad minim
* veniam, quis nostrud exercitation ullamco laboris nisi ut.
*
* Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
* eiusmod tempor. Incididunt ut labore et dolore magna aliqua. Ut
* enim ad minim veniam, quis nostrud exercitation ullamco laboris
* nisi ut.
*/
=-=-=

View file

@ -0,0 +1,87 @@
Point-Char: |
Name: emacs-lisp-mode
=-=
;; Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
;; eiusmod tempor. Incididunt ut labore et dolore magna aliqua. Ut enim
;; ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut.
=-=
;; Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
;; eiusmod tempor.
;; Incididunt ut labore et dolore magna aliqua. Ut enim ad minim
;; veniam, quis nostrud exercitation ullamco laboris nisi ut.
=-=-=
Name: emacs-lisp-mode - fill-prefix - marker
=-=
;; - Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor. Incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut.
;; - Aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
;; - Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
=-=
;; - Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
;; - eiusmod tempor.
;; - Incididunt ut labore et dolore magna aliqua. Ut enim ad minim
;; - veniam, quis nostrud exercitation ullamco laboris nisi ut.
;; - Aliquip ex ea commodo consequat.
;; - Duis aute irure dolor in reprehenderit in voluptate velit esse
;; - cillum dolore eu fugiat nulla pariatur.
;; - Excepteur sint occaecat cupidatat non proident, sunt in culpa qui
;; - officia deserunt mollit anim id est laborum.
=-=-=
Name: emacs-lisp-mode - fill-prefix - whitespace
=-=
;; - Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor. Incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut.
;; Aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
;; Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
=-=
;; - Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
;; eiusmod tempor.
;; Incididunt ut labore et dolore magna aliqua. Ut enim ad minim
;; veniam, quis nostrud exercitation ullamco laboris nisi ut.
;; Aliquip ex ea commodo consequat.
;; Duis aute irure dolor in reprehenderit in voluptate velit esse
;; cillum dolore eu fugiat nulla pariatur.
;; Excepteur sint occaecat cupidatat non proident, sunt in culpa qui
;; officia deserunt mollit anim id est laborum.
=-=-=
Name: emacs-lisp-mode - indented block
The `fill-forward-paragraph' function jumps to the beginning/end of
the comment.
=-=
;; Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
;; eiusmod tempor. Incididunt ut labore et dolore magna aliqua. Ut
;; enim ad minim veniam, quis nostrud exercitation ullamco laboris
;; nisi ut.
;; |Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed
;; do eiusmod tempor. Incididunt ut labore et dolore magna
;; aliqua. Ut enim ad minim veniam, quis nostrud exercitation
;; ullamco laboris nisi ut.
;; Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
;; eiusmod tempor. Incididunt ut labore et dolore magna aliqua. Ut
;; enim ad minim veniam, quis nostrud exercitation ullamco laboris
;; nisi ut.
=-=
;; Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
;; eiusmod tempor. Incididunt ut labore et dolore magna aliqua. Ut
;; enim ad minim veniam, quis nostrud exercitation ullamco laboris
;; nisi ut.
;; Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed
;; do eiusmod tempor.
;; Incididunt ut labore et dolore magna aliqua. Ut enim ad minim
;; veniam, quis nostrud exercitation ullamco laboris nisi ut.
;; Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
;; eiusmod tempor. Incididunt ut labore et dolore magna aliqua. Ut
;; enim ad minim veniam, quis nostrud exercitation ullamco laboris
;; nisi ut.
=-=-=

View file

@ -0,0 +1,15 @@
Name: fill-column
=-=
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
eiusmod tempor. Incididunt ut labore et dolore magna aliqua. Ut enim
ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut.
=-=
Lorem ipsum dolor sit amet,
consectetur adipiscing elit, sed do
eiusmod tempor.
Incididunt ut labore et dolore
magna aliqua. Ut enim ad minim
veniam, quis nostrud exercitation
ullamco laboris nisi ut.
=-=-=

View file

@ -0,0 +1,12 @@
Name: fill-paragraph-function
=-=
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
eiusmod tempor. Incididunt ut labore et dolore magna aliqua. Ut enim
ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut.
=-=
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
eiusmod tempor.
Incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
quis nostrud exercitation ullamco laboris nisi ut.
=-=-=

View file

@ -0,0 +1,35 @@
Name: fill-prefix - marker
=-=
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor. Incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut.
- Aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
- Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
=-=
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
- eiusmod tempor.
- Incididunt ut labore et dolore magna aliqua. Ut enim ad minim
- veniam, quis nostrud exercitation ullamco laboris nisi ut.
- Aliquip ex ea commodo consequat.
- Duis aute irure dolor in reprehenderit in voluptate velit esse
- cillum dolore eu fugiat nulla pariatur.
- Excepteur sint occaecat cupidatat non proident, sunt in culpa qui
- officia deserunt mollit anim id est laborum.
=-=-=
Name: fill-prefix - whitespace
=-=
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor. Incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut.
Aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
=-=
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
eiusmod tempor.
Incididunt ut labore et dolore magna aliqua. Ut enim ad minim
veniam, quis nostrud exercitation ullamco laboris nisi ut.
Aliquip ex ea commodo consequat.
Duis aute irure dolor in reprehenderit in voluptate velit esse
cillum dolore eu fugiat nulla pariatur.
Excepteur sint occaecat cupidatat non proident, sunt in culpa qui
officia deserunt mollit anim id est laborum.
=-=-=

View file

@ -0,0 +1,37 @@
Point-Char: |
Name: fill-region-as-paragraph-semlf
=-=
Lorem ipsum dolor sit amet, consectetur adipiscing elit, s|ed do
eiusmod tempor. Incididunt ut labore et dolore magna aliqua. Ut enim
ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut.
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
eiusmod tempor. Incididunt ut labore et dolore magna aliqua. Ut enim
ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut.
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
eiusmod tempor. Incididunt ut labore et dolore magna aliqua. Ut enim
ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut.
=-=
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed
do eiusmod tempor.
Incididunt ut labore et dolore
magna aliqua. Ut enim ad minim
veniam, quis nostrud exercitation
ullamco laboris nisi ut.
Lorem ipsum dolor sit amet,
consectetur adipiscing elit, sed do
eiusmod tempor.
Incididunt ut labore et dolore
magna aliqua. Ut enim ad minim
veniam, quis nostrud exercitation
ullamco laboris nisi ut.
Lorem ipsum dolor sit amet,
consectetur adipiscing elit, sed do
eiusmod tempor.
Incididunt ut labore et dolore
magna aliqua. Ut enim
ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut.
=-=-=

View file

@ -0,0 +1,31 @@
Point-Char: |
Name: indented block
=-=
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
eiusmod tempor. Incididunt ut labore et dolore magna aliqua. Ut enim
ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut.
|Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed
do eiusmod tempor. Incididunt ut labore et dolore magna
aliqua. Ut enim ad minim veniam, quis nostrud exercitation
ullamco laboris nisi ut.
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
eiusmod tempor. Incididunt ut labore et dolore magna aliqua. Ut enim
ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut.
=-=
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
eiusmod tempor. Incididunt ut labore et dolore magna aliqua. Ut enim
ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut.
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed
do eiusmod tempor.
Incididunt ut labore et dolore magna aliqua. Ut enim ad minim
veniam, quis nostrud exercitation ullamco laboris nisi ut.
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
eiusmod tempor. Incididunt ut labore et dolore magna aliqua. Ut enim
ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut.
=-=-=

View file

@ -0,0 +1,12 @@
Name: justify
=-=
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
eiusmod tempor. Incididunt ut labore et dolore magna aliqua. Ut enim
ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut.
=-=
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
eiusmod tempor.
Incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
quis nostrud exercitation ullamco laboris nisi ut.
=-=-=

View file

@ -0,0 +1,129 @@
Point-Char: |
Name: markdown-mode
=-=
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
eiusmod tempor. Incididunt ut labore et dolore magna aliqua. Ut enim
ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut.
=-=
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
eiusmod tempor.
Incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
quis nostrud exercitation ullamco laboris nisi ut.
=-=-=
Name: markdown-mode - list - one single-line item
=-=
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor. Incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut.
=-=
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
eiusmod tempor.
Incididunt ut labore et dolore magna aliqua. Ut enim ad minim
veniam, quis nostrud exercitation ullamco laboris nisi ut.
=-=-=
Name: markdown-mode - list - multiple single-line items
=-=
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor. Incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut.
- Aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
- Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
=-=
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
eiusmod tempor.
Incididunt ut labore et dolore magna aliqua. Ut enim ad minim
veniam, quis nostrud exercitation ullamco laboris nisi ut.
- Aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
- Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
=-=-=
Name: markdown-mode - list - one multi-line item
=-=
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
eiusmod tempor. Incididunt ut labore et dolore magna aliqua. Ut
enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi
ut.
=-=
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
eiusmod tempor.
Incididunt ut labore et dolore magna aliqua. Ut enim ad minim
veniam, quis nostrud exercitation ullamco laboris nisi ut.
=-=-=
Name: markdown-mode - list - multiple multi-line items
=-=
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
eiusmod tempor. Incididunt ut labore et dolore magn a aliqua. Ut
enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi
ut.
- Aliquip ex ea commodo consequat. Duis aute irure dolor in
reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla
pariatur.
- Excepteur sint occaecat cupidatat non proident, sunt in culpa qui
officia deserunt mollit anim id est laborum.
=-=
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
eiusmod tempor.
Incididunt ut labore et dolore magn a aliqua. Ut enim ad minim
veniam, quis nostrud exercitation ullamco laboris nisi ut.
- Aliquip ex ea commodo consequat. Duis aute irure dolor in
reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla
pariatur.
- Excepteur sint occaecat cupidatat non proident, sunt in culpa qui
officia deserunt mollit anim id est laborum.
=-=-=
Name: markdown-mode - list - short sentence in multi-line item
=-=
- Lorem ipsum dolor. Sit amet, consectetur adipiscing elit, sed do
eiusmod tempor. Incididunt ut labore et dolore magn a aliqua. Ut
enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi
ut.
=-=
- Lorem ipsum dolor.
Sit amet, consectetur adipiscing elit, sed do eiusmod tempor.
Incididunt ut labore et dolore magn a aliqua. Ut enim ad minim
veniam, quis nostrud exercitation ullamco laboris nisi ut.
=-=-=
Name: markdown-mode - indented block
Skip: t
TODO - In `markdown-mode', the `fill-forward-paragraph' function
ignores code blocks. We should reach out to the `markdown-mode'
maintainer(s) to understand the reason for this and possibly suggest a
change to this behavior. This works as expected in
`markdown-ts-mode'.
=-=
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
eiusmod tempor. Incididunt ut labore et dolore magna aliqua. Ut enim
ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut.
|Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed
do eiusmod tempor. Incididunt ut labore et dolore magna
aliqua. Ut enim ad minim veniam, quis nostrud exercitation
ullamco laboris nisi ut.
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
eiusmod tempor. Incididunt ut labore et dolore magna aliqua. Ut enim
ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut.
=-=
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
eiusmod tempor. Incididunt ut labore et dolore magna aliqua. Ut enim
ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut.
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed
do eiusmod tempor.
Incididunt ut labore et dolore magna aliqua. Ut enim ad minim
veniam, quis nostrud exercitation ullamco laboris nisi ut.
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
eiusmod tempor. Incididunt ut labore et dolore magna aliqua. Ut enim
ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut.
=-=-=

View file

@ -0,0 +1,122 @@
Point-Char: |
Name: org-mode
=-=
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
eiusmod tempor. Incididunt ut labore et dolore magna aliqua. Ut enim
ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut.
=-=
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
eiusmod tempor.
Incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
quis nostrud exercitation ullamco laboris nisi ut.
=-=-=
Name: org-mode - list - one single-line item
=-=
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor. Incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut.
=-=
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
eiusmod tempor.
Incididunt ut labore et dolore magna aliqua. Ut enim ad minim
veniam, quis nostrud exercitation ullamco laboris nisi ut.
=-=-=
Name: org-mode - list - multiple single-line items
=-=
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor. Incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut.
- Aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
- Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
=-=
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
eiusmod tempor.
Incididunt ut labore et dolore magna aliqua. Ut enim ad minim
veniam, quis nostrud exercitation ullamco laboris nisi ut.
- Aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
- Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
=-=-=
Name: org-mode - list - one multi-line item
=-=
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
eiusmod tempor. Incididunt ut labore et dolore magna aliqua. Ut
enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi
ut.
=-=
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
eiusmod tempor.
Incididunt ut labore et dolore magna aliqua. Ut enim ad minim
veniam, quis nostrud exercitation ullamco laboris nisi ut.
=-=-=
Name: org-mode - list - multiple multi-line items
=-=
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
eiusmod tempor. Incididunt ut labore et dolore magn a aliqua. Ut
enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi
ut.
- Aliquip ex ea commodo consequat. Duis aute irure dolor in
reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla
pariatur.
- Excepteur sint occaecat cupidatat non proident, sunt in culpa qui
officia deserunt mollit anim id est laborum.
=-=
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
eiusmod tempor.
Incididunt ut labore et dolore magn a aliqua. Ut enim ad minim
veniam, quis nostrud exercitation ullamco laboris nisi ut.
- Aliquip ex ea commodo consequat. Duis aute irure dolor in
reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla
pariatur.
- Excepteur sint occaecat cupidatat non proident, sunt in culpa qui
officia deserunt mollit anim id est laborum.
=-=-=
Name: org-mode - list - short sentence in multi-line item
=-=
- Lorem ipsum dolor. Sit amet, consectetur adipiscing elit, sed do
eiusmod tempor. Incididunt ut labore et dolore magn a aliqua. Ut
enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi
ut.
=-=
- Lorem ipsum dolor.
Sit amet, consectetur adipiscing elit, sed do eiusmod tempor.
Incididunt ut labore et dolore magn a aliqua. Ut enim ad minim
veniam, quis nostrud exercitation ullamco laboris nisi ut.
=-=-=
Name: org-mode - indented block
=-=
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
eiusmod tempor. Incididunt ut labore et dolore magna aliqua. Ut enim
ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut.
|Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed
do eiusmod tempor. Incididunt ut labore et dolore magna
aliqua. Ut enim ad minim veniam, quis nostrud exercitation
ullamco laboris nisi ut.
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
eiusmod tempor. Incididunt ut labore et dolore magna aliqua. Ut enim
ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut.
=-=
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
eiusmod tempor. Incididunt ut labore et dolore magna aliqua. Ut enim
ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut.
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed
do eiusmod tempor.
Incididunt ut labore et dolore magna aliqua. Ut enim ad minim
veniam, quis nostrud exercitation ullamco laboris nisi ut.
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
eiusmod tempor. Incididunt ut labore et dolore magna aliqua. Ut enim
ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut.
=-=-=

View file

@ -0,0 +1,13 @@
Name: punctuation marks
=-=
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
eiusmod tempor. Incididunt ut labore et dolore magna aliqua! Ut enim
ad minim veniam? Quis nostrud exercitation ullamco laboris nisi ut.
=-=
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
eiusmod tempor.
Incididunt ut labore et dolore magna aliqua!
Ut enim ad minim veniam?
Quis nostrud exercitation ullamco laboris nisi ut.
=-=-=

View file

@ -0,0 +1,11 @@
Name: revert
=-=
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
eiusmod tempor. Incididunt ut labore et dolore magna aliqua. Ut enim
ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut.
=-=
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
eiusmod tempor. Incididunt ut labore et dolore magna aliqua. Ut enim
ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut.
=-=-=

View file

@ -0,0 +1,13 @@
Name: sentence-end-double-space
=-=
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
eiusmod tempor. Incididunt ut labore et dolore magna aliqua. Ut enim
ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut.
=-=
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
eiusmod tempor.
Incididunt ut labore et dolore magna aliqua.
Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris
nisi ut.
=-=-=

View file

@ -0,0 +1,12 @@
Name: fill twice
=-=
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
eiusmod tempor. Incididunt ut labore et dolore magna aliqua. Ut enim
ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut.
=-=
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
eiusmod tempor.
Incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
quis nostrud exercitation ullamco laboris nisi ut.
=-=-=

View file

@ -0,0 +1,88 @@
Point-Char: |
Name: beginning of buffer
=-=
|Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
eiusmod tempor. Incididunt ut labore et dolore magna aliqua. Ut enim
ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut.
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
eiusmod tempor. Incididunt ut labore et dolore magna aliqua. Ut enim
ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut.
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
eiusmod tempor. Incididunt ut labore et dolore magna aliqua. Ut enim
ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut.
=-=
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
eiusmod tempor.
Incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
quis nostrud exercitation ullamco laboris nisi ut.
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
eiusmod tempor. Incididunt ut labore et dolore magna aliqua. Ut enim
ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut.
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
eiusmod tempor. Incididunt ut labore et dolore magna aliqua. Ut enim
ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut.
=-=-=
Name: second paragraph
=-=
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
eiusmod tempor. Incididunt ut labore et dolore magna aliqua. Ut enim
ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut.
|Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
eiusmod tempor. Incididunt ut labore et dolore magna aliqua. Ut enim
ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut.
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
eiusmod tempor. Incididunt ut labore et dolore magna aliqua. Ut enim
ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut.
=-=
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
eiusmod tempor. Incididunt ut labore et dolore magna aliqua. Ut enim
ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut.
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
eiusmod tempor.
Incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
quis nostrud exercitation ullamco laboris nisi ut.
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
eiusmod tempor. Incididunt ut labore et dolore magna aliqua. Ut enim
ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut.
=-=-=
Name: end of buffer
=-=
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
eiusmod tempor. Incididunt ut labore et dolore magna aliqua. Ut enim
ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut.
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
eiusmod tempor. Incididunt ut labore et dolore magna aliqua. Ut enim
ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut.
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
eiusmod tempor. Incididunt ut labore et dolore magna aliqua. Ut enim
ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut.|
=-=
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
eiusmod tempor. Incididunt ut labore et dolore magna aliqua. Ut enim
ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut.
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
eiusmod tempor. Incididunt ut labore et dolore magna aliqua. Ut enim
ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut.
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
eiusmod tempor.
Incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
quis nostrud exercitation ullamco laboris nisi ut.
=-=-=

View file

@ -28,6 +28,7 @@
;;; Code:
(require 'ert)
(require 'ert-x)
(ert-deftest fill-test-no-fill-polish-nobreak-p nil
"Tests of the `fill-polish-nobreak-p' function."
@ -121,6 +122,117 @@ eius. Foo")))
;; w
")))
(ert-deftest fill-test-fill-region-as-paragraph-semlf ()
"Test the `fill-region-as-paragraph-semlf' function."
(ert-test-erts-file (ert-resource-file "semlf-fill-region-as-paragraph.erts")
(lambda ()
(setq-local fill-column 35)
(fill-region-as-paragraph-semlf
(point)
(progn
(goto-char (point-max))
(forward-line -1)
(beginning-of-line)
(point))))))
(ert-deftest fill-test-fill-paragraph-semlf ()
"Test the `fill-paragraph-semlf' function."
(ert-test-erts-file (ert-resource-file "semlf.erts")
(lambda ()
(fill-paragraph-semlf))))
(ert-deftest fill-test-fill-paragraph-semlf-fill-paragraph-function ()
"Test `fill-paragraph-semlf' as `fill-paragraph-function'."
(ert-test-erts-file (ert-resource-file "semlf-fill-paragraph-function.erts")
(lambda ()
(setq-local fill-paragraph-function #'fill-paragraph-semlf)
(fill-paragraph))))
(ert-deftest fill-test-fill-paragraph-semlf-justify ()
"Test the JUSTIFY parameter of the `fill-paragraph-semlf' function."
(ert-test-erts-file (ert-resource-file "semlf-justify.erts")
(lambda ()
(fill-paragraph-semlf 'justify))))
(ert-deftest fill-test-fill-paragraph-semlf-sentence-end-double-space ()
"Test the `fill-paragraph-semlf' function with `sentence-end-double-space'."
(ert-test-erts-file (ert-resource-file "semlf-sentence-end-double-space.erts")
(lambda ()
(setq-local sentence-end-double-space nil)
(fill-paragraph-semlf))))
(ert-deftest fill-test-fill-paragraph-semlf-fill-column ()
"Test the `fill-paragraph-semlf' function with `fill-column'."
(ert-test-erts-file (ert-resource-file "semlf-fill-column.erts")
(lambda ()
(setq-local fill-column 35)
(fill-paragraph-semlf))))
(ert-deftest fill-test-fill-paragraph-semlf-punctuation-marks ()
"Test the `fill-paragraph-semlf' function with different punctuation marks."
(ert-test-erts-file (ert-resource-file "semlf-punctuation-marks.erts")
(lambda ()
(fill-paragraph-semlf))))
(ert-deftest fill-test-fill-paragraph-semlf-twice ()
"Test to run the `fill-paragraph-semlf' function twice."
(ert-test-erts-file (ert-resource-file "semlf-twice.erts")
(lambda ()
(goto-char (point-min))
(fill-paragraph-semlf)
(goto-char (point-min))
(fill-paragraph-semlf))))
(ert-deftest fill-test-fill-paragraph-semlf-fill-prefix ()
"Test the `fill-paragraph-semlf' function with different fill prefixes."
(ert-test-erts-file (ert-resource-file "semlf-fill-prefix.erts")
(lambda ()
(fill-paragraph-semlf))))
(ert-deftest fill-test-fill-paragraph-semlf-indented-block ()
"Test the `fill-paragraph-semlf' function with an indented block."
(ert-test-erts-file (ert-resource-file "semlf-indented-block.erts")
(lambda ()
(fill-paragraph-semlf))))
(ert-deftest fill-test-fill-paragraph-semlf-revert ()
"Test that the `fill-paragraph-semlf' function can be reverted."
(ert-test-erts-file (ert-resource-file "semlf-revert.erts")
(lambda ()
(fill-paragraph)
(fill-paragraph-semlf)
(fill-paragraph))))
(ert-deftest fill-test-fill-paragraph-semlf-emacs-lisp-mode ()
"Test the `fill-paragraph-semlf' function with `emacs-lisp-mode'."
(ert-test-erts-file (ert-resource-file "semlf-emacs-lisp-mode.erts")
(lambda ()
(emacs-lisp-mode)
(fill-paragraph-semlf))))
(ert-deftest fill-test-fill-paragraph-semlf-c-mode ()
"Test the `fill-paragraph-semlf' function with `c-mode'."
(ert-test-erts-file (ert-resource-file "semlf-c-mode.erts")
(lambda ()
(c-mode)
(fill-paragraph-semlf))))
(ert-deftest fill-test-fill-paragraph-semlf-org-mode ()
"Test the `fill-paragraph-semlf' function with `org-mode'."
(ert-test-erts-file (ert-resource-file "semlf-org-mode.erts")
(lambda ()
(org-mode)
(fill-paragraph-semlf))))
(ert-deftest fill-test-fill-paragraph-semlf-markdown-mode ()
"Test the `fill-paragraph-semlf' function with `markdown-mode'."
(skip-unless (functionp 'markdown-mode))
(ert-test-erts-file (ert-resource-file "semlf-markdown-mode.erts")
(lambda ()
(markdown-mode)
(fill-paragraph-semlf))))
(provide 'fill-tests)
;;; fill-tests.el ends here