after-error-hook, before-backtrace-hook and after-backtrace-hook
to the error handler. E.g.: fancy emacs support could plug into
these.
(save-stack): New function. The stack is now made differently
depending on the stack id. (The motivation is to make a better
choice regarding what stack frames to present to the user.)
(error-catching-loop): Stack handling code moved outside into
save-stack.
error-catching-loop.
Don't set 'throw-handler-default property on error keys.
Just interpret (almost) any throw with 4 args as an error throw.
Delete some try-load stuff that was already commented out.
handle-system-error): Backtracing now works for signals aswell;
Backtracing mechanism can now identify the stack root created by
start-stack so that the user isn't exposed to system stack frames.
throw-handler-default.
((handle-system-error key . arg-list)): Changed the way errors are
reported.
((scm-style-repl)): Wrap up the call to eval in a start-stack
acro.
((error-catching-loop thunk)): Introduce a lazy-catch into
error-catching-loop so that the stack can be captured.
make-vector fill new vectors with '(); this will make it easier to
port Guile Scheme code to other Schemes.
* boot-9.scm (make-print-style, make-print-table): Same.
Append "." to the default %load-path.
(feature?): new function: checks for a symbol in the features list.
(module-local-variable): remove apparently useless (caddr (list m v
...))
(%load-announce): minor formatting change.
(file-exists?): use access? if posix is featured.
(file-is-directory?): use stat if i/o-extensions is featured.
(try-module-autoload module-name): use file-exists? before
file-is-directory?
to 'misc-error instead of 'error (no need to distinguish these.)
Don't set up 'error as a key.
Set up regex-error as a key, if regex is available.
(signal-handler): use scm-error, not throw.
(%try-load, try-load-with-path, %load, load-with-path,
basic-try-load-with-path, basic-load-with-path,
try-load-module-with-path,load-module-with-path): deleted, since
they seem redundant.
(try-load): define using %try-load, not try-load-with-path.
(load): rewritten. load tries to open the file directly and
with a .scm extension before searching the library directories
(should "." be added to %load-path? then load could still open
directly files starting with "/").
(try-module-autoload): use load, not load-with-path.
(%load-indent): deleted, -2 was causing errors.
(%read-sharp): use port-line, not line-number.
%try-load itself was the primitive.
(load-with-path): use scm-error instead of %load-announce-lossage.
Errors are thrown to 'misc-error instead of 'could-not-load.
(%load-announce-lossage): deleted.
SCM-style errors. handle the case that an unexpected number
of args are supplied.
(%%system-errors): removed.
(error): redefine using a throw with key and 4 args.
('error): associate 'error, 'error-signal keys with
%%handle-system-error.
(%%default-error-handler): removed.
(signal-handler): throw with 4 args and use the error-signal key.
Create an error message instead of using numerical codes.
(%%bad-throw): call error instead of throw if key not found.
* boot-9.scm: initialize new error keys (see libguile/ChangeLog).
(%%handle-system-error key): check subr is not #f before printing.
Recognize %s (embed an argument using "display") and
%S (embed an argument using "write").
* PLUGIN/guile.config (xtra_dependencies): add only libgh.a.
(xtra_cflags): just add -L../lgh
* PLUGIN/guile.libs: try -lgh -lguile
* Makefile.am (INCLUDES): add -I../ so that libguile/scmconfig.h can
be found when srcdir != build dir.
* PLUGIN/REQ: remove the "ice-9 lgh" line which causes a cycle.