SCM_NIMP test integrated into an || clause that I'd missed before
and was causing a segfault in the regression tests.
* symbols.h (SCM_ROUCHARS): Make cast be to (unsigned char *), not
(char *); fixes a problem reported by the regression test
ports.test.
* ports.c: Fixed a couple of arg/number mismatches in
SCM_VALIDATE_ macros.
Now passes the (not-comprehensive) guile-modules test-suite again!
* scm_validate.h: Added SCM_VALIDATE_THREAD.
* *.c: Remove SCM_NIMP(X) when it is an extraneous pre-test given
that SCM_FOOP macros all now include SCM_NIMP in their expansion.
This simplifies lots of code, making it far more readable.
backward-compatibility of packages that use Guile. Internally
Guile should not use them, though. (Maybe enforce this with a new
-DBUILDING_GUILE compile-time flag?).
set_print_params_x.
* guile-doc-snarf.in: Use guile-snarf.awk, not
guile-doc-snarf.awk. Pass the basename of $filename
* load.h: Added prototypes for scm_sys_library_dir,
scm_sys_site_dir.
* load.c (scm_sys_library_dir, scm_sys_site_dir): Added these
functions, and took out the old scm_library_dir, scm_site_dir,
scm_pkgdata_dir. Now the primitives are %package-data-dir
(already existed), %library-dir, and %site-dir.
* debug.c: Use SCM_MISC_ERROR when possible instead of using
s_scm_* in a scm_misc_error() call.
* Makefile.am: Use guile-snarf.awk, not guile-doc-snarf.awk. Make
using guile-doc-snarf send stdout to $@ to create the .x file like
guile-snarf does.
* guile-snarf.awk.in: Added.
* guile-doc-snarf.awk.in: Added.
* ports.c (s_scm_pt_member): Fixed validation.
* guile-doc-snarf.in (filename): Use basename in order to strip
away path.
* debug.c (scm_make_iloc, s_scm_proc_to_mem): Added missing
semicolon.
(scm_memcons, scm_memcons, mem_to_proc): Renamed function name
strings to new form.
* backtrace.c (set_print_params_x): Fixed GUILE_PROC macro.
* tags.h (SCM_UNBOUND): New iflag which is needed for some time to
mark the unboundness of a GOOPS slot. (Added now in order to
correct a oversight. Should probably be removed again and
replaced with SCM_UNDEFINED when the corresponding code in GOOPS
is rewritten.)
* print.c (scm_isymnames): Added printed representation for
SCM_UNBOUND.
* eval.c (SCM_CEVAL): Bugfix: Added check for unbound slot in
SCM_IM_SLOT_REF.
gets stuck directly in the files instead of redirected from
stdout.
* guile-doc-snarf.awk: Escape a literal ) -- thanks Ryan
Yeske. Use print instead of printf to prime the .x file since
AIX's cpp has problems with #include-ing empty files (according to
the old guile-snarf.in file).
GUILE_PROC1. Build guile-procedures.txt, and add that file to
pkgdata_DATA.
* load.c: Added `pkgdata-dir', `site-dir', `library-dir'
primitives.
* guile-doc-snarf.awk: Drop trailing space when no arguments:
e.g., "(foo )" is now "(foo)".
* *.c: moved all the documentation for primitives from
guile-doc/ref/{appendices,posix,scheme}.texi into the source code.
This leaves about half of the primitives undocumented. Also, all
the markup is currently still texinfo. I don't have a problem
with texinfo per se, but the markup is not very descriptive or
accurate.
SCM_VALIDATE macros; the SCM_VALIDATE macros should be checked
for argument mismatches (along with the FUNC_NAME macro checking)
by a static tool that runs directly over the .c files.
* snarf.h: Handle SCM_REGISTER_PROC better when snarfing. The
docstring is still missing from the .doc file; it just gives the
name of the C function that gets called instead.
* guile-doc-snarf.awk: Be sure to touch the output files to help
make out. Also handle SCM_REGISTER_PROC better, and change the
output format slightly.
guile-doc-snarf script.
* guile-doc-snarf.in, guile-doc-snarf.awk: New, simple doc
extraction system. Builds foo.x, foo.doc from foo.{c,cc}.
There are dependencies between these files and snarf.h. This
replaces guile-snarf.
* guile-snarf.in: Drop everything after $$$ for the new snarf.h
macros. This is obsoleted by guile-doc-snarf, but kept here for
now for good measure.
* Makefile.am: Added guile-doc-snarf, guile-doc-snarf.awk to
bin_SCRIPTS. Added .doc to SUFFIXES, and give rule for creating
.doc files to use guile-doc-snarf. Update the rule for creating
.x files to use guile-doc-snarf.
prototypes.
* eval.c: Make scm_m_mody's 3rd argument be a const char *, not a
char *. ANSI prototypes caught this.
* strorder.c: Use GUILE_PROC1 for the couple SCM_PROC1 expansions
that I missed.
* scm_validate.h: Use SCM_BOOLP for validating bools. Do not
expand macros if SCM_DOCSTRING_SNARF.