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

9653 commits

Author SHA1 Message Date
Marius Vollmer
e0245b20cb (rehash_after_gc): Bug fix: properly link the processed hashtables
back into the weak_hashtables list.  Thanks to Bill Schottstaedt!
2004-05-18 21:29:38 +00:00
Dirk Herrmann
e7313a9d7e * eval.c (unmemoize_quote): New static function.
(scm_m_quote, scm_m_atslot_ref, SCM_CEVAL): Changed the byte code
	representation of 'quote' and '@slot-ref' to an improper list.
	This reduces execution time, the number of cells used to hold the
	memoized code, and thus also reduces garbage collection time.

	(scm_unmemocopy): Use unmemoize_quote for quote expressions.

	(SCM_CEVAL): Changed macro handling to also work with macros that
	return improper lists.  Added an assertion, that the code returned
	by a macro transformer will not lead to cycles in the memoized
	code.
2004-05-16 06:38:51 +00:00
Dirk Herrmann
e51565673c No functional change, just rearrangements of functions within the
file.

	* eval.c (scm_ilookup, scm_unbound_variable_key,
	error_unbound_variable, scm_lookupcar1, scm_lookupcar): Moved to
	the definitions used for execution, since that's where they will
	belong to later.
2004-05-15 16:45:27 +00:00
Dirk Herrmann
651f07f82e * numbers.h (SCM_SLOPPY_FRACTIONP): Removed. It was not used
throughout guile, has not been part of an official release yet,
	and the concept of sloppy predicates has never been a good idea.

	(SCM_FRACTION_NUMERATOR, SCM_FRACTION_DENOMINATOR,
	SCM_FRACTION_SET_NUMERATOR, SCM_FRACTION_SET_DENOMINATOR):
	Simplified.
2004-05-15 15:50:24 +00:00
Dirk Herrmann
770e048f7d * throw.c (SETJBJMPBUF, SCM_SETJBDFRAME): Add cast to scm_t_bits
to make explicit what happens.
2004-05-15 15:42:47 +00:00
Dirk Herrmann
2ff0840571 * dynl.c (SET_DYNL_HANDLE): Add cast to scm_t_bits to make
explicit what happens.

	* guardians.c (TCONC_IN): Use SCM_SET_CELL_OBJECT_x rather than
	SCM_SET_CELL_WORD_x when writing scheme objets to cell elements.
