* Empty (begin), (begin1) and (cond) return #<unspecified>.

git-svn-id: svn://svn.zoy.org/elk/trunk@177 55e467fa-43c5-0310-a8a2-de718669efc6
This commit is contained in:
sam 2003-09-22 22:54:22 +00:00
parent 2383e0247c
commit c4fbd1b8f2
2 changed files with 9 additions and 4 deletions

View File

@ -336,11 +336,11 @@ struct Prim_Init {
*/ */
{ P_Quote, "quote", 1, 1, NOEVAL }, { P_Quote, "quote", 1, 1, NOEVAL },
{ P_Quasiquote, "quasiquote", 1, 1, NOEVAL }, { P_Quasiquote, "quasiquote", 1, 1, NOEVAL },
{ P_Begin, "begin", 1, MANY, NOEVAL }, { P_Begin, "begin", 0, MANY, NOEVAL },
{ P_Begin1, "begin1", 1, MANY, NOEVAL }, { P_Begin1, "begin1", 0, MANY, NOEVAL },
{ P_If, "if", 2, MANY, NOEVAL }, { P_If, "if", 2, MANY, NOEVAL },
{ P_Case, "case", 2, MANY, NOEVAL }, { P_Case, "case", 2, MANY, NOEVAL },
{ P_Cond, "cond", 1, MANY, NOEVAL }, { P_Cond, "cond", 0, MANY, NOEVAL },
{ P_Do, "do", 2, MANY, NOEVAL }, { P_Do, "do", 2, MANY, NOEVAL },
{ P_Let, "let", 2, MANY, NOEVAL }, { P_Let, "let", 2, MANY, NOEVAL },
{ P_Letseq, "let*", 2, MANY, NOEVAL }, { P_Letseq, "let*", 2, MANY, NOEVAL },

View File

@ -131,7 +131,7 @@ Object P_Begin (Object forms) {
TC_Prolog; TC_Prolog;
if (Nullp (forms)) if (Nullp (forms))
return Null; return Unspecified;
GC_Link (forms); GC_Link (forms);
TC_Disable; TC_Disable;
for ( ; !Nullp (Cdr (forms)); forms = Cdr (forms)) for ( ; !Nullp (Cdr (forms)); forms = Cdr (forms))
@ -147,6 +147,8 @@ Object P_Begin1 (Object forms) {
GC_Node; GC_Node;
TC_Prolog; TC_Prolog;
if (Nullp (forms))
return Unspecified;
GC_Link (forms); GC_Link (forms);
TC_Disable; TC_Disable;
for (n = 1; !Nullp (Cdr (forms)); n = 0, forms = Cdr (forms)) { for (n = 1; !Nullp (Cdr (forms)); n = 0, forms = Cdr (forms)) {
@ -229,6 +231,9 @@ Object P_Cond (Object argl) {
GC_Node3; GC_Node3;
TC_Prolog; TC_Prolog;
if (Nullp (argl))
return Unspecified;
ret = False; ret = False;
clause = guard = Null; clause = guard = Null;
GC_Link3 (argl, clause, guard); GC_Link3 (argl, clause, guard);