Function: xselect--selection-bounds
xselect--selection-bounds is a byte-compiled function defined in
select.el.gz.
Signature
(xselect--selection-bounds VALUE)
Documentation
Return bounds of X selection value VALUE.
The return value is a list (BEG END BUF) if VALUE is a cons of two markers or an overlay. Otherwise, it is nil.
Source Code
;; Defined in /usr/src/emacs/lisp/select.el.gz
;; Functions to convert the selection into various other selection types.
;; Every selection type that Emacs handles is implemented this way, except
;; for TIMESTAMP, which is a special case.
(defun xselect--selection-bounds (value)
"Return bounds of X selection value VALUE.
The return value is a list (BEG END BUF) if VALUE is a cons of
two markers or an overlay. Otherwise, it is nil."
(cond ((bufferp value)
(with-current-buffer value
(when (mark t)
(list (mark t) (point) value))))
((and (consp value)
(markerp (car value))
(markerp (cdr value)))
(when (and (marker-buffer (car value))
(buffer-name (marker-buffer (car value)))
(eq (marker-buffer (car value))
(marker-buffer (cdr value))))
(list (marker-position (car value))
(marker-position (cdr value))
(marker-buffer (car value)))))
((overlayp value)
(when (overlay-buffer value)
(list (overlay-start value)
(overlay-end value)
(overlay-buffer value))))))