Function: faceup-copy-and-quote
faceup-copy-and-quote is a byte-compiled function defined in
faceup.el.gz.
Signature
(faceup-copy-and-quote START END TO-BUFFER)
Documentation
Quote and insert the text between START and END into TO-BUFFER.
Source Code
;; Defined in /usr/src/emacs/lisp/emacs-lisp/faceup.el.gz
;; Idea:
;;
;; Typically, only one face is used. However, when two faces are used,
;; the one of top is typically shorter. Hence, the faceup variant
;; should treat the inner group of nested ranges the upper (i.e. the
;; one towards the front.) For example:
;;
;; «f:aaaaaaa«U:xxxx»aaaaaa»
(defun faceup-copy-and-quote (start end to-buffer)
"Quote and insert the text between START and END into TO-BUFFER."
(let ((not-markup (concat "^"
(make-string 1 faceup-markup-start-char)
(make-string 1 faceup-markup-end-char))))
(save-excursion
(goto-char start)
(while (< (point) end)
(let ((old (point)))
(skip-chars-forward not-markup end)
(let ((s (buffer-substring-no-properties old (point))))
(with-current-buffer to-buffer
(insert s))))
;; Quote stray markup characters.
(unless (= (point) end)
(let ((next-char (following-char)))
(with-current-buffer to-buffer
(insert faceup-markup-start-char)
(insert next-char)))
(forward-char))))))