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

5344 commits

Author SHA1 Message Date
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
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
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
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
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
Kevin Ryde
3702692567 *** empty log message *** 2004-05-01 21:51:03 +00:00
Kevin Ryde
0a9ea92c90 (scm_macroexp): Add prototype, since it's not in eval.h under
--disable-deprecated.  Reported by Andreas Vögele.
2004-05-01 21:49:44 +00:00
Kevin Ryde
c585459825 *** empty log message *** 2004-05-01 21:33:12 +00:00
Kevin Ryde
0dbfb25a64 (varargs.h): Remove, leave just stdarg.h which is all the
code has support for.  Fixes building with AIX cc, which is ansi but
doesn't define __STDC__.  Reported by Keith Crane.
(var_start): Remove macro, this variation no longer required.
(scm_list_n): Use va_start directly.
2004-05-01 21:32:03 +00:00
Kevin Ryde
00fbf1e047 More of:
(_POSIX_C_SOURCE): Define to 199506L to get readdir_r (in
particular on HP-UX).  Reported by Andreas Vögele.
2004-05-01 21:30:37 +00:00
Kevin Ryde
3cf17ef002 *** empty log message *** 2004-05-01 21:01:47 +00:00
Kevin Ryde
6d484a0be7 (_POSIX_C_SOURCE): Define to 199506L to get readdir_r (in
particular on HP-UX).  Reported by Andreas Vögele.
2004-05-01 21:00:41 +00:00
Kevin Ryde
f26c1a32ad *** empty log message *** 2004-04-30 23:45:25 +00:00
Kevin Ryde
5afcf08bb2 (scm_dynthrow): Use >= instead of SCM_PTR_GE which
is now gone.  Reported by Andreas Vögele.
2004-04-30 23:34:01 +00:00
Kevin Ryde
a0d06a004f *** empty log message *** 2004-04-28 00:17:45 +00:00
Kevin Ryde
dc30aad370 (scm_threads_mark_stacks): Correction sizet -> size_t.
Reported by Andreas Vögele.
2004-04-28 00:15:54 +00:00
Kevin Ryde
dfa6017ebe *** empty log message *** 2004-04-27 23:35:56 +00:00
Kevin Ryde
f93df18fea (display_frame_expr),
Cast char to int for
ctype.h tests, to avoid warnings from gcc on HP-UX about char as array
subscript.  Reported by Andreas Vögele.
Also cast through unsigned char to avoid passing negatives to those
macros if input contains 8-bit values.
2004-04-27 23:17:47 +00:00
Kevin Ryde
71df73ac43 numbers.c (XDIGIT2UINT,
mem2uinteger, mem2decimal_from_point, mem2ureal): Cast char to int for
ctype.h tests, to avoid warnings from gcc on HP-UX about char as array
subscript.  Reported by Andreas Vögele.
Also cast through unsigned char to avoid passing negatives to those
macros if input contains 8-bit values.
2004-04-27 23:16:17 +00:00
Kevin Ryde
70d31de900 (SCM_MUTEX_MAXSIZE): Increase to 25*sizeof(long),
for the benefit of hpux11 where pthread_mutex_t is 88 bytes.  Reported
by Andreas Vögele.
2004-04-27 22:59:04 +00:00
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
e8dde70d1f (VALIDATE_INET6): Correction to bignum_in_ipv6_range_p
call.  Reported by Hyperdivision.
2004-04-24 21:04:58 +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
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
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