* gsubr.c: New global symbol scm_i_inner_name.
* debug.c (scm_procedure_name): Try procedure property
`inner-name' if `name' fails.
* print.c (scm_iprin1): Use scm_macro_name.
* eval.c (scm_m_define): Give names to macros as well; Only the
first top-level definition gives a procedure/macro a name.
Otherwise confusing names can turn up in backtraces.
(SCM_CEVAL): SCM_IM_DEFINE: Set `inner-name' property instead of
`name'; Give names to macros as well.
* procs.c (scm_closure_p), print.c (scm_iprin1), eval.c
(scm_macro_transformer): Use SCM_CLOSUREP instead of
scm_closure_p.
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.
* 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.
procedures;
(prinmacro): Removed. The code has been moved/merged into print.c
in order to decrease code redundancy. We want macros to print in
a way equivalent to procedures, and it would be silly to duplicate
the required code. (We don't want to maintain two places.)
(macrosmob): Print field is now a NULL pointer.
* eval.h (scm_macro_p, scm_macro_type, scm_macro_name,
scm_macro_transformer): New prototypes.
(scm_tc16_macro): Declared.
* * print.c (scm_iprin1): Added code for printing of macros. Macros
are now printed in a way equivalent to procedures.
* 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.
gh_vector_p, gh_pair_p, gh_number_p, gh_string_p, gh_procedure_p,
gh_list_p, gh_inexact_p, gh_exact_p, gh_eq_p, gh_eqv_p,
gh_equal_p): Use SCM_NFALSEP, instead of testing against
SCM_BOOL_T. Any non-false value is true.
scm_gensym): Added prototypes.
* symbols.c (scm_gensym): New function. This will speed up
certain types of applications (such as macro systems) which
generate lots of symbols.
according to the following priorities:
1. tcl bindings which are present in override-scheme-list
2. bindings from the-scm-module
3. tcl bindings
This way the gtcl module can occur first in the use-list without
disabling the scheme interpreter.
(new-interpreter): New function.
* gwish.scm: Moved initialization code for the-interpreter to
gtcl.scm; Moved name space cleaning code to gtcl.scm and rewrote
it; Call `new-interpreter'; Don't :use-module (guile).
so that test for the same function can be performed multiple
times.
* configure.in (AC_CHECK_HEADERS): Test for rxposix.h,
rx/rxposix.h. Add library rx only if regcomp can't be found
without it.
rx/rxposix.h. Add library rx only if regcomp can't be found
without it.
* acconfig.h (HAVE_REGCOMP): Added it here since autoheader misses
it for some reason!
non-false, send back results to Emacs; colnum: Column number;
Use modules (ice-9 debug) and (ice-9 session);
(no-stack, no-source): New simple-actions;
(result-to-emacs): New procedure. Sends data to Emacs via the
result protocol;
(get-frame-source, emacs-select-frame, emacs-frame-eval,
emacs-symdoc): New procedures.