Function: erc-fill-wrap
erc-fill-wrap is a byte-compiled function defined in erc-fill.el.gz.
Signature
(erc-fill-wrap)
Documentation
Use text props to mimic the effect of erc-fill-static.
See erc-fill-wrap-mode(var)/erc-fill-wrap-mode(fun) for details.
Source Code
;; Defined in /usr/src/emacs/lisp/erc/erc-fill.el.gz
(defun erc-fill-wrap ()
"Use text props to mimic the effect of `erc-fill-static'.
See `erc-fill-wrap-mode' for details."
(unless erc-fill-wrap-mode
(erc-fill-wrap-mode +1))
(save-excursion
(goto-char (point-min))
(let ((len (or (and erc-fill--wrap-length-function
(funcall erc-fill--wrap-length-function))
(and-let* ((msg-prop (erc--check-msg-prop 'erc--msg))
((not (eq msg-prop 'unknown))))
(when-let* ((e (erc--get-speaker-bounds))
(b (pop e))
((or erc-fill--wrap-action-dedent-p
(not (erc--check-msg-prop 'erc--ctcp
'ACTION)))))
(goto-char e))
(skip-syntax-forward "^-")
(forward-char)
(cond ((eq msg-prop 'datestamp)
(when erc-fill--wrap-rejigger-last-message
(set-marker erc-fill--wrap-last-msg (point-min)))
(save-excursion
(goto-char (point-max))
(skip-chars-backward "\n")
(let ((beg (pos-bol)))
(insert " ")
(prog1 (erc-fill--wrap-measure beg (point))
(delete-region (1- (point)) (point))))))
((and erc-fill-wrap-merge
(funcall erc-fill--wrap-continued-predicate))
(add-text-properties
(point-min) (point)
'(display "" erc-fill--wrap-merge ""))
(if erc-fill-wrap-merge-indicator
(erc-fill--wrap-insert-merged-pre)
0))
(t
(erc-fill--wrap-measure (point-min) (point))))))))
(add-text-properties
(point-min) (1- (point-max)) ; exclude "\n"
`( line-prefix (space :width ,(if len
`(- erc-fill--wrap-value ,len)
'erc-fill--wrap-value))
wrap-prefix (space :width erc-fill--wrap-value))))))