1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-16 18:50:23 +02:00
Commit graph

11212 commits

Author SHA1 Message Date
Dirk Herrmann
9fcf3cbb81 * backtrace.c (display_expression, display_frame): Call
scm_i_unmemoize_expr for unmemoizing a memoized object holding a
	single memoized expression.

	* debug.c (memoized_print): Don't try to unmemoize the memoized
	object, since we can't know whether it holds a single expression
	or a body.

	(scm_mem_to_proc): Removed check for lambda expression, since it
	was moot anyway.  Whoever uses these functions for debugging
	purposes should know what they do: Creating invalid memoized code
	will cause crashes, independent of whether this check is present
	or not.

	(scm_proc_to_mem): Take the closure's code as it is and don't
	append a SCM_IM_LAMBDA isym.  To allow easier debugging, the
	memoized code should not be modified.

	* debug.[ch] (scm_unmemoize, scm_i_unmemoize_expr): Removed
	scm_unmemoize from public use, but made scm_i_unmemoize_expr
	available as a guile internal function instead.  However,
	scm_i_unmemoize_expr will only work on memoized objects that hold
	a single memoized expression.  It won't work with bodies.

	* debug.c (scm_procedure_source), macros.c (macro_print), print.c
	(scm_iprin1): Call scm_i_unmemocopy_body for unmemoizing a body,
	i. e. a list of expressions.

	* eval.c (unmemoize_exprs): Drop internal body markers from the
	output during unmemoization.

	* eval.[ch] (scm_unmemocopy, scm_i_unmemocopy_expr,
	scm_i_unmemocopy_body): Removed scm_unmemocopy from public use,
	but made scm_i_unmemocopy_expr and scm_i_unmemocopy_body available
	as guile internal functions instead.  scm_i_unmemoize_expr will
	only work on a single memoized expression, while
	scm_i_unmemocopy_body will only work on bodies.
2004-06-27 12:34:54 +00:00
Dirk Herrmann
90df793f67 * eval.c (unmemoize_exprs): Handle semi-memoized code.
(scm_cons_source, scm_primitive_eval): Prefer higher level
	predicate SCM_FALSEP over SCM_IMP.
