* eval.c (s_bad_define): New static identifier.
authorDirk Herrmann <dirk@dirk-herrmanns-seiten.de>
Fri, 21 Nov 2003 23:21:34 +0000 (23:21 +0000)
committerDirk Herrmann <dirk@dirk-herrmanns-seiten.de>
Fri, 21 Nov 2003 23:21:34 +0000 (23:21 +0000)
commit6bff13687c489ba5f15b8b8c4ee5e5acd8c43acc
tree6c62f576ba9d9ff9e5823d0372577d3504e9b04a
parent28a6e1b0b6be9f5d9ddd15b81f55da058d20f713
* eval.c (s_bad_define): New static identifier.

(m_body): Fixed comment.

(scm_m_define): Don't generate memoized code for definitions that
are not on the top level.  As a consequence, no memoized code at
all is generated for definitions any more: Top level definitions
are executed immediately during memoization and internal
definitions are handled separately in m_expand_body.

(scm_unmemocopy, unmemocopy): Removed code for unmemoizing
definitions.  Consequently, there is no unmemoizing code any more
that might modify the environment.  Thus, the old scm_unmemocopy
is removed and the old unmemocopy is renamed to scm_unmemocopy.

(SCM_CEVAL): The SCM_IM_DEFINE keyword can no longer occur in
memoized code.  Call EVALCAR for continuations.  Prefer !SCM_NULLP
over SCM_NIMP in places, where the argument is known to be part of
a proper list.
libguile/eval.c