guile-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: JACAL, scm


From: Neil Jerram
Subject: Re: JACAL, scm
Date: 18 Oct 2001 00:08:38 +0100
User-agent: Gnus/5.0808 (Gnus v5.8.8) Emacs/20.7

>>>>> "Radey" == Radey Shouman <address@hidden> writes:

    Radey> Please see the "Programs and Definitions" section of the
    Radey> formal syntax, where we see

    Radey>    <definition> --> (begin <definition>*)

    Radey> Which indicates that (BEGIN) should be allowable anywhere
    Radey> definitions may appear.

This seems convincing enough.  Do you (everyone) think it's acceptable
to fix this such that (begin) is allowed anywhere, or do you think we
need to fix it so that it's allowed for definitions but disallowed for
non-definition expressions?

If the former, then the patch below suffices.

        Neil

cd /home/neil/Guile/cvs/guile-core/libguile/
diff -u /home/neil/Guile/cvs/guile-core/libguile/eval.c.old 
/home/neil/Guile/cvs/guile-core/libguile/eval.c
--- /home/neil/Guile/cvs/guile-core/libguile/eval.c.old Thu Oct 18 00:06:28 2001
+++ /home/neil/Guile/cvs/guile-core/libguile/eval.c     Thu Oct 18 00:06:38 2001
@@ -529,8 +529,10 @@
 SCM 
 scm_m_begin (SCM xorig, SCM env SCM_UNUSED)
 {
-  SCM_ASSYNT (scm_ilength (SCM_CDR (xorig)) >= 1, scm_s_expression, s_begin);
-  return scm_cons (SCM_IM_BEGIN, SCM_CDR (xorig));
+  if (scm_ilength (SCM_CDR (xorig)) >= 1)
+    return scm_cons (SCM_IM_BEGIN, SCM_CDR (xorig));
+  else
+    return SCM_UNSPECIFIED;
 }
 
 SCM_SYNTAX(s_if, "if", scm_makmmacro, scm_m_if);




reply via email to

[Prev in Thread] Current Thread [Next in Thread]