Function: elisp-scope-if-let

elisp-scope-if-let is a byte-compiled function defined in elisp-scope.el.gz.

Signature

(elisp-scope-if-let BINDINGS THEN ELSE OUTSPEC)

Source Code

;; Defined in /usr/src/emacs/lisp/emacs-lisp/elisp-scope.el.gz
(defun elisp-scope-if-let (bindings then else outspec)
  (if (consp bindings)
      (let* ((binding (car bindings))
             (sym (if (consp binding)
                      (when (cdr binding) (car binding))
                    binding))
             (form (when (consp binding)
                     (if (cdr binding) (cadr binding) (car binding))))
             (bare (elisp-scope--sym-bare sym))
             (beg (elisp-scope--sym-pos sym)))
        (when beg (elisp-scope--binding bare beg))
        (when form (elisp-scope-1 form))
        (let ((elisp-scope-local-bindings
               (elisp-scope--local-new bare beg elisp-scope-local-bindings)))
          (elisp-scope-if-let (cdr bindings) then else outspec)))
    (elisp-scope-1 then outspec)
    (elisp-scope-n else outspec)))