Function: expreg--list-at-point
expreg--list-at-point is a natively compiled function defined in
expreg.el.
Signature
(expreg--list-at-point)
Documentation
Return a list of one region marking the list at point, or nil.
Point should be at the beginning or end of a list. Does not move point.
Source Code
;; Defined in /nix/store/29cdhkmkqv2bgp3p30khhf35kkbgx1ya-emacs-packages-deps/share/emacs/site-lisp/elpa/expreg-1.4.1/expreg.el
(defun expreg--list-at-point ()
"Return a list of one region marking the list at point, or nil.
Point should be at the beginning or end of a list. Does not move
point."
(unless (expreg--inside-string-p)
(condition-case nil
(save-excursion
;; Even if point is not at the beginning of a list, but
;; before a list (with only spaces between), we want to
;; return a region covering that list after point, for
;; convenience. But because this region will not cover
;; point, it will not pass the filtering, so this function
;; needs to be added to ‘expreg--validation-white-list’.
(when (and (looking-at (rx (syntax whitespace)))
(not (eq 41 (char-syntax (or (char-before) ?x)))))
(skip-syntax-forward "-"))
;; If at the end of a list and not the beginning of another
;; one, move to the beginning of the list. Corresponding
;; char for each int: 40=(, 39=', 41=).
(when (and (eq 41 (char-syntax (or (char-before) ?x)))
(not (memq (char-syntax (or (char-after) ?x))
'(39 40))))
(backward-list 1))
(when (memq (char-syntax (or (char-after) ?x))
'(39 40))
(let ((beg (if (eq 39 (char-syntax (or (char-before) ?x)))
(1- (point))
(point))))
(forward-list)
(list `(list-at-point . ,(cons beg (point)))))))
(scan-error nil))))