2004-05-15 15:39:27 +00:00
Kevin Ryde
13bf622fa5 *** empty log message *** 2004-05-13 21:24:48 +00:00
Kevin Ryde
e9c63dad67 (scm_sigaction): Check signum is within range, as per
change by Marius in the cvs head.
2004-05-13 21:18:03 +00:00
Kevin Ryde
8c460409de *** empty log message *** 2004-05-13 21:12:02 +00:00
Kevin Ryde
a68516299f *** empty log message *** 2004-05-12 00:45:36 +00:00
Kevin Ryde
0e0f3969a9 (scm_floor, scm_ceiling, scm_truncate_number,
scm_round_number): New functions, replacing scm_tc7_cxr definitions,
and ensuring exact arguments give exact results, as required by R5RS.
Derived in part from the same by Marius in the cvs head.  Reported by
Ray Lehtiniemi.
2004-05-12 00:44:33 +00:00
Marius Vollmer
627861983e *** empty log message *** 2004-05-11 19:08:24 +00:00
Marius Vollmer
9ac10bbeb6 (scm_string_trim, scm_string_trim_right, scm_string_trim_both): Cast
to unsigned char for isspace.
2004-05-11 19:07:39 +00:00
Marius Vollmer
3e50460304 *** empty log message *** 2004-05-10 22:41:04 +00:00
Marius Vollmer
ab99fb6c07 (scm_sigaction): Validate that the handler is indeed a procedure when
it isn't a number.
2004-05-10 22:26:59 +00:00
Marius Vollmer
89afb9cd52 *** empty log message *** 2004-05-10 22:10:02 +00:00
Marius Vollmer
43067cec3b (scm_sigaction_for_thread): Validate that the handler is indeed a
procedure when it isn't a number.
2004-05-10 22:09:04 +00:00
Marius Vollmer
3d5ebfa95c *** empty log message *** 2004-05-10 20:43:00 +00:00
Marius Vollmer
d39a7b5881 (number->string): Added tests for non-radix-10 floating point
conversions.
2004-05-10 20:41:54 +00:00
Marius Vollmer
ed9f718f63 Added test-round. 2004-05-10 20:36:27 +00:00
Marius Vollmer
0b799eeab6 (FLOBUFLEN): Increase so that radix 2 strings will fit.
(fx): Removed.
(scm_dblprec, fx_per_radix, init_dblprec, init_fx_radix,
number_chars): New, to support variable radices.
(idbl2str): Use above instead of the old base-10 only tables.
(iflo2str): Pass on new RADIX argument to idbl2str.
(scm_number_to_string): Pass radix to iflo2str.
(scm_print_real, scm_print_complex): Explicitly pass radix 10 to
iflo2str.
(scm_init_numbers): Call init_dblprec and init_fx_radix for all
possible radices.
2004-05-10 20:35:39 +00:00
Kevin Ryde
8d7833a8c6 *** empty log message *** 2004-05-09 22:55:26 +00:00
Kevin Ryde
d12a658091 *** empty log message *** 2004-05-09 22:54:06 +00:00
Kevin Ryde
abff733bd7 (logbit?): New tests. 2004-05-09 22:53:24 +00:00
Kevin Ryde
f0a82ba793 (scm_logbit_p): Correction to test above the end of an
inum.  Reported by Jan Konecny.
2004-05-09 22:51:24 +00:00
Kevin Ryde
58a4b0d6ac *** empty log message *** 2004-05-09 22:50:24 +00:00
Kevin Ryde
34a3e10b36 (logbit?): New tests. 2004-05-09 22:49:43 +00:00
Kevin Ryde
20fcc8ed86 More of:
(scm_logbit_p): Correction to test above the end of an
inum.  Reported by Jan Konecny.
2004-05-09 22:46:17 +00:00
Kevin Ryde
3ae69bb422 *** empty log message *** 2004-05-09 22:34:48 +00:00
Kevin Ryde
0d75f6d819 (scm_logbit_p): Correction to test above the end of an
inum.  Reported by Jan Konecny.
2004-05-09 22:33:29 +00:00
Kevin Ryde
1dccbf7f5f *** empty log message *** 2004-05-09 00:54:57 +00:00
Kevin Ryde
c60695a109 *** empty log message *** 2004-05-09 00:53:39 +00:00
Kevin Ryde
beab6d49dc (test-dst, string->date local DST): Test with
"EST5EDT" instead of "CET", since HP-UX doesn't know CET.  Reported by
Andreas Vögele.
2004-05-09 00:53:11 +00:00
Kevin Ryde
fc894caf84 *** empty log message *** 2004-05-09 00:50:30 +00:00
Kevin Ryde
957f3c2b6c (test-dst, string->date local DST): Test with
"EST5EDT" instead of "CET", since HP-UX doesn't know CET.
2004-05-09 00:49:25 +00:00
Marius Vollmer
c1e7caf726 *** empty log message *** 2004-05-06 17:04:04 +00:00
Marius Vollmer
05f81734e3 Updated for new SCM_SMOB_* macros. 2004-05-06 16:58:47 +00:00
Marius Vollmer
916542f1ce Moved around the sections so that the manual overview comes first. 2004-05-06 16:58:23 +00:00
Marius Vollmer
fc038e5bdb Updated for the new role of scm_t_bits. 2004-05-06 16:58:01 +00:00
Marius Vollmer
1ac1ba6a49 Typo. 2004-05-06 16:57:41 +00:00
Marius Vollmer
279688252e *** empty log message *** 2004-05-06 16:43:46 +00:00
Marius Vollmer
f5710d53b1 Use SCM_SMOB_* instead of SCM_CELL_* as appropriate. Use
SCM_SMOB_FLAGS and SCM_SET_SMOB_FLAGS instead of accessing the
zeroth word directly.  Use SCM_SMOB_PREDICATE as appropriate.
2004-05-06 16:43:14 +00:00
Marius Vollmer
41a2f6fc0c (SCM_CELL_WORD_LOC): Moved to "deprecated.h". 2004-05-06 16:42:50 +00:00
Marius Vollmer
fba8fdc0d3 (SCM_I_BIG_MPZ): Use SCM_CELL_OBJECT_LOC instead of taking the address
of SCM_CELL_WORD_1, the latter being no longer an lvalue.
2004-05-06 16:42:07 +00:00
Marius Vollmer
f7e69e2094 (SCM_VARIABLE_LOC): Use SCM_CELL_OBJECT_LOC instead of casting
SCM_CELL_WORD_LOC.
2004-05-06 16:41:47 +00:00
Marius Vollmer
37fc18ae73 * smob.h (SCM_SMOB_DATA_2, SCM_SMOB_DATA_3, SCM_SMOB_FLAGS,
SCM_SET_SMOB_DATA_2, SCM_SET_SMOB_DATA_3, SCM_SET_SMOB_FLAGS,
SCM_SMOB_OBJECT, SCM_SMOB_OBJECT_2, SCM_SMOB_OBJECT_3,
SCM_SET_SMOB_OBJECT, SCM_SET_SMOB_OBJECT_2, SCM_SET_SMOB_OBJECT_3,
SCM_SMOB_OBJECT_LOC, SCM_SMOB_OBJECT_2_LOC,
SCM_SMOB_OBJECT_3_LOC): New.
* smob.c (scm_i_set_smob_flags): New function.
2004-05-06 16:41:27 +00:00
Marius Vollmer
33c527ec83 (scm_t_cell): Fields are now of type SCM instead of
scm_t_bits.  Updated all users.
(SCM_GC_CARD_SIZE_MASK): Use SCM_GC_SIZEOF_CARD instead of
duplicating the code.
(SCM_CELL_OBJECT_LOC): New.
(SCM_CARLOC, SCM_CDRLOC): Use it instead of SCM_CELL_WORD_LOC.
(SCM_CELL_WORD_LOC): Moved to "deprecated.h".
2004-05-06 16:41:08 +00:00
Marius Vollmer
050fedc4fd Fixed typo in comment. 2004-05-06 16:28:18 +00:00
Dirk Herrmann
9f84d6aac7 * boot-9.scm (resolve-module): Always start searching from the
root module.  This will allow the C equivalent scm_resolve_module
	to work, independent of what the current module is.
2004-05-03 22:42:09 +00:00
Kevin Ryde
5ad9bb4b39 *** empty log message *** 2004-05-02 23:32:58 +00:00