From d70b55a0023eda8d776f18d224e4487f5e0d484e Mon Sep 17 00:00:00 2001 From: Kaz Kylheku Date: Mon, 26 May 2025 06:34:34 -0700 Subject: 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). --- stdlib/compiler.tl | 5 ++--- 1 file 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))) -- cgit v1.2.3