(static-cond): New function.
authoryamaoka <yamaoka>
Wed, 16 Jun 1999 02:45:36 +0000 (02:45 +0000)
committeryamaoka <yamaoka>
Wed, 16 Jun 1999 02:45:36 +0000 (02:45 +0000)
static.el

index 7e21065..2a2a89d 100644 (file)
--- a/static.el
+++ b/static.el
@@ -69,6 +69,14 @@ The variable SYMBOL can be referenced at either compile-time or run-time."
     (eval (` (defconst (, symbol) (quote (, value)) (, docstring))))
     (` (defconst (, symbol) (quote (, value)) (, docstring)))))
 
+(defmacro static-cond (&rest clauses)
+  "`cond' expression but the car of each clause is evaluated at compile-time."
+  (while (and clauses
+             (not (eval (car (car clauses)))))
+    (setq clauses (cdr clauses)))
+  (if clauses
+      (cons 'progn (cdr (car clauses)))))
+
 
 ;;; @ end
 ;;;