Function: byte-compile--first-symbol-with-pos
byte-compile--first-symbol-with-pos is a byte-compiled function
defined in bytecomp.el.gz.
Signature
(byte-compile--first-symbol-with-pos FORM)
Documentation
Return the first symbol with position in form, or nil if none.
Order is by depth-first search.
Source Code
;; Defined in /usr/src/emacs/lisp/emacs-lisp/bytecomp.el.gz
(defun byte-compile--first-symbol-with-pos (form)
"Return the first symbol with position in form, or nil if none.
Order is by depth-first search."
(named-let loop ((form form)
(depth 10)) ;Arbitrary limit.
(cond
((<= depth 0) nil) ;Avoid cycles (bug#58601).
((symbol-with-pos-p form) form)
((consp form)
(or (loop (car form) (1- depth))
(loop (cdr form) (1- depth))))
((or (vectorp form) (recordp form))
(let ((len (length form))
(i 0)
(sym nil))
(while (and (< i len)
(not (setq sym (loop (aref form i) (1- depth)))))
(setq i (1+ i)))
sym)))))