Function: kproperty:remove

kproperty:remove is a byte-compiled function defined in kproperty.el.

Signature

(kproperty:remove START END PROPERTY-LIST &optional OBJECT)

Documentation

From START to END, remove the text properties in PROPERTY-LIST.

The optional fourth argument, OBJECT, is the string or buffer containing the text. PROPERTY-LIST should be a plist; if the value of a property is non-nil, then only a property with a matching value will be removed. Return t if any property was changed, nil otherwise.

Source Code

;; Defined in ~/.emacs.d/elpa/hyperbole-20260414.325/kotl/kproperty.el
(defun kproperty:remove (start end property-list &optional object)
  "From START to END, remove the text properties in PROPERTY-LIST.
The optional fourth argument, OBJECT, is the string or buffer containing the
text.  PROPERTY-LIST should be a plist; if the value of a property is
non-nil, then only a property with a matching value will be removed.
Return t if any property was changed, nil otherwise."
  (let ((changed) plist property value next)
    (while property-list
      (setq property (car property-list)
	    value (car (cdr property-list))
	    plist (list property value)
	    property-list (nthcdr 2 property-list)
	    next start)
      (while (setq next (text-property-any next end property value object))
	(remove-text-properties next (1+ next) plist object)
	(setq changed t next (1+ next))))
    changed))