Mercurial > emacs
changeset 12708:1a81e79198c6
(do-auto-fill): Handle adaptive-fill-regexp.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Fri, 28 Jul 1995 02:38:16 +0000 |
parents | 06608e9272b5 |
children | a3d74b20e0e2 |
files | lisp/simple.el |
diffstat | 1 files changed, 22 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/simple.el Fri Jul 28 00:36:18 1995 +0000 +++ b/lisp/simple.el Fri Jul 28 02:38:16 1995 +0000 @@ -2300,7 +2300,8 @@ "*Regexp to match lines which should not be auto-filled.") (defun do-auto-fill () - (let (fc justify bol give-up) + (let (fc justify bol give-up + (fill-prefix fill-prefix)) (if (or (not (setq justify (current-justification))) (null (setq fc (current-fill-column))) (and (eq justify 'left) @@ -2312,6 +2313,26 @@ nil ;; Auto-filling not required (if (memq justify '(full center right)) (save-excursion (unjustify-current-line))) + + ;; Choose a fill-prefix automatically. + (if (and adaptive-fill-mode + (or (null fill-prefix) (string= fill-prefix ""))) + (let (start end) + (save-excursion + (end-of-line) + (setq end (point)) + (beginning-of-line) + (setq start (point)) + (move-to-left-margin) + ;; Don't do it if this line is a paragraph-starter line + ;; because then the next line will probably also become one. + ;; In text mode, when the user indents the first line of a + ;; paragraph, we don't want all the lines to be indented. + (and (not (looking-at paragraph-start)) + (re-search-forward adaptive-fill-regexp end t) + (setq fill-prefix + (buffer-substring-no-properties start (point))))))) + (while (and (not give-up) (> (current-column) fc)) ;; Determine where to split the line. (let ((fill-point