Function: hproperty:but-get-all-in-region

hproperty:but-get-all-in-region is a byte-compiled function defined in hproperty.el.

Signature

(hproperty:but-get-all-in-region START END &optional PROPERTY VALUE)

Documentation

Return a list of all buttons in the current buffer between START and END.

If optional PROPERTY and non-nil VALUE are given, return only matching buttons. No ordering is specified; the caller must sort the buttons if an order is needed.

Use hproperty:but-get-first-in-region instead if you want only the first matching button.

Source Code

;; Defined in ~/.emacs.d/elpa/hyperbole-20260414.325/hproperty.el
(defun hproperty:but-get-all-in-region (start end &optional property value)
  "Return a list of all buttons in the current buffer between START and END.
If optional PROPERTY and non-nil VALUE are given, return only matching
buttons.  No ordering is specified; the caller must sort the buttons
if an order is needed.

Use `hproperty:but-get-first-in-region' instead if you want only the first
matching button."
  (let ((val-list (if property
		      (list value)
		    (list hproperty:but-face
			  hproperty:ibut-face
			  hproperty:flash-face))))
    (delq nil
	  (mapcar (lambda (overlay)
		    (and (bufferp (overlay-buffer overlay))
			 (memq (overlay-get overlay (or property 'face))
			       val-list)
			 overlay))
		  (overlays-in start end)))))