diff options
author | Robin Templeton <robin@terpri.org> | 2014-08-04 23:17:21 -0400 |
---|---|---|
committer | Christine Lemmer-Webber <cwebber@dustycloud.org> | 2021-10-19 18:10:05 -0400 |
commit | 05ea13e91083c782a7bb42d5c50b230b3c294a34 (patch) | |
tree | ae69f8c5b6e8596fdd21606d34421120e59f1fea | |
parent | cd630c1f38b40427065801b7a6c135147d6d3bc5 (diff) | |
download | guile-05ea13e91083c782a7bb42d5c50b230b3c294a34.tar.gz |
degenerate let forms
(Best-ability ChangeLog annotation added by Christine Lemmer-Webber.)
* module/language/elisp/compile-tree-il.scm (let): Conditionally invoke
make-body within make-dynlet or just on its own depending on whether
or not dynamic? is null?.
-rw-r--r-- | module/language/elisp/compile-tree-il.scm | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/module/language/elisp/compile-tree-il.scm b/module/language/elisp/compile-tree-il.scm index 9533e916d..29c769dd5 100644 --- a/module/language/elisp/compile-tree-il.scm +++ b/module/language/elisp/compile-tree-il.scm @@ -590,12 +590,14 @@ loc (map car dynamic) (if (null? lexical) - (make-dynlet loc - (map (compose (cut make-const loc <>) car) - dynamic) - (map (compose compile-expr cdr) - dynamic) - (make-body)) + (if (null? dynamic) + (make-body) + (make-dynlet loc + (map (compose (cut make-const loc <>) car) + dynamic) + (map (compose compile-expr cdr) + dynamic) + (make-body))) (let* ((lexical-syms (map (lambda (el) (gensym)) lexical)) (dynamic-syms (map (lambda (el) (gensym)) dynamic)) (all-syms (append lexical-syms dynamic-syms)) |