Function: let-alist--deep-dot-search
let-alist--deep-dot-search is a byte-compiled function defined in
let-alist.el.gz.
Signature
(let-alist--deep-dot-search DATA)
Documentation
Return alist of symbols inside DATA that start with a ..
Perform a deep search and return an alist where each car is the
symbol, and each cdr is the same symbol without the ..
Source Code
;; Defined in /usr/src/emacs/lisp/emacs-lisp/let-alist.el.gz
(defun let-alist--deep-dot-search (data)
"Return alist of symbols inside DATA that start with a `.'.
Perform a deep search and return an alist where each car is the
symbol, and each cdr is the same symbol without the `.'."
(cond
((symbolp data)
(let ((name (symbol-name data)))
(when (string-match "\\`\\." name)
;; Return the cons cell inside a list, so it can be appended
;; with other results in the clause below.
(list (cons data (intern (replace-match "" nil nil name)))))))
((vectorp data)
(apply #'nconc (mapcar #'let-alist--deep-dot-search data)))
((not (consp data)) nil)
((eq (car data) 'let-alist)
;; For nested ‘let-alist’ forms, ignore symbols appearing in the
;; inner body because they don’t refer to the alist currently
;; being processed. See Bug#24641.
(let-alist--deep-dot-search (cadr data)))
(t (append (let-alist--deep-dot-search (car data))
(let-alist--deep-dot-search (cdr data))))))