Function: cond*-convert-clause
cond*-convert-clause is a byte-compiled function defined in
cond-star.el.gz.
Signature
(cond*-convert-clause CLAUSE REST)
Documentation
Process one cond* clause, CLAUSE.
REST is the rest of the clauses of this cond* expression.
Source Code
;; Defined in /usr/src/emacs/lisp/emacs-lisp/cond-star.el.gz
(defun cond*-convert-clause (clause rest)
"Process one `cond*' clause, CLAUSE.
REST is the rest of the clauses of this cond* expression."
(if (cond*-non-exit-clause-p clause)
;; Handle a non-exit clause. Make its bindings active
;; around the whole rest of this cond*, treating it as
;; a condition whose value is always t, around the rest
;; of this cond*.
(let ((substance (cond*-non-exit-clause-substance clause)))
(cond*-convert-condition
;; Handle the first substantial element in the non-exit clause
;; as a matching condition.
(car substance)
;; Any following elements in the
;; non-exit clause are just expressions.
(cdr substance)
;; Remaining clauses will be UNCONDIT-CLAUSES:
;; run unconditionally and handled as a cond* body.
rest
nil nil))
;; Handle a normal (conditional exit) clause.
(cond*-convert-condition (car-safe clause) (cdr-safe clause) nil
rest (cond*-convert rest))))