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

8572 commits

Author SHA1 Message Date
Kevin Ryde
95f31774cc (_POSIX_C_SOURCE): Define to 199506L to get gmtime_r (in
particular on HP-UX).  Reported by Andreas Vögele.
2004-04-27 22:43:28 +00:00
Kevin Ryde
857ae6afd3 (scm_bit_extract): Use min instead of MIN.
(MIN): Remove, this conflicts with similar macro defined by limits.h
on HP-UX.  Reported by Andreas Vögele.
2004-04-27 22:19:41 +00:00
Kevin Ryde
924532c8fd (NUM2INTEGRAL): Test BIGMPZ_FITSP with "!= 0" to
avoid warning from gcc 3.4.  Reported by Hyperdivision.
2004-04-27 22:16:12 +00:00
Kevin Ryde
e45fb18618 (NUM2INTEGRAL): Under non-BIGMPZ_FITSP case,
corrections to range check for signed numbers.  Remove
scm_remember_upto_here_1(num) from these checks, since num is used
subsequently anyway.
2004-04-27 21:56:01 +00:00
Dirk Herrmann
36245b66c2 * libguile/eval.c (s_macro_keyword): New static identifier.
(scm_m_define): Change order to first create binding and
	evaluating the expression afterwards.

	(scm_m_set_x): Memoize complete set! expression.  Only leave
	symbols if no binding exists at memoization time.  Throw error if
	assigning to a syntactic keyword.

	(lazy_memoize_variable): New function.

	(CEVAL): When execution set!, perform lazy memoization if
	unmemoized symbol is detected.

	* libguile/modules.c (module_variable): Return variables with
	unbound value.

	* libguile/tags.h: Fix comment.

	* test-suite/tests/syntax.test: Add test case to check the correct
	handling of define expressions.
2004-04-26 19:59:03 +00:00
Kevin Ryde
da8bcb2f70 *** empty log message *** 2004-04-24 22:06:13 +00:00
Kevin Ryde
d044f345c9 (scm_tables_prehistory): Remove. 2004-04-24 22:04:51 +00:00
Kevin Ryde
465380de00 (scm_char_upcase, scm_char_downcase, scm_c_upcase,
scm_c_downcase): Use ctype.h toupper and tolower.  This will be useful
in 8-bit locales, and ensures consistency with char-upper-case? and
char-lower-case? which already use ctype.h.
(scm_c_upcase_table, scm_c_downcase_table, scm_lowers, scm_uppers): Remove.
(scm_tables_prehistory): Remove.
2004-04-24 22:03:28 +00:00
Kevin Ryde
4d81111ebd *** empty log message *** 2004-04-24 21:31:42 +00:00
Kevin Ryde
09270afdeb Add a copyright year, based on the changelog. 2004-04-24 21:30:35 +00:00
Kevin Ryde
20fdb4dff7 (s_scm_make_uve): Remove unused local variable. Reported by
Hyperdivision.
2004-04-24 21:21:22 +00:00
Kevin Ryde
3846605938 (scm_yield): Correction, actually call scm_thread_yield.
Reported by Hyperdivision.
2004-04-24 21:19:30 +00:00
Kevin Ryde
cff55508f9 *** empty log message *** 2004-04-24 21:18:30 +00:00
Kevin Ryde
32938e4dec * tests/socket.test: New file.
* Makefile.am (SCM_TESTS): Add it.
2004-04-24 21:17:13 +00:00
Kevin Ryde
4064ed2ab5 New file. 2004-04-24 21:13:16 +00:00
Kevin Ryde
e8dde70d1f (VALIDATE_INET6): Correction to bignum_in_ipv6_range_p
call.  Reported by Hyperdivision.
2004-04-24 21:04:58 +00:00
Dirk Herrmann
6aef9d2b81 * srfi-17.scm (setter, car, cdr etc.): When within one define
expression a new variable in the local module is defined in terms
	of an equally named variable from some other module, use @ to
	refer to the variable in the other module.  This is necessary due
	to section 5.2.1 of R5RS: In a define expression first the new
	binding is created and then the expression is evaluated.
