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

9538 commits

Author SHA1 Message Date
Mikael Djurfeldt
220ff1eb2f * eval.c: Fixed comment to unmemocopy. 1997-03-10 14:18:47 +00:00
Gary Houston
c773377128 * read.h (SCM_N_READ_OPTIONS): increase SCM_N_READ_OPTIONS to 4.
(SCM_KEYWORD_STYLE): defined.

	* read.c (scm_read_opts): add a keywords option.  This isn't a
	boolean option, in case someone wants to add support for DSSSL
	keywords too.
	Setup scm_keyword_prefix symbol.
	(scm_lreadr): Only process keywords if SCM_KEYWORD_STYLE is
	set to 'prefix.
*	I've left keyword support disabled by default, since it doesn't
	seem to break the module system and it gives R4RS standard behaviour.
	It can be reactivated with (read-set! keywords 'prefix).
1997-03-10 06:49:15 +00:00
Mikael Djurfeldt
b045e53287 *** empty log message *** 1997-03-09 15:30:04 +00:00
Mikael Djurfeldt
c6ed3e26f4 * arbiters.c (scm_make_arbiter): Bugfix: Must SCM_DEFER_INTS
before constructing arbiter.
1997-03-09 15:29:21 +00:00
Mikael Djurfeldt
70ad422696 * eval.c (scm_m_define): Bugfix: Check that the object is a
closure before setting the procedure property!
1997-03-09 15:29:11 +00:00
Mikael Djurfeldt
dfefe3a693 * ports.h: Removed prototype for scm_ungetc_char_ready_p.
* ports.c: Removed `ungetc-char-ready?'.
1997-03-09 15:28:50 +00:00
Gary Houston
e3473097c7 typo 1997-03-08 22:55:06 +00:00
Gary Houston
fed9c9a2d4 * read.c (scm_init_read): intitialise scm_read_hash_procedures
(idea from Mikael: make it a pair so scm_permanent object only
	called once.)
	(scm_read_hash_extend): don't call scm_permanent_object.
	(ideas from Mikael): if chr is already in the list, replace its
	procedure instead of appending it again.  If chr is #f, remove
	it from the list.
	(scm_get_hash_procedure): take CDR of scm_read_hash_procedures.
1997-03-08 22:52:56 +00:00
Gary Houston
deca31e173 * strports.c (scm_read_0str, scm_eval_0str): update scm_read usage.
* gdbint.c (gdb_read): update scm_lreadr usage.

	* load.h: update prototypes.

	* load.c (scm_primitive_load, scm_read_and_eval_x,
	scm_primitive_load_path): remove case_insensitive_p, sharp arguments.

	* read.h: add prototype for scm_read_hash_extend.  Change args for
	other prototypes.

	* read.c (scm_read_hash_procedures): new variable.
	(scm_read_hash_extend): new procedure.
	(scm_get_hash_procedure): new procedure.
*	(scm_lreadr): use scm_get_hash_procedure instead of an argument
	for extended # processing.
	(scm_read, scm_lreadr, scm_lreadrecparen, scm_lreadparen,
	scm_read_token): remove case_i, sharp arguments.  Change callers.

	* read.h (SCM_N_READ_OPTIONS): increase to 3.
	(SCM_CASE_INSENSITIVE_P): define.

	* read.c: add case-insensitive option to scm_read_opts.
*	(scm_read_token): use SCM_CASE_INSENSITIVE_P instead of an argument
	to determine whether to convert symbol case.
	(default_case_i): definition removed.
	* read.c (scm_read_token): if case_i, downcase ic before doing
	anything with it.
1997-03-08 18:58:24 +00:00
Mikael Djurfeldt
25a301d67d *** empty log message *** 1997-03-08 14:46:39 +00:00
Mikael Djurfeldt
d88094f957 * procs.c (make-cclo): New undocumented debugging procedure: Make
compiled closure with internal procedure PROC and length LENGTH.
Only compiled if GUILE_DEBUG is defined.
1997-03-08 14:45:16 +00:00
Mikael Djurfeldt
f843a84c09 * print.c: Put #ifdef GUILE_DEBUG around `current-pstate'. 1997-03-08 14:45:01 +00:00
Mikael Djurfeldt
fea6b4eaf2 * ports.c: Changed preprocessor symbol DEBUG --> GUILE_DEBUG. 1997-03-08 14:43:41 +00:00
Mikael Djurfeldt
fe57f6521f * debug.c: Only include `debug-hang' if GUILE_DEBUG is defined. 1997-03-08 14:43:29 +00:00
Mikael Djurfeldt
280e515a28 * configure.in: Added configuration option `guile-debug'.
Configure with --enable-guile-debug if you want a bunch of extra
functions used for debugging when developing Guile.

* acconfig.h: Added new preprocessor symbol GUILE_DEBUG.
1997-03-08 14:43:05 +00:00
Mikael Djurfeldt
71d3aa6de5 * eval.c (SCM_CEVAL): Added code sections for handling of rpsubrs
with 3 or more args internally to the evaluator.
1997-03-08 03:03:16 +00:00
Mikael Djurfeldt
a1e2cfe360 *** empty log message *** 1997-03-07 21:43:46 +00:00
Mikael Djurfeldt
399dedcca7 * eval.c (SCM_CEVAL): Added code sections for handling of asubrs
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)).
1997-03-07 21:43:03 +00:00
Mikael Djurfeldt
a8485f4d34 * debug.h (SCM_RESET_DEBUG_MODE): Bugfix: The old code didn't
clear the CHECK-flags.
1997-03-07 21:42:44 +00:00
Mikael Djurfeldt
e3c37929e0 * * backtrace.c (scm_display_application): New procedure:
display-application; Set fancy printing parameters individually
	for different types of display (backtrace, error, application).
	(These should of course be customizable!)
