psyntax.ss (used to be needed during syntax-case development, but
now only caused problems with the top-of-the-file eval export.
Enabling the code as the comments instructed caused the other
error when trying to recompile psyntax.pp.
and ltdl.c in "$(srcdir)".
* evalext.c, evalext.h (s_scm_self_evaluating_p): Needed by
syntax-case macro fix.
* Makefile.am (c-tokenize.c): Look for it in $(srcdir).
* syncase.scm, psyntax.ss, psyntax.pp: Imported fixes from trunk.
* boot-9.scm (use-syntax): Return *unspecified*.
channel.scm, common-list.scm, debug.scm, debugger.scm,
expect.scm, hcons.scm, lineio.scm, ls.scm, mapping.scm,
null.scm, optargs.scm, poe.scm, popen.scm, pretty-print.scm,
q.scm, r5rs.scm, rdelim.scm, regex.scm, runq.scm, safe-r5rs.scm,
safe.scm, session.scm, slib.scm, streams.scm, string-fun.scm,
syncase.scm, threads.scm: Move module the system directives
`export', `export-syntax', `re-export' and `re-export-syntax'
into the `define-module' form. This is the recommended way of
exporting bindings.
maintainer mode. Use compile-psyntax.scm for actual compilation.
Make sure the uninstalled guile is used.
(EXTRA_DIST): Distribute compile-psyntax.scm
* compile-psyntax.scm: New file.
* syncase.scm (psyncomp): Removed, it is now in
compile-psyntax.scm.
`simple-format' message strings: substitute ~A for %s, and ~S for
%S.
* boot-9.scm: Added (define format simple-format) to expose that
primitive via the simpler name until format.scm is loaded.
core Guile distribution, because we don't have copyright
assignments for this code. We can certainly distribute them as a
separate package, but Guile should be FSF code.
* syncase.scm, psyntax.pp, psyntax.ss: Removed.
* Makefile.am (ice9_sources): Removed syncase.scm, psyntax.pp, and
psyntax.ss.
* Makefile.in: Regenerated.
* Makefile.am (ice9_sources): Add getopt-gnu-style.scm.
* Makefile.in: Regenerated.
* slib.scm: Added hack which transfers syntactic information from
the builtin variable `define' to the slib version if module (ice-9
syncase) has been loaded. This is necessary to get correct
expansion inside the slib module.
* psyntax.ss (build-let, build-named-let): New output
constructors.
(build-lexical-var): Seed gensym with symbolic name.
(self-evaluating?): Add keywords among self-evaluating types.
(let): New core form.
(if): Removed from core language.
(or, and, let, cond): Removed syntactic definitions.
(sc-expand3): New procedure: Expander which takes optional mode
and eval-syntactic-expanders-when arguments.
* syncase.scm (psyncomp): New procedure: Recompiles psyntax.pp.
Should be used inside the (ice-9 syncase) module with (use-syntax
syncase) and with the current directory containing the psyntax.ss
source.
Added hack to transfer syntactic information from the builtin
variable `define' to the slib version if module (ice-9 slib) has
been loaded.
* syncase.scm (putprop, getprop): Modified to use the object
properties of the variable object corresponding to the symbol;
This way we can ride on the mechanisms of the module system.
Changed `builtin-variable' calls to `define-public' calls.
Setup the hooks sc-expand and sc-interface.
* boot-9.scm (sc-interface, sc-expand): New builtin variables.
(set-current-module): Switch to and from sc-expand as
scm:eval-transformer when going into and out of modules using
syncase macros.
(module-use!): Set scm:eval-transformer to sc-expand when adding
the syncase interface.