2000-01-09 Gary Houston * eval.c: define scm_unbound_variable_key ('unbound-variable). scm_lookupcar1: throw an error with key 'unbound-variable instead of 'misc-error when an unbound variable is encountered. * filesys.c (scm_mkdir, scm_rmdir, scm_getcwd, scm_select, scm_symlink, scm_readlink, scm_lstat), posix.c (scm_setpgid, scm_setsid, scm_ctermid, scm_tcgetpgrp, scm_tcsetpgrp, scm_uname, scm_setlocale, scm_mknod, scm_nice, scm_sync), simpos.c (scm_system), stime.c (scm_times, scm_strptime): move the HAVE_XXX feature tests out of the procedure bodies. don't use SCM_SYSMISSING. scm_validate.h (SCM_SYSMISSING): removed. error.h, error.c (scm_sysmissing): comment that this is deprecated. see ChangeLog entry for 1999-12-28. Sat Jan 8 19:52:04 2000 Greg J. Badros * scm_validate.h (SCM_VALIDATE_BOOL_COPY): Fix typo. Sat Jan 8 17:06:46 2000 Greg J. Badros * backtrace.c: Fix spelling typo in a comment. * snarf.h: Use new SCM_DOCS macro to encapsulate the non SCM_INIT text. Reformatted some of the expansions. Fri Jan 7 15:50:46 2000 Greg J. Badros * scm_validate.h (SCM_OUT_OF_RANGE): Use scm_out_of_range_pos to report the position of the argument. * error.h, error.c (scm_out_of_range_pos): Added this function to take extra "pos" argument, the position number of the errant argument. * debug.c: Use SCM_OUT_OF_RANGE instead of scm_out_of_range. * snarf.h: Use SCM_HERE and SCM_INIT as names, not SCM_NOTSNARF and SCM_SNARFING. Also put the %%% in the SCM_INIT since Mikael prefers that and I'm reasonably indifferent. Fri Jan 7 15:03:32 2000 Greg J. Badros * snarf.h: Factor out differences between C++ and non-C++ into SCM_FUNC_CAST_ARBITRARY_ARGS macro. Modify all the snarf macro definitions to use SCM_NOTSNARF and SCM_SNARFING macros (like Mikael's macros, below, but changed names and SCM_SNARFING no longer expands to include %%% -- that must appear in the argument so that the token appears at the call-site as a reminder). 2000-01-07 Mikael Djurfeldt * snarf.h (SCM_INSITU, SCM_INIT): New snarf macros for use in user snarf macro definitions. 2000-01-06 Mikael Djurfeldt * chars.c (scm_integer_to_char): Use Greg's nice SCM_VALIDATE_INUM_RANGE macro for argument checking for closer adherence to R5RS. Thu Jan 6 11:48:49 2000 Greg J. Badros * *.c, snarf.h: Replace GUILE_PROC1 with SCM_DEFINE1 throughout. Thu Jan 6 11:22:53 2000 Greg J. Badros * Makefile.am (ETAGS_ARGS): Switch to SCM_DEFINE, SCM_DEFINE1 instead of GUILE_PROC. Thu Jan 6 11:21:49 2000 Greg J. Badros * alist.c: Do not report mismatch errors on some uses of `tmp' (do this by using SCM_ARG2 instead of `2' in the SCM_VALIDATE_CONS macro call. Thu Jan 6 09:54:33 2000 Dirk Herrmann --gjb applied * scm_validate.h: Remove some redundant NIMP tests. * 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. Wed Jan 5 11:24:53 2000 Greg J. Badros * *.[ch]: Whitespace changes -- added space after SCM_VALIDATE_* macros and SCM_DEFINE macros to match GNU coding standards. Wed Jan 5 11:04:24 2000 Greg J. Badros * *.[ch]: Replace GUILE_PROC w/ SCM_DEFINE. Wed Jan 5 10:59:06 2000 Greg J. Badros * *.[ch]: Replace SCM_VALIDATE_INT w/ SCM_VALIDATE_INUM for better consistency with the names of other SCM_VALIDATE_ macros and better conformance to guile naming policy. Wed Jan 5 10:50:39 2000 Greg J. Badros * ports.c (s_scm_close_all_ports_except): Use SCM_ARG1 in a SCM_VALIDATE instead of 1 to avoid a check on the argument (since it's not the actual name of the formal). * guile-snarf.awk.in: Do argument/number mismatch checking and print warnings in an Emacs compile-mode parseable format. * struct.c: Use SCM_ASSERT_RANGE instead of SCM_ASSERT w/ SCM_OUTOFRANGE as 3rd argument. * random.c: Fix argument/number mismatch (that I introduced :-( ). * __scm.h: Do not #define SCM_ARG* when snarfing; lets us distinguish between 1 and SCM_ARG1 when snarfing as only the former (using the number) requires the argument to match the formal in the current argument snarfing check. * snarf.h: Give new definition of SCM_ASSERT when in snarfing mode to output a lexically-identifiable sequence that the guile-snarf.awk script uses to verify argument/position matching. * ramap.c: Remove extraneous #undef FUNC_NAME. Wed Jan 5 08:36:38 2000 Greg J. Badros * guile-doc-snarf.awk.in: Removed -- guile-snarf.awk.in is the current version of the same functionality; it writes the .x output to stdout instead of directly into the file. Wed Jan 5 08:15:04 2000 Greg J. Badros * unif.c, symbols.c, strings.c, stacks.c, random.c, print.c, posix.c: Eliminated a bunch of SCM_NIMP(..)s that are now redundant with the safer macros. Patch from Dirk Hermann applied by hand. Thanks Dirk! * scm_validate.h: Added SCM_VALIDATE_VECTOR_OR_DVECTOR for some uses in random.c. * ramap.c: whitespace change. Tue Jan 4 14:21:35 2000 Greg J. Badros * options.c, objects.c, keywords.c, gc.c: Some redundant SCM_NIMP removals from Dirk Hermann. * alist.c: Rename formals to match the parameter names in the documentation, updates to documentation. Thanks Dirk Hermann! 2000-01-04 Mikael Djurfeldt * eval.c (SCM_CEVAL): Reverse order of scm_stack_checking_enabled_p and SCM_STACK_OVERFLOW_P (Thanks to Brad Knotwell.) Mon Jan 3 08:30:02 2000 Greg Harvey (applied --01/03/00 gjb) * gc.c (scm_debug_newcell): Added SCM_SETCAR of the newly allocated cell. * pairs.h: Added a comment about the need for the SCM_SETCAR in SCM_NEWCELL macro. Mon Jan 3 08:25:19 2000 Greg J. Badros * dynl-vms.c, debug.c, coop-threads.c, backtrace.c, eval.c: More SCM_NIMP tests that were redundant are now eliminated. Patches from Dirk Hermann applied by hand. The ChangeLog continues in the file: "ChangeLog-1996-1999"