fill-paragraph is an interactive compiled Lisp function in `fill.el'. It is bound to M-q. (fill-paragraph &optional JUSTIFY REGION) Fill paragraph at or after point[. If JUSTIFY is non-nil (interactively, with prefix argument), justify as well. If `sentence-end-double-space' is non-nil, then period followed by one space does not end a sentence, so don't break a line there. The variable `fill-column' controls the width for filling.] If `fill-paragraph-function' is non-nil, we call it (passing our argument to it), and if it returns non-nil, we simply return its value. If `fill-paragraph-function' is nil, return the `fill-prefix' used for filling. The REGION argument is non-nil if called interactively; in that case, if Transient Mark mode is enabled and the mark is active, call `fill-region' to fill each of the paragraphs in the active region, instead of just filling the current paragraph[...]
(let ((fill-prefix (make-string (length "1. ") ? )) (fill-paragraph))
(let ((fill-prefix (make-string (length "1. ") ? )) (fill-paragraph))
(let* ((num 15) (numstr (format "%d. " num)) (fill-prefix (make-string (length numstr) ? ))) (with-temp-buffer (loop for i from 1 to 50 do (insert (format "lorem ipsum (%d) doler sit amet " i))) (beginning-of-line) (insert numstr) (fill-paragraph) (buffer-string))) ;; => 15. lorem ipsum (1) doler sit amet lorem ipsum (2) doler sit amet lorem ipsum (3) doler sit amet lorem ipsum (4) doler sit amet lorem ipsum (5) doler sit amet lorem ipsum (6) doler sit amet lorem ipsum (7) doler sit amet lorem ipsum (8) doler sit amet lorem ipsum (9) doler sit amet lorem ipsum (10) doler sit amet lorem ipsum (11) doler sit amet lorem ipsum (12) doler sit amet lorem ipsum (13) doler sit amet lorem ipsum (14) doler sit amet lorem ipsum (15) doler sit amet lorem ipsum (16) doler sit amet lorem ipsum (17) doler sit amet lorem ipsum (18) doler sit amet lorem ipsum (19) doler sit amet lorem ipsum (20) doler sit amet lorem ipsum (21) doler sit amet lorem ipsum (22) doler sit amet lorem ipsum (23) doler sit amet lorem ipsum (24) doler sit amet lorem ipsum (25) doler sit amet lorem ipsum (26) doler sit amet lorem ipsum (27) doler sit amet lorem ipsum (28) doler sit amet lorem ipsum (29) doler sit amet lorem ipsum (30) doler sit amet lorem ipsum (31) doler sit amet lorem ipsum (32) doler sit amet lorem ipsum (33) doler sit amet lorem ipsum (34) doler sit amet lorem ipsum (35) doler sit amet lorem ipsum (36) doler sit amet lorem ipsum (37) doler sit amet lorem ipsum (38) doler sit amet lorem ipsum (39) doler sit amet lorem ipsum (40) doler sit amet lorem ipsum (41) doler sit amet lorem ipsum (42) doler sit amet lorem ipsum (43) doler sit amet lorem ipsum (44) doler sit amet lorem ipsum (45) doler sit amet lorem ipsum (46) doler sit amet lorem ipsum (47) doler sit amet lorem ipsum (48) doler sit amet lorem ipsum (49) doler sit amet lorem ipsum (50) doler sit amet
(let* ((num 15) (numstr (format "%d. " num)) (fill-prefix (make-string (length numstr) ? ))) (with-temp-buffer (loop for i from 1 to 15 do (insert (format "lorem ipsum (%d) doler sit amet " i))) (beginning-of-line) (insert numstr) (fill-paragraph) (buffer-string))) ;; => "\ 15. lorem ipsum (1) doler sit amet lorem ipsum (2) doler sit amet lorem ipsum (3) doler sit amet lorem ipsum (4) doler sit amet lorem ipsum (5) doler sit amet lorem ipsum (6) doler sit amet lorem ipsum (7) doler sit amet lorem ipsum (8) doler sit amet lorem ipsum (9) doler sit amet lorem ipsum (10) doler sit amet lorem ipsum (11) doler sit amet lorem ipsum (12) doler sit amet lorem ipsum (13) doler sit amet lorem ipsum (14) doler sit amet lorem ipsum (15) doler sit amet "