Fix 'and': return nil if it has no operands
This commit is contained in:
parent
6bff33af20
commit
c79b2aabf4
1 changed files with 2 additions and 0 deletions
|
@ -852,6 +852,8 @@ sub macro_and {
|
||||||
return sub {
|
return sub {
|
||||||
my $ctx = shift;
|
my $ctx = shift;
|
||||||
|
|
||||||
|
return LISP_FALSE unless @operands_parsed;
|
||||||
|
|
||||||
my $v = LISP_TRUE;
|
my $v = LISP_TRUE;
|
||||||
my @operands = @operands_parsed;
|
my @operands = @operands_parsed;
|
||||||
while (from_lisp_bool($v) && (my $op = shift @operands))
|
while (from_lisp_bool($v) && (my $op = shift @operands))
|
||||||
|
|
Loading…
Reference in a new issue