diff options
Diffstat (limited to 'lisp/textmodes/fill.el')
-rw-r--r-- | lisp/textmodes/fill.el | 42 |
1 files changed, 23 insertions, 19 deletions
diff --git a/lisp/textmodes/fill.el b/lisp/textmodes/fill.el index 21ee585ec11..65c8067d48a 100644 --- a/lisp/textmodes/fill.el +++ b/lisp/textmodes/fill.el @@ -743,7 +743,7 @@ space does not end a sentence, so don't break a line there." (defun fill-minibuffer-function (arg) "Fill a paragraph in the minibuffer, ignoring the prompt." - (save-restriction + (save-restriction (narrow-to-region (minibuffer-prompt-end) (point-max)) (fill-paragraph arg))) @@ -838,18 +838,22 @@ can take care of filling. JUSTIFY is used as in `fill-paragraph'." (commark (comment-string-strip (buffer-substring comstart comin) nil t)) (comment-re - ;; `commark' is surrounded with arbitrary text (`\0' and `a') - ;; to make sure it can be used as an optimization of - ;; `comment-start-skip' in the middle of a line. For example, - ;; `commark' can't be used with the "@c" in TeXinfo (hence - ;; the `a') or with the "C" at BOL in Fortran (hence the `\0'). - (if (string-match comment-start-skip (concat "\0" commark "a")) - (concat "[ \t]*" (regexp-quote commark) - ;; Make sure we only match comments that use - ;; the exact same comment marker. - "[^" (substring commark -1) "]") - (concat "[ \t]*\\(?:" comment-start-skip "\\)"))) - (comment-fill-prefix ; Compute a fill prefix. + ;; A regexp more specialized than comment-start-skip, that only + ;; matches the current commark rather than any valid commark. + ;; + ;; The specialized regexp only works for "normal" comment + ;; syntax, not for Texinfo's "@c" (which can't be immediately + ;; followed by word-chars) or Fortran's "C" (which needs to be + ;; at bol), so check that comment-start-skip indeed allows the + ;; commark to appear in the middle of the line and followed by + ;; word chars. The choice of "\0" and "a" is mostly arbitrary. + (if (string-match comment-start-skip (concat "\0" commark "a")) + (concat "[ \t]*" (regexp-quote commark) + ;; Make sure we only match comments that + ;; use the exact same comment marker. + "[^" (substring commark -1) "]") + (concat "[ \t]*\\(?:" comment-start-skip "\\)"))) + (comment-fill-prefix ; Compute a fill prefix. (save-excursion (goto-char comstart) (if has-code-and-comment @@ -944,13 +948,13 @@ Ordinarily the variable `fill-column' controls the width. Noninteractively, the third argument JUSTIFY specifies which kind of justification to do: `full', `left', `right', `center', -or `none' (equivalent to nil). t means handle each paragraph -as specified by its text properties. +or `none' (equivalent to nil). A value of t means handle each +paragraph as specified by its text properties. -The fourth arg NOSQUEEZE non-nil means to leave -whitespace other than line breaks untouched, and fifth arg TO-EOP -non-nil means to keep filling to the end of the paragraph (or next -hard newline, if variable `use-hard-newlines' is on). +The fourth arg NOSQUEEZE non-nil means to leave whitespace other +than line breaks untouched, and fifth arg TO-EOP non-nil means +to keep filling to the end of the paragraph (or next hard newline, +if variable `use-hard-newlines' is on). Return the fill-prefix used for filling the last paragraph. |