see if a given element of scm_dynwinds is a valid catch.
* throw.c (scm_ithrow): If scm_dynwinds has invalid list
structure, abort; don't just silently ignore the garbage.
numbers are), just call scm_small_istr2int to deal with it.
(scm_small_istr2int): New function, created by un-#ifdefing the
non-bignum version of scm_istr2int and renaming it.
* __scm.h: #undef SICP.
* pairs.h (SCM_EOL): Delete this definition, equating it with
SCM_BOOL_F.
* tags.h (SCM_EOL): Give it a new definition here; I think I found
the value it used to have. Doc fixes, too.
(scm_catch): Changed SCM_DEFER_INTS --> SCM_REDEFER_INTS and
SCM_ALLOW_INTS --> SCM_REALLOW_INTS. This is so that scm_catch
can be used in scm_call_with_new_root; Added reenabling of stack
checking when catching a throw.
(cwdr, scm_call_with_new_root, scm_dynamic_root, scm_app_wdr): New
functions: Implements dynamic roots mostly according to spec in
SCM manual. Main difference is that the second argument is a
throw handler rather than an error "thunk".
* root.h: Added declaration of scm_init_root.
SCM_THREAD_CRITICAL_SECTION_END. Moved marking of root data to
root.c:mark_root.
* * root.c, root.h: Added root smob.
(cwdr, scm_call_with_new_root, scm_dynamic_root, scm_app_wdr): New
functions: Implements dynamic roots mostly according to spec in
SCM manual. Main difference is that the second argument is a
throw handler rather than an error "thunk".
* root.c: Added #include "genio.h", #include "smob.h", #include
"pairs.h", #include "throw.h", #include "dynwind.h", #include
"eval.h"
(scm_init_root): Added #include "root.x".
declare the char * to be const. Avoids a warning in rgx.c.
* ports.h: spelling fix.
* filesys.c (scm_sys_stat, scm_sys,lstat): include file name in
error messages.
* load.c (scm_sys_try_load_path): throw an error if file not found
(like it says it in NEWS).
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.