Function: fill-delete-prefix
fill-delete-prefix is a byte-compiled function defined in fill.el.gz.
Signature
(fill-delete-prefix FROM TO PREFIX)
Documentation
Delete the fill prefix from every line except the first.
The first line may not even have a fill prefix. Point is moved to just past the fill prefix on the first line.
Source Code
;; Defined in /usr/src/emacs/lisp/textmodes/fill.el.gz
(defun fill-delete-prefix (from to prefix)
"Delete the fill prefix from every line except the first.
The first line may not even have a fill prefix.
Point is moved to just past the fill prefix on the first line."
(let ((fpre (if (and prefix (not (string-match "\\`[ \t]*\\'" prefix)))
(concat "[ \t]*\\("
(replace-regexp-in-string
"[ \t]+" "[ \t]*"
(regexp-quote prefix))
"\\)?[ \t]*")
"[ \t]*")))
(goto-char from)
;; Why signal an error here? The problem needs to be caught elsewhere.
;; (if (>= (+ (current-left-margin) (length prefix))
;; (current-fill-column))
;; (error "fill-prefix too long for specified width"))
(forward-line 1)
(while (< (point) to)
(if (looking-at fpre)
(delete-region (point) (match-end 0)))
(forward-line 1))
(goto-char from)
(if (looking-at fpre)
(goto-char (match-end 0)))
(point)))