diff options
author | dos-reis <gdr@axiomatics.org> | 2011-10-24 05:57:35 +0000 |
---|---|---|
committer | dos-reis <gdr@axiomatics.org> | 2011-10-24 05:57:35 +0000 |
commit | 99aeb02edd1614d30e308a9267325f138617d58f (patch) | |
tree | ed560c44f07ace6aa005a7a6f31ce87c18dd065a /src | |
parent | cef0dd1a5a078a0d8d6b635a2c247c81c00b2a12 (diff) | |
download | open-axiom-99aeb02edd1614d30e308a9267325f138617d58f.tar.gz |
* interp/compiler.boot (compArgumentsAndTryAgain): Fail only if
elaboration of all arguments fails.
Diffstat (limited to 'src')
-rw-r--r-- | src/ChangeLog | 5 | ||||
-rw-r--r-- | src/interp/compiler.boot | 3 |
2 files changed, 6 insertions, 2 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 8cc632b0..3037cb37 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,8 @@ +2011-10-24 Gabriel Dos Reis <gdr@cs.tamu.edu> + + * interp/compiler.boot (compArgumentsAndTryAgain): Fail only if + elaboration of all arguments fails. + 2011-10-23 Gabriel Dos Reis <gdr@cs.tamu.edu> * interp/compiler.boot (compOrCroak1): Drop last argument. Tidy. diff --git a/src/interp/compiler.boot b/src/interp/compiler.boot index c6ffa376..e0fae8b4 100644 --- a/src/interp/compiler.boot +++ b/src/interp/compiler.boot @@ -494,8 +494,7 @@ compArgumentsAndTryAgain(form is [.,:argl],m,e) == -- modemap with selector b form is ["elt",a,.] => ([.,.,e]:= comp(a,$EmptyMode,e) or return nil; compForm1(form,m,e)) - u := for x in argl repeat [.,.,e]:= comp(x,$EmptyMode,e) or return "failed" - u is "failed" => nil + +/[(e := T.env; 1) for x in argl | T := comp(x,$EmptyMode,e)] = 0 => nil compForm1(form,m,e) outputComp(x,e) == |