Fix regression in multiplication
This commit is contained in:
parent
81853a37fb
commit
4698e522cc
|
@ -52,7 +52,7 @@ Runtime
|
||||||
-------
|
-------
|
||||||
Variables use per-block dynamic scoping. Arguments to a block (which is a list
|
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
|
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
|
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.
|
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
|
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
|
that is, unpack a list when names are list, and make the last element a list
|
||||||
when there are more arguments than names
|
when there are more arguments than names
|
||||||
* reference counting: currently all values are always copied as needed, which
|
* reference counting: currently all values are always copied as needed, which
|
||||||
|
|
2
ell.c
2
ell.c
|
@ -897,7 +897,7 @@ execute_statement
|
||||||
static bool
|
static bool
|
||||||
args_to_scope (struct context *ctx, struct item *args, struct item **scope) {
|
args_to_scope (struct context *ctx, struct item *args, struct item **scope) {
|
||||||
if (!check (ctx, (args = new_list (args)))
|
if (!check (ctx, (args = new_list (args)))
|
||||||
|| !scope_prepend (ctx, scope, "*", args))
|
|| !scope_prepend (ctx, scope, "args", args))
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
size_t i = 0;
|
size_t i = 0;
|
||||||
|
|
Loading…
Reference in New Issue