Remove macro expansion from apply.
authorJan Nieuwenhuizen <janneke@gnu.org>
Mon, 17 Oct 2016 16:26:07 +0000 (18:26 +0200)
committerJan Nieuwenhuizen <janneke@gnu.org>
Mon, 17 Oct 2016 16:26:07 +0000 (18:26 +0200)
mes.c (apply_env): Remove macro expansion.

mes.c

diff --git a/mes.c b/mes.c
index 90915ed94d784984e55df6667022e7b8bade3277..569fcc0c79bd6602858649cf615f2f7fe46e88ff 100644 (file)
--- a/mes.c
+++ b/mes.c
@@ -1,4 +1,4 @@
-/*
+/* -*-comment-start: "//";comment-end:""-*-
  * Mes --- Maxwell Equations of Software
  * Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
  *
  * along with Mes.  If not, see <http://www.gnu.org/licenses/>.
  */
 
-// (setq comment-start "//")
-// (setq comment-end "")
-/*
- * The Maxwell Equations of Software -- John McCarthy page 13
- * http://www.softwarepreservation.org/projects/LISP/book/LISP%201.5%20Programmers%20Manual.pdf
- */
-
 #define STRING_MAX 2048
 #define _GNU_SOURCE
 #include <assert.h>
@@ -325,7 +318,6 @@ evlis (scm *m, scm *a)
 scm *
 apply_env (scm *fn, scm *x, scm *a)
 {
-  scm *macro;
   if (fn->type != PAIR)
     {
       if (fn == &scm_car) return x->car->car;
@@ -348,11 +340,6 @@ apply_env (scm *fn, scm *x, scm *a)
     scm *p = pairlis (args, x, a);
     return eval_env (cons (&symbol_begin, body), cons (cons (&symbol_closure, p), p));
   }
-  else if ((macro = lookup_macro (car (fn), a)) != &scm_f) {
-    scm *r = apply_env (eval_env (macro, a), cdr (fn), a);
-    scm *e = eval_env (r, a);
-    return apply_env (e, x, a);
-  }
   scm *efn = eval_env (fn,  a);
   if (efn->type == NUMBER || efn == &scm_f || efn == &scm_t) assert (!"apply bool");
   return apply_env (efn, x, a);