Function: remove-yank-excluded-properties

remove-yank-excluded-properties is a byte-compiled function defined in subr.el.gz.

Signature

(remove-yank-excluded-properties START END)

Documentation

Process text properties between START and END, inserted for a yank.

Perform the handling specified by yank-handled-properties, then remove properties specified by yank-excluded-properties.

Source Code

;; Defined in /usr/src/emacs/lisp/subr.el.gz
(defun remove-yank-excluded-properties (start end)
  "Process text properties between START and END, inserted for a `yank'.
Perform the handling specified by `yank-handled-properties', then
remove properties specified by `yank-excluded-properties'."
  (let ((inhibit-read-only t))
    (dolist (handler yank-handled-properties)
      (let ((prop (car handler))
            (fun  (cdr handler))
            (run-start start))
        (while (< run-start end)
          (let ((value (get-text-property run-start prop))
                (run-end (next-single-property-change
                          run-start prop nil end)))
            (funcall fun value run-start run-end)
            (setq run-start run-end)))))
    (if (eq yank-excluded-properties t)
        (set-text-properties start end nil)
      (remove-list-of-text-properties start end yank-excluded-properties))))