2004-04-24 08:48:58 +00:00
Kevin Ryde
7301de799a *** empty log message *** 2004-04-23 21:20:17 +00:00
Kevin Ryde
cd858a314c * tests/srfi-11.test: New file.
* Makefile.am (SCM_TESTS): Add it.
2004-04-23 21:19:26 +00:00
Kevin Ryde
42b4fcb48d New file. 2004-04-23 21:17:34 +00:00
Kevin Ryde
7c9da364a4 (let-values): Use make-symbol rather than gensym, for
guaranteed uniqueness of temp variable symbols.
2004-04-23 21:14:20 +00:00
Dirk Herrmann
7e6e6b37ba Hide the implementation of ilocs and isyms in eval.c.
* deprecated.h (SCM_IFRINC, SCM_ICDR, SCM_IFRAME, SCM_IDIST,
	SCM_ICDRP), eval.c (SCM_IFRINC, SCM_ICDR, SCM_IFRAME, SCM_IDIST,
	SCM_ICDRP), eval.h (SCM_ICDR, SCM_IFRINC, SCM_IFRAME, SCM_IDIST,
	SCM_ICDRP): Deprecated and added to deprecated.h.  Moved from
	eval.h to eval.c.

	* deprecated.c (scm_isymnames), deprecated.h (scm_isymnames,
	SCM_ISYMNUM, SCM_ISYMCHARS), eval.c (SCM_ISYMNUM, isymnames,
	scm_unmemocopy, CEVAL), print.c (scm_isymnames), tags.h
	(SCM_ISYMNUM, scm_isymnames, SCM_ISYMCHARS): Deprecated
	scm_isymnames, SCM_ISYMNUM and SCM_ISYMCHARS and added to
	deprecated.[hc].  Moved scm_isymnames from print.c to eval.c and
	renamed to isymnames.  Moved SCM_ISYMNUM from tags.h to eval.c and
	renamed to ISYMNUM.

	* eval.c (scm_i_print_iloc, scm_i_print_isym), eval.h
	(scm_i_print_iloc, scm_i_print_isym), print.c (scm_iprin1):
	Extracted printing of ilocs and isyms to guile internal functions
	scm_i_print_iloc, scm_i_print_isym of eval.c.
2004-04-22 19:19:17 +00:00
Kevin Ryde
7aaf475850 *** empty log message *** 2004-04-22 01:27:33 +00:00
Kevin Ryde
d77ad56065 (scm_bit_extract): Use SCM_SRS for signed right shift. 2004-04-22 01:21:39 +00:00
Kevin Ryde
10cc8b0197 *** empty log message *** 2004-04-22 00:01:48 +00:00
Kevin Ryde
be4381fade * standalone/test-round.c: New file, exercising scm_round.
* standalone/Makefile.am: Add it.
2004-04-21 23:59:04 +00:00
Kevin Ryde
370b8399a8 New file, exercising scm_round. 2004-04-21 23:53:23 +00:00
Kevin Ryde
6dfc9f1f8f *** empty log message *** 2004-04-21 23:48:47 +00:00
Kevin Ryde
63177e464e (AC_CHECK_HEADERS): Add fenv.h.
(AC_CHECK_FUNCS): Add fesetround.
2004-04-21 23:37:22 +00:00
Kevin Ryde
caab294f82 *** empty log message *** 2004-04-21 23:30:39 +00:00
Kevin Ryde
6187f48b1a (scm_round): Test for x already an integer, to avoid bad
rounding in x+0.5 when x is a big value already an integer.  In
certain hardware rounding cases x+0.5 can give an adjacent integer,
leading to that as the result, when we really just wanted x itself.
2004-04-21 23:15:55 +00:00
Marius Vollmer
3229f68b5a Big reorganization of the whole manual to give it a simpler structure. 2004-04-21 14:33:05 +00:00
Dirk Herrmann
b1cb24ff0a * eval.c (scm_unmemocopy): Fixed unmemoization of let*.
(deval_args, CEVAL): Minor improvements: Reduced variable scopes,
	added const qualifiers, cast intentionally unused expressions to
	void for emphasis, improved comment.
