with 3 or more args internally to the evaluator. This is mainly
because we don't want to pass entry and exit points of the
debug support twice, but it also seems to increase the speed of
the evaluator for such calls (e. g. (+ 1 2 3)).
display-application; Set fancy printing parameters individually
for different types of display (backtrace, error, application).
(These should of course be customizable!)
from pairs with a GLOC in the car.
* symbols.c (msymbolize): Bugfix: Also initialize SCM_SYMBOL_HASH,
otherwise `symbol-hash' will behave badly.
(scm_symbol_hash): Bugfix: Must msymbolize if tc7_ssymbol, othwise
we get segmentation fault!
* symbols.c: Added #include "weaks.h". New functions
`builtin-bindings' and `builtin-weak-bindings'. (These will be
moved to an extraneous library when we split libguile.)
* throw.c (scm_handle_by_message): if a 'quit is caught, use its
args to derive an exit status. Allows (quit) to work from a
script.
(scm_exit_status): new function.
#include "eq.h".
return the quit args.
(scm-style-repl): call -quit, passing return value from
error-catching-repl. Make -quit return its args.
stand-along-repl: comment out, since it seems unused.
(top-repl): convert the value returned by scm-style-repl to
an integer and return it.
(error-catching-loop thunk): discard trailing junk after a (quit).
* r4rs.scm (apply, call-with-current-continuation): Added comment
explaining why apply and call/cc need to be closures.
* boot-9.scm (apply, call-with-current-continuation): Bugfix:
Removed. These definitions are already present in r4rs.scm.
(ENTER_APPLY): Bugfix: Reset apply-frame trap on trap as is done
with the others.
(ENTER_APPLY, scm_deval): Reset trace flag on apply-frame and
exit-frame traps.
it anyway because 1. it is very useful, and, 2. you can start
making it less premature by complaining to me and by modifying
the source! :-)
(trace): Given one or more procedure objects, trace each one.
Given no arguments, show all traced procedures.
(untrace): Given one or more procedure objects, untrace each one.
Given no arguments, untrace all traced procedures. The tracing in
Guile have an advantage to most other systems: We don't create new
procedure objects, but mark the procedure objects themselves.
This means that also anonymous and internal procedures can be
traced.
* boot-9.scm (error-catching-loop): Added handling of apply-frame
and exit-frame exceptions.
* * boot-9.scm (assert-repl-prompt, the-prompt-string): Removed.
(set-repl-prompt!): Setter for repl prompt.
(scm-style-repl): If prompt is #f, don't prompt; if prompt is a
string, display it; if prompt is a thunk, call it and display its
result; otherwise display "> ".
(Change suggested by Roland Orre <orre@nada.kth.se>.)
`module-defined?', since the module system isn't bootstrapped when
we load r4rs.scm. This is just a temporary fix to make the
repository version runnable.
recording of source code positions. This was placed there for our
convenience, but it has already sneaked into the distribution
once... so we'd better add this in our local copies instead when
we need it. (These options are normally enabled at the end of
boot-9.scm when loading the debug module.)
(macroexpand-1, macroexpand): Use local-ref instead of defined?
and eval.
* r4rs.scm (%load-verbosely): Use "module-defined?" instead of
"defined?".
* slib.scm (defined?): New function to take the place of the
builtin "defined?". It allways examines the slib module.
source files that are not always included in libguile but should
have their dependencies calculated by automake. This variable is
recognized by automake, no further magic is needed.
(libguile_la_DEPENDENCIES): Changed to @LIBLOBJS@. Libtool wants
to deal exclusively with *.lo files, as it seems. The *.o files
are built automatically when the corresponding *.lo file gets
built.