From 4698e522cc1182244a1b509d17a29b1cbdcba443 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?P=C5=99emysl=20Janouch?= Date: Sun, 28 May 2017 10:02:19 +0200 Subject: Fix regression in multiplication --- README.adoc | 4 ++-- ell.c | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/README.adoc b/README.adoc index d4c9412..c091259 100644 --- a/README.adoc +++ b/README.adoc @@ -52,7 +52,7 @@ Runtime ------- Variables use per-block dynamic scoping. Arguments to a block (which is a list of lists) are assigned to local variables named `1`, `2`, etc., and the full -list of them is stored in `*`. +list of them is stored in `args`. When evaluating a command, the first argument is typically a string with its name and it is resolved as if `set` was called on it. @@ -166,7 +166,7 @@ Install development packages for GNU Readline to get a REPL for toying around: Possible Ways of Complicating ----------------------------- - * `local [_a _b _rest] @*` would elegantly solve the problem of varargs, + * `local [_a _b _rest] @args` would elegantly solve the problem of varargs, that is, unpack a list when names are list, and make the last element a list when there are more arguments than names * reference counting: currently all values are always copied as needed, which diff --git a/ell.c b/ell.c index fdade77..a3a6e34 100644 --- a/ell.c +++ b/ell.c @@ -897,7 +897,7 @@ execute_statement static bool args_to_scope (struct context *ctx, struct item *args, struct item **scope) { if (!check (ctx, (args = new_list (args))) - || !scope_prepend (ctx, scope, "*", args)) + || !scope_prepend (ctx, scope, "args", args)) return false; size_t i = 0; -- cgit v1.2.3