Function: visual-wrap--prefix-face
visual-wrap--prefix-face is a byte-compiled function defined in
visual-wrap.el.gz.
Signature
(visual-wrap--prefix-face FCP BEG END)
Source Code
;; Defined in /usr/src/emacs/lisp/visual-wrap.el.gz
(defun visual-wrap--prefix-face (fcp _beg end)
;; If the fill-context-prefix already specifies a face, just use that.
(cond ((get-text-property 0 'face fcp))
;; Else, if the last character is a newline and has a face
;; that extends beyond EOL, assume that this face spans the
;; whole line and apply it to the prefix to preserve the
;; "block" visual effect.
;;
;; NB: the face might not actually span the whole line: see
;; for example removed lines in diff-mode, where the first
;; character has the diff-indicator-removed face, while the
;; rest of the line has the diff-removed face.
((= (char-before end) ?\n)
(let ((eol-face (get-text-property (1- end) 'face)))
;; `eol-face' can be a face, a "face value"
;; (plist of face properties) or a list of one of those.
(if (or (not (consp eol-face)) (keywordp (car eol-face)))
;; A single face.
(if (visual-wrap--face-extend-p eol-face) eol-face)
;; A list of faces. Keep the ones that extend beyond EOL.
(delq nil (mapcar (lambda (f)
(if (visual-wrap--face-extend-p f) f))
eol-face)))))))