1997-03-07 21:42:32 +00:00
Mikael Djurfeldt
bc6b266af0 *** empty log message *** 1997-03-06 22:57:45 +00:00
Mark Galassi
b5522b48d2 started out the new reference manual organization 1997-03-06 17:13:31 +00:00
Mikael Djurfeldt
ee4274a654 * tags.h, eval.c (iqq): Fixes to comments about SCM_ECONSP. 1997-03-06 00:57:11 +00:00
Mikael Djurfeldt
b2530d665a * tags.h (SCM_ECONSP, SCM_NECONSP): Bugfix: Discriminate structs
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.)
1997-03-05 22:49:12 +00:00
Mikael Djurfeldt
c0ebd8c5a8 * filesys.c (scm_stat): stat now takes fport arguments too as
documented in the manual.
1997-03-04 18:54:52 +00:00
Mikael Djurfeldt
2c4bd736ca * debug.c (scm_single_step): Bugfix: Call continuation with
scm_call_continuation instead of throwing to it.
1997-03-04 18:54:14 +00:00
Gary Houston
44493941d8 * ports.c (scm_char_ready_p): bug fix: in SCM_PROC char-ready's
argument wasn't declared to be optional.
1997-03-03 09:22:58 +00:00
Mikael Djurfeldt
876c87ce4e * stime.c (scm_init_stime): Add feature "current-time". 1997-03-02 15:40:23 +00:00
Gary Houston
1a36eef2ea * throw.h: prototype for scm_exit_status.
* 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".
1997-03-02 07:32:19 +00:00
Mikael Djurfeldt
c6a4fbce36 * eval.c (scm_deval): Removed some old code.
(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.
1997-03-01 14:23:27 +00:00
Mikael Djurfeldt
77a6036bd1 * symbols.c (msymbolize): Bugfix: Must initialize property list to
SCM_EOL.
1997-02-28 23:10:00 +00:00
Mikael Djurfeldt
f76c22afd3 * procs.c: Introduce the existent C function scm_thunk_p at the
Scheme level as well.
1997-02-28 21:37:30 +00:00
Mikael Djurfeldt
1dd28b3d65 * symbols.c, symbols.h (scm_symbol_value0): New function. Can be
used from C to easily lookup the value of a symbol in the current
module.
1997-02-26 12:08:26 +00:00
Mikael Djurfeldt
15ae1beecf * configure.in: Added AM_MAINTAINER_MODE
Makefile.in, aclocal.m4, configure: Regenerated
1997-02-24 23:35:55 +00:00
Mikael Djurfeldt
175475a8fc * unif.c (scm_init_unif): Added #include "unif.x". (There are two
scm_init_unif in this file.  This will also fix a previous problem
with guile-snarf.)
1997-02-24 23:21:23 +00:00
Mikael Djurfeldt
01c77a0aa2 * gdb_interface.h (GDB_INTERFACE): Added some (void *) casts to avoid
warnings.
1997-02-21 23:02:01 +00:00
Marius Vollmer
a7580a9738 *** empty log message *** 1997-02-21 18:22:50 +00:00
Marius Vollmer
78bda5f34f * Makefile.am (EXTRA_libguile_la_SOURCES): New variable to hold
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.
1997-02-21 18:21:53 +00:00
Jim Blandy
413b4ab645 *** empty log message *** 1997-02-19 19:05:24 +00:00
Jim Blandy
9d0fddf0e4 * list.h (scm_list_cdr_ref): Delete prototype; function no longer
exists.
1997-02-19 19:05:11 +00:00
Gary Houston
0aa0871fc1 * unif.c (scm_array_set_x): minor change to argument error checking. 1997-02-15 18:49:59 +00:00
Jim Blandy
9dcf6a0294 * Makefile.am (libguile_la_SOURCES): Remove backtrace.c, debug.c,
inet_aton.c, srcprop.c, stacks.c, and strerror.c from this list.
They should only be included in the library at configure.in's
discretion.
(libguile_la_LDADD): Include the appropriate .lo files here.
(libguile_la_DEPENDENCIES): List the corresponding .o files here,
so we know when to build them (and their .lo bretheren).
* configure.in (LIBLOBJS): New substituted variable.  We let
configure decide which .o files to include in LIBOBJS, and then
put the corresponding list of .lo files in LIBLOBJS.  The latter
is what we pass to libtool.
* Makefile.in, configure: regenerated.
1997-02-11 23:25:55 +00:00
Mikael Djurfeldt
5aab5d961c * symbols.c (scm_sysintern0): New function. Contains the core of
old scm_sysintern but doesn't take a second value argument.
(scm_sysintern): Now uses scm_sysintern0.
(scm_sysintern_no_module_lookup): Renamed to
scm_sysintern0_no_module_lookup and doesn't take a second value
argument any longer.

