Function: faceup-clean-buffer
faceup-clean-buffer is an autoloaded, interactive and byte-compiled
function defined in faceup.el.gz.
Signature
(faceup-clean-buffer)
Documentation
Remove faceup markup from buffer.
Key Bindings
Source Code
;; Defined in /usr/src/emacs/lisp/emacs-lisp/faceup.el.gz
;; ----------------------------------------------------------------------
;;;###autoload
(defun faceup-clean-buffer ()
"Remove faceup markup from buffer."
(interactive)
(goto-char (point-min))
(let ((not-markup (concat
"^"
(make-string 1 faceup-markup-start-char)
(make-string 1 faceup-markup-end-char))))
(while (progn (skip-chars-forward not-markup)
(not (eobp)))
(if (eq (following-char) faceup-markup-end-char)
;; End markers are always on their own.
(delete-char 1)
;; Start marker.
(delete-char 1)
(if (or (eq (following-char) faceup-markup-start-char)
(eq (following-char) faceup-markup-end-char))
;; Escaped markup character, delete the escape and skip
;; the original character.
(forward-char)
;; Property name (if present)
(if (eq (following-char) ?\( )
(let ((p (point)))
(forward-sexp)
(delete-region p (point))))
;; Markup sequence.
(if (eq (following-char) ?:)
;; :value:
(let ((p (point)))
(forward-char)
(forward-sexp)
(unless (eobp)
(forward-char))
(delete-region p (point)))
;; X:
(delete-char 1) ; The one-letter form.
(delete-char 1))))))) ; The colon.