2004-06-21 20:40:36 +00:00
Rob Browning
48de9bb331 *** empty log message *** 2004-06-20 20:18:25 +00:00
Rob Browning
9d9536fdd8 Add separate symmetric test for SCM_HAVE_T_UINT64 in one case. 2004-06-20 20:18:18 +00:00
Rob Browning
82d5c4b704 *** empty log message *** 2004-06-20 20:14:38 +00:00
Rob Browning
9150491dc3 fix #ifdef checks for 64-bit types; should be #if. 2004-06-20 20:14:23 +00:00
Rob Browning
2d697a0a0b *** empty log message *** 2004-06-20 20:05:53 +00:00
Rob Browning
f5d54eb740 *** empty log message *** 2004-06-20 17:24:42 +00:00
Rob Browning
6b513f4643 (uvec_print): rewrite using a union to make more
compact, and use static print_uint64 and print_int64 to print
64-bit elements.
(print_int64): new static function (temporary fix).
(print_uint64): new static function (temporary fix).
2004-06-20 17:24:04 +00:00
Rob Browning
f8ac37336f *** empty log message *** 2004-06-20 14:49:36 +00:00
Rob Browning
8ad6cdd20c (srfi_DATA): add srfi-31.scm. 2004-06-20 14:48:44 +00:00
Rob Browning
b4e9301202 new test for SRFI-31. 2004-06-20 14:22:22 +00:00
Rob Browning
6293838ce4 *** empty log message *** 2004-06-20 14:21:31 +00:00
Rob Browning
dfedf226e6 (SCM_TESTS): add tests/srfi-31.scm. 2004-06-20 14:21:07 +00:00
Rob Browning
e96f5a6efd new file. 2004-06-20 14:19:59 +00:00
Rob Browning
8638c417b2 (SRFI-31): add documentation for srfi-31. 2004-06-20 14:19:00 +00:00
Rob Browning
060fd2f92c *** empty log message *** 2004-06-16 17:14:54 +00:00
Rob Browning
8f6a429e47 * readline.scm: moved to ./ice-9/ 2004-06-16 17:14:37 +00:00
Rob Browning
6fb858d50c move package and version args to AC_INIT as is now
recommended.  This also requires m4_esyscmd to read GUILE-VERSION
given the way AC_INIT handles its args.  Also move "foreign"
indication here.
2004-06-16 17:14:20 +00:00
Rob Browning
0dcee83729 * Makefile.am: move support for readline.scm to ice-9/ subdir. 2004-06-16 17:13:55 +00:00
Rob Browning
a2f120791e * .cvsignore: add ice-9 dir.
* ice-9/.cvsignore: new file.
2004-06-16 17:13:43 +00:00
Rob Browning
4cacadc1d3 modify to handle move of readline.scm to
ice-9 subdir of guile-readline.
2004-06-16 17:13:27 +00:00
Rob Browning
5ae51dad0b move package and version args to AC_INIT as is now
recommended.  This also requires m4_esyscmd to read GUILE-VERSION
given the way AC_INIT handles its args.
2004-06-16 17:13:09 +00:00
Rob Browning
74c88f531a * ice-9/readline.scm: moved here from ../ 2004-06-16 17:12:40 +00:00
Rob Browning
b6ccd4c126 * Makefile.am: move support for readline.scm to ice-9/ subdir.
* ice-9/Makefile.am: new file.
2004-06-16 17:12:14 +00:00
Rob Browning
8048c00b4f *** empty log message *** 2004-06-16 04:10:37 +00:00
Rob Browning
537abaae4d update ifdefery for macosx.
(scm_get_stack_base): separate result initialization from
declaration to slience warnings with macosx and hp-ux using gcc
3.3.  Thanks to Andreas Vögele.
2004-06-16 04:09:52 +00:00
Rob Browning
17c22047f8 (scm_shell_usage): minor phrasing change. 2004-06-16 04:08:25 +00:00
Rob Browning
0e294fa144 *** empty log message *** 2004-06-16 01:04:28 +00:00
Rob Browning
e0816d5938 update ifdefery for macosx.
(scm_get_stack_base): separate result initialization from
declaration to slience warnings with macosx and hp-ux using gcc
3.3.  Thanks to Andreas Vögele.
2004-06-16 01:04:09 +00:00
Marius Vollmer
c10b894e6b *** empty log message *** 2004-06-15 13:20:22 +00:00
Marius Vollmer
eb73f94b6a (number->string): Some results might differ between versions of Guile
compiled optimized and unoptimized.  Both results are accepted now.
2004-06-15 13:19:10 +00:00
Han-Wen Nienhuys
d93294d451 (unmemoize_exprs): use SCM_CONSP for the loop condition. 2004-06-12 22:22:56 +00:00
Dirk Herrmann
212e58ede8 * list.[ch] (scm_i_finite_list_copy): New internal function to
copy lists that are known to be finite (though not necessarily
	proper).

	* debug.c (scm_procedure_source): Don't have scm_unmemocopy treat
	a closure's argument list like an expression of a body.

	* eval.c (unmemoize_expression, unmemoize_exprs, unmemoize_and,
	unmemoize_begin, unmemoize_case, unmemoize_cond, unmemoize_delay,
	unmemoize_do, unmemoize_if, unmemoize_lambda, unmemoize_let,
	unmemoize_letrec, unmemoize_letstar, unmemoize_or,
	unmemoize_set_x, unmemoize_apply, unmemoize_atcall_cc,
	unmemoize_at_call_with_values, unmemoize_future, sym_atslot_ref,
	unmemoize_atslot_ref, sym_atslot_set_x, unmemoize_atslot_set_x,
	unmemoize_builtin_macro): New static functions and symbols.

	(scm_unmemocopy): Rewritten in terms of the above.  scm_unmemocopy
	now has a slightly different meaning: The memoized form that is
	receives as its argument is now interpreted as a sequence of
	expressions from a body.

	(unmemocar, scm_unmemocar): Since the whole functionality of
	unmemocar and scm_unmemocar is not needed any more, scm_unmemocar
	has its old content back and is deprecated, while unmemocar has
	been removed.

	(SCM_BIT7): Removed.

	(CEVAL): For unmemoizing a single expression, call
	unmemoize_expression instead of scm_unmemocopy, which now expects
	a sequence of body expressions.  Eliminated unnecessary empty
	environment frame when executing let* forms.  Eliminated
	unmemoization step from evaluator.
