From mboxrd@z Thu Jan 1 00:00:00 1970 From: gjb@sourceware.cygnus.com To: guile-cvs@sourceware.cygnus.com Subject: guile/guile-core/libguile alist.c list.c Date: Thu, 06 Jan 2000 10:00:00 -0000 Message-id: <20000106180034.710.qmail@sourceware.cygnus.com> X-SW-Source: 2000-q1/msg00039.html List-Id: 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.