* symbols.h (scm_sysintern0: Added declaration.

* options.c (scm_init_opts): Use scm_sysintern0 instead of
scm_sysintern when interning option keys.  Otherwise we risk
destroying the values of already interned variables.

* symbols.c (scm_sym2vcell): Bugfix: Treat definedp as
scheme-level boolean (use SCM_NFALSEP).

* backtrace.c (scm_init_backtrace): Make Scheme-level variable
`the-last-stack'.
(scm_backtrace): New function. (C version of old function from
boot-9.scm) Motivation: Make it possible to display backtraces
without depending on boot-9.scm.  (I'm uncertain if this
motivation is good enough...)

* root.h (scm_root_state): Add member the_last_stack_var.
(scm_the_stack_var): Defined to scm_root->the_last_stack_var.

* root.c (mark_root): Mark scm_the_last_stack_var.

* init.c (scm_start_stack): Initialize scm_the_last_stack_var to
SCM_BOOL_F.
1997-02-10 01:01:54 +00:00
Mikael Djurfeldt
3197e30d2e * throw.c (mark_lazy_catch, free_lazy_catch): Removed.
1. mark_lazy_catch didn't mark the smob.
2. Both functions above have standard variants:
(lazy_catch_funs): Changed mark_lazy_catch --> scm_mark0,
free_lazy_catch --> scm_free0.
1997-02-09 16:21:49 +00:00
Jim Blandy
2e4fe934c1 *** empty log message *** 1997-02-07 22:41:10 +00:00
Jim Blandy
ccbfefb7cf * throw.c (scm_internal_lazy_catch): New function.
(scm_lazy_catch): Rewritten to use it.
(scm_ithrow): Handle the new lazy catch representation.
Use SCM_LAZY_CATCH_P, instead of assuming that any wind list entry
that doesn't have a jmpbuf is a lazy catch clause.
(tc16_lazy_catch, struct lazy_catch, mark_lazy_catch,
free_lazy_catch, print_lazy_catch, lazy_catch_funs,
make_lazy_catch, SCM_LAZY_CATCH_P): Support funs, including a new
smob.
(scm_init_throw): Register the new lazy-catch smob type.
* throw.h (scm_internal_lazy_catch): decl for new function.
1997-02-07 22:38:27 +00:00
Jim Blandy
3eed34754c * throw.c (scm_internal_lazy_catch): New function.
(scm_lazy_catch): Rewritten to use it.
(scm_ithrow): Handle the new lazy catch representation.
Use SCM_LAZY_CATCH_P, instead of assuming that any wind list entry
that doesn't have a jmpbuf is a lazy catch clause.
(tc16_lazy_catch, struct lazy_catch, mark_lazy_catch,
free_lazy_catch, print_lazy_catch, lazy_catch_funs,
make_lazy_catch, SCM_LAZY_CATCH_P): Support funs, including a new
smob.
(scm_init_throw): Register the new lazy-catch smob type.
* throw.h (scm_internal_lazy_catch): decl for new function.

* throw.c (scm_internal_catch): Doc fixes.
1997-02-07 22:38:20 +00:00
Jim Blandy
2b6b80bc0b * alloca.c: New file, needed to support the AC_FUNC_ALLOCA call in
configure.in.  Including this might cause problems if applications
that link against libguile include their own copies of alloca, but
if they're using autoconf, they should be adding libguile to LIBS
before calling AC_FUNC_ALLOCA anyway, in which case they'll find
the copy in libguile, and things will be okay.  (I think.)
1997-02-07 22:37:10 +00:00
Gary Houston
c101e39e41 * strop.c (scm_string_upcase_x, scm_string_downcase_x): moved from
unif.c.
strop.h: move prototypes too.
* posix.c (scm_init_posix): don't intern EINTR since it's now done
elsewhere.

* ioext.c (scm_init_ioext): don't intern stat macros, S_IRUSR
etc.  I deleted them from filesys.c long ago, but didn't
notice they were here too (although ineffective since
sys/stat.h wasn't included).
1997-02-06 07:05:08 +00:00
Tom Tromey
5862b540cd * eval.c: Don't define alloca in GCC case. gcc will automatically
use __builtin_alloca if appropriate.
1997-02-05 18:19:57 +00:00