Function: elisp-scope-rx-define
elisp-scope-rx-define is a byte-compiled function defined in
elisp-scope.el.gz.
Signature
(elisp-scope-rx-define NAME REST)
Source Code
;; Defined in /usr/src/emacs/lisp/emacs-lisp/elisp-scope.el.gz
(defun elisp-scope-rx-define (name rest)
(when-let* ((bare (elisp-scope--sym-bare name)))
(elisp-scope--report 'rx-construct (symbol-with-pos-pos name) bare))
(if (not (cdr rest))
(elisp-scope-rx-1 (car rest))
(let ((l elisp-scope-rx-alist)
(args (car rest))
(rx (cadr rest)))
(dolist (arg args)
(and (symbol-with-pos-p arg)
(when-let* ((beg (symbol-with-pos-pos arg))
(bare (bare-symbol arg)))
(if (memq bare '(&optional &rest _))
(elisp-scope--report 'ampersand beg bare)
(elisp-scope--report 'rx-construct beg bare beg)))))
(dolist (arg args)
(when-let* ((bare (bare-symbol arg))
(beg (elisp-scope--sym-pos arg)))
(unless (memq bare '(&optional &rest))
(setq l (elisp-scope--local-new bare beg l)))))
(let ((elisp-scope-rx-alist l))
(elisp-scope-rx-1 rx)))))