public inbox for guile-cvs@sourceware.org
help / color / mirror / Atom feed
* guile/guile-core/libguile alist.c list.c
@ 2000-01-06 10:00 gjb
0 siblings, 0 replies; only message in thread
From: gjb @ 2000-01-06 10:00 UTC (permalink / raw)
To: guile-cvs
CVSROOT: /cvs/guile
Module name: guile
Changes by: gjb@sourceware.cygnus.com 00/01/06 10:00:33
Modified files:
guile-core/libguile: alist.c list.c
Log message:
* alist.c: minimize scope of the tmp variables, and initialize
them when declared. The strange SCM_NIMP tests are replaced by
SCM_CONSP tests that more closely reflect the intended semantics.
However, we don't get a performance penalty here, because the
SCM_CONSP test was performed by the ALISTCELL test anyway. * The
extremely ugly use of ASRTGO macros was removed: The calls to
ASRTGO were not encapsulated by "#ifndef SCM_RECKLESS", but got a
label parameter that only exists when SCM_RECKLESS is not defined.
This works, because ASRTGO itself is defined in a way that it only
makes use of the label parameter if SCM_RECKLESS is not defined
(shudder!). Does guile make at all use of the possibility to
define SCM_RECKLESS? * Codesize is likely to be reduced, since
instead of two calls to SCM_ASSERT performed by the ALISTCELL test
we now only get one test.
* list.c: Use SCM_NNULLP, not SCM_NIMP as appropriate. Also use
SCM_NULLP instead of SCM_IMP. Drop use of "register" keyword on
some variables in `list?'. Fix `reverse' and `reverse!'
primitives to handle improper lists better.
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2000-01-06 10:00 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2000-01-06 10:00 guile/guile-core/libguile alist.c list.c gjb
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).