2004-06-06 07:46:18 +00:00
Marius Vollmer
9ccea37043 *** empty log message *** 2004-06-02 09:44:55 +00:00
Marius Vollmer
2b189e65c4 (scm_macroexp, macroexp): Renamed scm_macroexp to
macroexp and made static.  Added new version of scm_macroexp that
emits a deprecation warning and then calls macroexp.
(scm_m_undefine): Issue deprecation warning.
2004-06-02 09:37:48 +00:00
Dirk Herrmann
aa498d0c1b * tests/syntax.test: Added various tests to check that
unmemoization works correctly.
2004-05-31 15:31:04 +00:00
Dirk Herrmann
57d23e259a * eval.c (lookup_global_symbol, literal_p, try_macro_lookup):
Modified to make set! work on symbols that represent syntactic
	keywords.
2004-05-30 07:01:27 +00:00
Kevin Ryde
845087a40d *** empty log message *** 2004-05-29 22:53:34 +00:00
Kevin Ryde
18ee5de9d4 * lib.scm (exception:numerical-overflow): New define.
* tests/numbers.test (modulo-expt): Use it and
exception:wrong-type-arg, avoiding empty "" regexp which is invalid on
BSD.  Reported by Andreas Vögele.
2004-05-29 22:13:27 +00:00
Kevin Ryde
0825ae0b5b (exception:numerical-overflow): New define. 2004-05-29 22:09:52 +00:00
Dirk Herrmann
12255c5896 * standalone/test-asmobs-lib.c: Fixed include statement. 2004-05-29 08:58:22 +00:00
Dirk Herrmann
3d2ada2fbc * boot-9.scm: Reordered definitions such that macro definitions
preceed their first usage.  Include and define deprecated stuff
	late in the file to have a better change of detecting accidental
	uses of deprecated definitions. Further, unified the layout a
	little and grouped definitions more cleanly into topics.
2004-05-29 08:40:38 +00:00
Han-Wen Nienhuys
141521ad8b (SCM_CELL_OBJECT_LOC): use SCM_GC_CELL_OBJECT to prevent
compound expression as lvalue errors.
2004-05-26 21:15:30 +00:00
Marius Vollmer
7c2f56a4de *** empty log message *** 2004-05-24 21:29:26 +00:00
Marius Vollmer
78addfa35e (winder_mark): Use SCM_PACK to correctly convert the WINDER_DATA to a
SCM.
2004-05-24 21:14:59 +00:00
Marius Vollmer
41cfaa126a *** empty log message *** 2004-05-24 21:01:48 +00:00
Marius Vollmer
b66dde3c7d (use-value-history): Use resolve-interface instead
of resolve-module so that only the exported bindings are searched.
(save-value-history): Export the newly defined variable.  Reported
by Wolfgang Jaehrling.
2004-05-24 20:57:20 +00:00
Dirk Herrmann
366ecaec7a * goops.c (compute_getters_n_setters, create_standard_classes,
scm_add_slot): Compute closures by calling scm_i_eval_x on a
	lambda expression rather than creating them with scm_closure.
2004-05-24 04:15:49 +00:00
Dirk Herrmann
62ed3710b7 * tests/goops.test: Wrap tests in module (test-suite
test-<file-name without .test>).  Remove calls to deprecated macro
	`undefine'.
2004-05-24 04:01:06 +00:00