summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2025-05-26 06:34:34 -0700
committerKaz Kylheku <kaz@kylheku.com>2025-05-26 06:34:34 -0700
commitd70b55a0023eda8d776f18d224e4487f5e0d484e (patch)
tree49cbede659184e54a84ab8329f88f8a42a51be45
parent8cadbc12494bda7ea81ea112ce8ba2403909d76e (diff)
downloadtxr-d70b55a0023eda8d776f18d224e4487f5e0d484e.tar.gz
txr-d70b55a0023eda8d776f18d224e4487f5e0d484e.tar.bz2
txr-d70b55a0023eda8d776f18d224e4487f5e0d484e.zip
compiler: function bindings syntax cannot be atom.
* stdlib/compiler.tl (compiler comp-fbind): We don't have to normalize the function binding syntax of a sys:fbind or sys:lbind. This code was copy and pated from (compiler comp-let). These bindings are always (name lambda) pairs and are machine-generated that way. If a name ocurred, it woudl not be correct to rewrite it to (name).
-rw-r--r--stdlib/compiler.tl5
1 files changed, 2 insertions, 3 deletions
diff --git a/stdlib/compiler.tl b/stdlib/compiler.tl
index fcdabf58..caa1143a 100644
--- a/stdlib/compiler.tl
+++ b/stdlib/compiler.tl
@@ -1037,9 +1037,8 @@
(uni ffuns bfrag.ffuns))))))))
(defmeth compiler comp-fbind (me oreg env form)
- (mac-param-bind form (sym raw-fis . body) form
- (let* ((fis (mapcar [iffi atom list] raw-fis))
- (lexfuns [mapcar car fis])
+ (mac-param-bind form (sym fis . body) form
+ (let* ((lexfuns [mapcar car fis])
(frsize (len lexfuns))
(rec (eq sym 'sys:lbind))
(eenv (unless rec (new env up env co me)))