aboutsummaryrefslogtreecommitdiff
path: root/src/interp/g-util.boot
diff options
context:
space:
mode:
Diffstat (limited to 'src/interp/g-util.boot')
-rw-r--r--src/interp/g-util.boot5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/interp/g-util.boot b/src/interp/g-util.boot
index 89d2ebf4..267df900 100644
--- a/src/interp/g-util.boot
+++ b/src/interp/g-util.boot
@@ -650,6 +650,11 @@ addIntSymTabBinding(var,proplist,e is [[curContour,:.],:.]) ==
first(e).first := [[var,:proplist],:curContour]
e
+putMacro(lhs,rhs,e) ==
+ atom lhs => put(lhs,'macro,rhs,e)
+ parms := [gensym() for p in lhs.args]
+ put(lhs.op,'macro,['%mlambda,parms,SUBLISLIS(parms,lhs.args,rhs)],e)
+
--% Syntax manipulation
++ Build a quasiquotation form for `x'.