1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-02 13:00:26 +02:00
Commit graph

9023 commits

Author SHA1 Message Date
Jim Blandy
ed428d186b * libguile.h: #include "libguile/print.h" before "smob.h", since
the latter uses the print_state structure.
1996-10-03 05:48:13 +00:00
Jim Blandy
8e69342425 * boot-9.scm (make-record-type, record-constructor): Don't assume
the empty list is false when parsing the argument list.
1996-10-03 05:47:12 +00:00
Jim Blandy
ddef832786 * _scm.h: #include "print.h" here, since it seems to be used just
about everywhere.
* eval.c, gdbint.c, genio.h, numbers.h, smob.h, srcprop.c,
strports.c, unif.h: Don't #include "print.h".
1996-10-03 05:44:52 +00:00
Jim Blandy
b20b27776f * throw.c (scm_ithrow): Use the correct variable when checking to
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.
1996-10-03 05:28:52 +00:00
Jim Blandy
3ff63ce645 * symbols.c (scm_intern_obarray_soft): Initialize the new symbol's
PROPS slot to '(), not #f; it's an empty alist.
1996-10-03 05:21:21 +00:00
Jim Blandy
2a8fecee87 * numbers.c (scm_istr2int): If the number is short (as most
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.
1996-10-03 05:18:47 +00:00
Jim Blandy
df13742c0a * list.c, list.h: Use SCM_P instead of CPP hair. Doc fixes.
* list.c (scm_member, scm_memv, scm_memq): Return #f if a matching
element is not found, as per R4RS.
1996-10-03 05:17:17 +00:00
Jim Blandy
e7247600b3 * aclocal.m4 (GUILE_STRUCT_UTIMBUF): Use AC_CACHE_CHECK instead of
AC_CACHE_VAL; #define UTIMBUF_NEEDS_POSIX outside AC_CACHE_VAL, so
it gets done whether or not the cache variable has a value.
1996-10-03 05:04:37 +00:00
Jim Blandy
3c205827ce Distinguish #f and ().
* __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.
1996-10-03 05:02:36 +00:00
Jim Blandy
ee81f9ca7b *** empty log message *** 1996-10-02 05:55:50 +00:00
Mikael Djurfeldt
24a647d7fe New file: From the Cygnus r0.3-release. 1996-10-01 03:34:42 +00:00
Mikael Djurfeldt
ec349f39cc New files: From the Cygnus r0.3 release with some modification. 1996-10-01 03:29:52 +00:00
Mikael Djurfeldt
44986d6743 New files: From the Cygnus r0.3 release. 1996-10-01 03:27:35 +00:00
Mikael Djurfeldt
951241c9a5 *** empty log message *** 1996-10-01 03:22:15 +00:00
Mikael Djurfeldt
240b6fd11d * feature.h (scm_loc_features): Removed external declaration.
(Bug fix suggested by Petr Adamek <adamek@mit.edu>.)
1996-10-01 03:21:12 +00:00
Mikael Djurfeldt
1dd25d5395 *** empty log message *** 1996-10-01 03:20:18 +00:00
Mikael Djurfeldt
fec4533406 * 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".
1996-10-01 03:19:58 +00:00
Mikael Djurfeldt
7f759d7993 * throw.c: Added #include "stackchk.h"
(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.
1996-10-01 03:19:48 +00:00
Mikael Djurfeldt
317607b0df * scmsigs.c: Define signal' to be pthread_signal' if using
mit-pthreads.
1996-10-01 03:19:39 +00:00
Mikael Djurfeldt
72f0e9fcb4 Updated. 1996-10-01 03:19:32 +00:00
Mikael Djurfeldt
010afa35a7 * * 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.h: Added declaration of scm_init_root.
1996-10-01 03:19:22 +00:00
Mikael Djurfeldt
d564d7538e * gc.c (scm_igc): Added SCM_THREAD_CRITICAL_SECTION_START and
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".
1996-10-01 03:19:14 +00:00
Mikael Djurfeldt
d6462fbebb * libguile.h: Added #include "libguile/../threads/threads.h".
(This is a kludge to get thread support working.  This should be
fixed.)
1996-10-01 03:19:02 +00:00
Mikael Djurfeldt
9ef3d0ee58 * init.c (scm_start_stack): Call `scm_make_root' to dynamically
allocate the basic dynamic root object.
(scm_boot_guile): Added call to scm_init_root.
1996-10-01 03:18:54 +00:00
Mikael Djurfeldt
42db06f0c0 * gc.c (scm_igc): Added SCM_THREAD_CRITICAL_SECTION_START and
SCM_THREAD_CRITICAL_SECTION_END.  Moved marking of root data to
root.c:mark_root.
1996-10-01 03:18:43 +00:00
Mikael Djurfeldt
a6cba733bc * feature.c (scm_init_feature): Added threads feature (needs to be
initialized here, since features doesn't exist when
scm_init_threads is called).
1996-10-01 03:18:32 +00:00
Mikael Djurfeldt
027fde3970 * configure.in, acconfig.h: Added flags for thread support. 1996-10-01 03:16:21 +00:00
Mikael Djurfeldt
1764973d10 * _scm.h: Added conditional #include "threads.h" 1996-10-01 03:15:33 +00:00
Mikael Djurfeldt
8233909404 * __scm.h (SCM_ASYNC_TICK): Added call to macro
SCM_THREADS_SWITCHING_CODE.
1996-10-01 03:15:04 +00:00
Mikael Djurfeldt
9bdb1ea5b9 Added dependency root.o: root.x. 1996-10-01 03:10:11 +00:00
Mikael Djurfeldt
e5e0f394f6 *** empty log message *** 1996-10-01 03:00:09 +00:00
Mikael Djurfeldt
8484d069c0 * configure.in: Added some configuration magic from the Cygnus
distribution.
1996-10-01 02:58:50 +00:00
Mikael Djurfeldt
0a5d3f87e1 * configure: Updated. 1996-10-01 02:58:39 +00:00
Mikael Djurfeldt
ebf5083348 * aclocal.m4: New file. For now used for thread support
configuration.
1996-10-01 02:57:50 +00:00
Gary Houston
dbece3a204 * strings.c, strings.h: (scm_makfrom0str, scm_makefrom0str_opt:
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).
1996-09-28 19:40:54 +00:00
Gary Houston
5552355a7b * boot-9.scm (error): replace another throw with scm-error. Throw
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.
1996-09-28 19:38:45 +00:00
Jim Blandy
1d1cf2bf14 . 1996-09-28 02:02:40 +00:00
Jim Blandy
d6c7f2deab * throw.h, throw.c: Use SCM_P instead of #if hair. 1996-09-28 00:04:22 +00:00
Jim Blandy
32f7b3a1b1 * throw.h, throw.c: Use SCM_P instead of #if hair.
Remove special support for uncaught throws; see throw.c for
rationale.
* throw.c (unhandled_throw): New function.
(scm_ithrow): Call unhandled_throw if we don't find a throw
target; don't mess with scm_bad_throw_vcell.
(scm_bad_throw_vcell): Variable deleted.
(scm_init_throw): Don't initialize it.

* throw.c (scm_ithrow): Don't let outer key matches shadow inner
#t catches.
1996-09-28 00:01:40 +00:00
Gary Houston
b59b97ba3a * load.c (scm_sys_try_load): don't check whether value returned
by scm_open_file is #f, it won't be.  Always return SCM_UNSPECIFIED.
Change the Scheme name from %try-load to primitive-load.

* error.c (scm_error): convert a NULL message to SCM_BOOL_F.
Can avoid passing a message, allowing it to be derived in the
error handler (e.g., if we want to throw to the key both from
Scheme and C).
1996-09-24 07:21:17 +00:00
Gary Houston
855c0eacc8 * boot-9.scm (%try-load): define using primitive-load. Previously
%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.
1996-09-24 07:19:51 +00:00
Mikael Djurfeldt
a0c976972a *** empty log message *** 1996-09-22 22:51:18 +00:00
Mikael Djurfeldt
6355358ad9 * boot-9.scm (warn, scm-style-repl): Use C printer instead of `print'.
(make-record-type type-name fields): Temporarily remove support
for printing of records (not possible yet with C printer).
1996-09-22 22:51:01 +00:00
Mikael Djurfeldt
8ab4a274e8 * print.h: Modified prototypes for scm_iprlist, scm_prin1 and
scm_iprin1.  Removed prototype for scm_prlist.

	* print.c, print.h: Closures now print like #<procedure foo (x)>.
	People who whish to see the source can do `(print-enable 'source)'.
	Removed #ifdef DEBUG_EXTENSIONS.
1996-09-22 22:47:10 +00:00
Mikael Djurfeldt
c62fbfe1a8 * * print.c (scm_iprin1, scm_prin1, scm_iprlist): Circular
references now have a new appearance which is more compact and
	also gives a clue about what the target of the reference is.
	By setting parameters in the print state, more fancy printing can
	be achieved.  This is used by the (not yet commited) backtrace
	code.

	* print.c: Added #include "struct.h".  Removed function
	scm_prlist.

	* print.c (scm_prin1): Print states are now allocated when calling
 	scm_prin1 and then passed around to all printing functions as an
 	argument.  A cache `print_state_pool' enables reuse of print
 	states.
	(scm_make_print_state): New function.
	(scm_iprin1): Adaption to print states.
	(scm_iprlist): An initial "hare and tortoise" scan brings down
	time complexity to O (depth * N).  (Better time complexity will be
	achieved when the printing code is completely rewritten.)

	* print.c, print.h: Closures now print like #<procedure foo (x)>.
	People who whish to see the source can do `(print-enable 'source)'.
	Removed #ifdef DEBUG_EXTENSIONS.
1996-09-22 22:46:31 +00:00
Mikael Djurfeldt
9882ea1991 * arbiters.c (prinarb),
async.c (print_async),
debug.c (prindebugobj, prinmemoized),
eval.c (prinprom, prinmacro),
filesys.c (scm_fd_print, scm_dir_print),
kw.c (print_kw),
mallocs.c (prinmalloc),
numbers.c, numbers.h (scm_floprint, scm_bigprint),
smob.h (scm_smobfuns),
srcprop.c (prinsrcprops),
throw.c (prinjb),
unif.c, unif.h (scm_raprin1, rapr1),
variable.c (prin_var): Changed argument `int writing' to
`scm_print_state *pstate'.
1996-09-22 22:41:40 +00:00
Mikael Djurfeldt
1940267936 * eval.c, numbers.h, unif.h, smob.h, srcprop.c: Added #include
"print.h"

* arbiters.c (prinarb),
async.c (print_async),
debug.c (prindebugobj, prinmemoized),
eval.c (prinprom, prinmacro),
filesys.c (scm_fd_print, scm_dir_print),
kw.c (print_kw),
mallocs.c (prinmalloc),
numbers.c, numbers.h (scm_floprint, scm_bigprint),
smob.h (scm_smobfuns),
srcprop.c (prinsrcprops),
throw.c (prinjb),
unif.c, unif.h (scm_raprin1, rapr1),
variable.c (prin_var): Changed argument `int writing' to
`scm_print_state *pstate'.
1996-09-22 22:41:10 +00:00
Mikael Djurfeldt
2c36c351d0 * struct.c (scm_make_struct_layout, init_struct, scm_struct_ref,
scm_struct_set_x), struct.h, gc.c (scm_gc_mark): Completed Tom
Lord's implementation of structs, allowing for tail arrays as
described in the manual. Also fixed some bugs. (Both the interface
and the implementation should be improved.)
1996-09-22 22:38:56 +00:00
Mikael Djurfeldt
90b826c925 * init.c (scm_boot_guile): Moved scm_init_struct upwards so
that it will be called before scm_init_print.
1996-09-22 22:33:44 +00:00
Mikael Djurfeldt
ad75306c4f * struct.c (scm_make_struct_layout, init_struct, scm_struct_ref,
scm_struct_set_x), struct.h, gc.c (scm_gc_mark): Completed Tom
Lord's implementation of structs, allowing for tail arrays as
described in the manual. Also fixed some bugs. (Both the interface
and the implementation should be improved.)
1996-09-22 22:33:09 +00:00