This is the mail archive of the guile-cvs@sourceware.cygnus.com mailing list for the Guile project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

guile/guile-core/libguile alist.c list.c


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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]