aboutsummaryrefslogtreecommitdiff
path: root/src/interp
diff options
context:
space:
mode:
authordos-reis <gdr@axiomatics.org>2011-01-26 08:52:30 +0000
committerdos-reis <gdr@axiomatics.org>2011-01-26 08:52:30 +0000
commitd093a22f14e8f669b08ac407b4a2d6fc32d1e2ae (patch)
treec09da937ec9b9c25ce02b61e63be480b6f842d02 /src/interp
parentf739a0a8d77e564cf9a7853b0f135c99b45ff831 (diff)
downloadopen-axiom-d093a22f14e8f669b08ac407b4a2d6fc32d1e2ae.tar.gz
* interp/g-util.boot (expandListlit): Tidy.
Diffstat (limited to 'src/interp')
-rw-r--r--src/interp/g-util.boot9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/interp/g-util.boot b/src/interp/g-util.boot
index 95b36c06..50846d50 100644
--- a/src/interp/g-util.boot
+++ b/src/interp/g-util.boot
@@ -250,8 +250,13 @@ expandCollect ['%collect,:iters,body] ==
expandListlit(x is ['%listlit,:args]) ==
args := [expandToVMForm arg for arg in args]
args = nil => nil
- and/[integer? arg or string? arg for arg in args] => quoteForm args
- ['LIST,:args]
+ args' := [simpleValue? arg or leave 'failed for arg in args]
+ where simpleValue? arg ==
+ integer? arg or string? arg => arg
+ arg is ['QUOTE,form] => form
+ nil
+ args' = 'failed => ['LIST,:args]
+ quoteForm args'
expandReturn(x is ['%return,.,y]) ==
$FUNNAME = nil => systemErrorHere ['expandReturn,x]