Function: fill-individual-paragraphs-prefix
fill-individual-paragraphs-prefix is a byte-compiled function defined
in fill.el.gz.
Signature
(fill-individual-paragraphs-prefix CITATION-REGEXP)
Source Code
;; Defined in /usr/src/emacs/lisp/textmodes/fill.el.gz
(defun fill-individual-paragraphs-prefix (citation-regexp)
(let* ((adaptive-fill-first-line-regexp ".*")
(just-one-line-prefix
;; Accept any prefix rather than just the ones matched by
;; adaptive-fill-first-line-regexp.
(fill-context-prefix (point) (line-beginning-position 2)))
(two-lines-prefix
(fill-context-prefix (point) (line-beginning-position 3))))
(if (not just-one-line-prefix)
(buffer-substring
(point) (save-excursion (skip-chars-forward " \t") (point)))
;; See if the citation part of JUST-ONE-LINE-PREFIX
;; is the same as that of TWO-LINES-PREFIX,
;; except perhaps with longer whitespace.
(if (and just-one-line-prefix two-lines-prefix
(let* ((one-line-citation-part
(fill-individual-paragraphs-citation
just-one-line-prefix citation-regexp))
(two-lines-citation-part
(fill-individual-paragraphs-citation
two-lines-prefix citation-regexp))
(adjusted-two-lines-citation-part
(substring two-lines-citation-part 0
(string-match "[ \t]*\\'"
two-lines-citation-part))))
(and
(string-match (concat "\\`"
(regexp-quote
adjusted-two-lines-citation-part)
"[ \t]*\\'")
one-line-citation-part)
(>= (string-width one-line-citation-part)
(string-width two-lines-citation-part)))))
two-lines-prefix
just-one-line-prefix))))