follow the effective UID/GID not the real ID. file-exists? is
normally be used as a prelude to opening or some other operation, and
it's the effective ID which will apply there. Emacs file-exists-p
uses stat, presumably for the the same reason.
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*.
`module-ensure-variable!'. Make sure that there really is a local
variable, not just a visible one.
(module-ensure-variable!): See above.
(module-export!): Behave like always when deprecated features are
enabled, but issue a warning when re-exporting a variable. When
deprecated features are disabled, only export local variables,
creating them uninitialized when they don't yet exist.
(module-re-export!): New. Use this for re-exporting imported
variables.
(re-export): New, to go with `module-re-export!'.
(named-module-use!, top-repl): Use resolve-interface
instead of resolve-module to get at the used module.
(module-export!): Use it to ensure that there is a variable to
export. Previously, we would always create a new variable, copy
the value over, and export the new variable. This confused
syncase since it keys important properties on variables.
(compile-interface-spec, compile-define-module-args): New.
(define-module): Use compile-define-module-args to construct
argument for process-define-module.
(use-modules, use-syntax): Use compile-interface-spec to construct
arguments for process-use-modules.
(process-define-module): Expect keywords in argument list.
to feature lists.
(cond-expand): Use feature information associated with modules.
* boot-9.scm (use-srfis): Do not extend the srfi-0 feature list.
(cond-expand-provide): New procedure.
set-current-module.
(define-module): Do it here, in the expansion.
(top-repl): Do not define '(guile-user)' module and conditionally
load `(ice-9 threads)' and/or `(ice-9 regex)' here. Do it on
top-level as the last thing in boot-9.scm instead.
(%load-path): Use `list' instead of `cons' to create a single
element list when adding "." to it.
(process-define-module, process-use-modules, module-export!): Add
dummy definitions prior to booting the mdule system.
(process-define-module): Internal proc `unrecognized'
now accepts arg; update callers.
Reverse order of interfaces added to module to be
consistent with that specified in `define-module' form.
`module-public-interface'.
(resolve-module): Extend to handle selection and renaming in spec.
Arg is now `spec' which can be a simple module name (list of symbols)
or a interface spec.
(symbol-prefix-proc): New proc.
(process-define-module): Use "define-module" in error messages
instead of "defmodule". Factor error into internal proc.
Rewrite `use-module' and `use-syntax' handlers.
Replace some single-arm `if-not' constructs w/ `or'.
(process-use-modules): Arg is now `module-interface-specs',
which is passed through to `resolve-interface' as before; nfc.
(named-module-use!, top-repl): Abstraction maintenance: Use `provided?'.