2004-04-19 16:49:56 +00:00
Dirk Herrmann
5065b40d60 * tags.h (scm_tags, scm_tc8_tags, scm_tc9_flag, scm_tc8_flag,
scm_tc8_isym): Renamed scm_tags to scm_tc8_tags.  Renamed
	scm_tc9_flag to scm_tc8_flag.  Introduced new identifier
	scm_tc8_isym.  Defined tc8-tags relative to scm_tc3_imm24.
	Defined the tc8-tag for flags to be 0x04, which will mean that
	SCM_BOOL_F will also have the value 0x04 instead of 0x013c.  Due
	to the reduced number of bits and the simpler bit pattern for
	SCM_BOOL_F, certain machines may be able to use more efficient
	processor instructions to deal with SCM_BOOL_F.

	(SCM_ITAG9, SCM_MAKE_ITAG9, SCM_ITAG9_DATA): Removed.  These have
	never been defined in a released version, thus no need to
	deprecate them.

	(SCM_IFLAGP, SCM_MAKIFLAG, SCM_IFLAGNUM): Flags now use tc8
	instead of tc9 tags.

	(SCM_ISYMP, SCM_MAKISYM, SCM_ISYMNUM): Isyms now use tc8 instead
	of tc9 tags.

	(SCM_MAKSPCSYM): Removed.  It is almost impossible that user code
	could have used this definition.

	(SCM_IM_AND, SCM_IM_BEGIN, SCM_IM_CASE, SCM_IM_COND, SCM_IM_DO,
	SCM_IM_IF, SCM_IM_LAMBDA, SCM_IM_LET, SCM_IM_LETSTAR,
	SCM_IM_LETREC, SCM_IM_OR, SCM_IM_QUOTE, SCM_IM_SET_X): Now encoded
	as isyms, as special isyms don't exist any more.
2004-04-18 08:56:27 +00:00
Kevin Ryde
e08d2eee17 *** empty log message *** 2004-04-18 00:54:29 +00:00
Kevin Ryde
66ec83c926 (AC_CHECK_FUNCS): Add readdir_r. 2004-04-18 00:53:36 +00:00
Kevin Ryde
9be808d8c9 (scm_readdir): Use readdir_r when available, for thread safety. 2004-04-18 00:39:16 +00:00
Kevin Ryde
9fa6c11903 *** empty log message *** 2004-04-17 22:58:34 +00:00
Kevin Ryde
b6f8f763db (scm_max, scm_min): For big/real, use SCM_SWAP rather than
explicit swapping code.
2004-04-17 21:58:23 +00:00
Kevin Ryde
83ac9c59df *** empty log message *** 2004-04-15 01:53:31 +00:00
Kevin Ryde
0bff4dce95 (scm_gcd): For inum/big, use mpz_gcd_ui by sharing code with big/inum. 2004-04-15 01:45:12 +00:00
Kevin Ryde
84a4be9afb *** empty log message *** 2004-04-15 01:37:31 +00:00
Kevin Ryde
a98ce90708 (xisinf): Add a comment about solaris 7 lacking isinf. 2004-04-15 01:24:00 +00:00
Kevin Ryde
c9cdd3966e *** empty log message *** 2004-04-15 00:53:30 +00:00
Kevin Ryde
7f703e0d21 (min): Correction, test "documented? min" not "documented? max". 2004-04-15 00:52:48 +00:00
Kevin Ryde
2530518ea9 (max, min): Exercise some inum/frac, frac/inum,
big/frac, frac/big and frac/frac cases.
2004-04-15 00:50:49 +00:00
Kevin Ryde
a4ecff2d36 Add SIGSYS. 2004-04-15 00:47:02 +00:00
Kevin Ryde
e4bc5d6ca7 (scm_max, scm_min): For inum/frac, frac/inum, big/frac,
frac/big and frac/frac, use scm_less_p for exact comparison.
2004-04-15 00:44:19 +00:00
Kevin Ryde
05fa9121e9 *** empty log message *** 2004-04-15 00:38:30 +00:00
Kevin Ryde
597e2cbd13 (scm_string_trim, scm_string_trim_right, scm_string_trim_both):
Cast to unsigned char for isspace.
2004-04-15 00:29:03 +00:00