Function: internal--build-binding

internal--build-binding is a byte-compiled function defined in subr.el.gz.

Signature

(internal--build-binding BINDING PREV-VAR)

Documentation

Check and build a single BINDING with PREV-VAR.

Source Code

;; Defined in /usr/src/emacs/lisp/subr.el.gz
;;; `when-let' and friends.

(defun internal--build-binding (binding prev-var)
  "Check and build a single BINDING with PREV-VAR."
  (setq binding
        (cond
         ((symbolp binding)
          (list binding binding))
         ((null (cdr binding))
          (list (make-symbol "s") (car binding)))
         ((eq '_ (car binding))
          (list (make-symbol "s") (cadr binding)))
         (t binding)))
  (when (> (length binding) 2)
    (signal 'error
            (cons "`let' bindings can have only one value-form" binding)))
  (let ((var (car binding)))
    `(,var (and ,prev-var ,(cadr binding)))))