Skip to main content
added 381 characters in body
Source Link
Sean Allred
  • 7.1k
  • 22
  • 87
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 " 
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* ((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 
(fill-paragraph &optional JUSTIFY REGION) [...] 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. [...] 
(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 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 " 
added 381 characters in body
Source Link
Sean Allred
  • 7.1k
  • 22
  • 87
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. 

Usemarkdown-mode presumably sets fill-paragraph-function to nil so that the function uses fill-prefix: to do the filling.

(let ((fill-prefix (make-string (length "1. ") ? )) (fill-paragraph)) 

Full example:

(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 

Use fill-prefix:

(let ((fill-prefix (make-string (length "1. ") ? )) (fill-paragraph)) 
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. 

markdown-mode presumably sets fill-paragraph-function to nil so that the function uses fill-prefix to do the filling.

(let ((fill-prefix (make-string (length "1. ") ? )) (fill-paragraph)) 

Full example:

(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 
Source Link
Sean Allred
  • 7.1k
  • 22
  • 87

Use fill-prefix:

(let ((fill-prefix (make-string (length "1. ") ? )) (fill-paragraph))