1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-06 07:30:28 +02:00
Commit graph

5376 commits

Author SHA1 Message Date
Kevin Ryde
58f2898942 *** empty log message *** 2004-07-31 01:28:49 +00:00
Kevin Ryde
01046395ac (scm_copy_file): Avoid fd leak when destination file
cannot be opened.
2004-07-31 01:19:26 +00:00
Kevin Ryde
3572cd6b8f * error.c (scm_strerror): Use scm_i_misc_mutex around strerror since
it's not thread safe.
	(scm_syserror): Use scm_strerror rather than SCM_I_STRERROR, to take
	advantage of this.
	* fports.c (scm_open_file): Use scm_strerror likewise.
	* filesys.c (scm_stat, scm_lstat): Ditto.
2004-07-31 01:13:29 +00:00
Kevin Ryde
fd08c23657 * error.c (scm_strerror): Use scm_i_misc_mutex around strerror since
it's not thread safe.
	(scm_syserror): Use scm_strerror rather than SCM_I_STRERROR, to take
	advantage of this.
	* fports.c (scm_open_file): Use scm_strerror likewise.
2004-07-31 01:12:24 +00:00
Kevin Ryde
4af3c6f17c (scm_strerror): Use scm_i_misc_mutex around strerror since
it's not thread safe.
(scm_syserror): Use scm_strerror rather than SCM_I_STRERROR, to take
advantage of this.
2004-07-31 01:11:15 +00:00
Kevin Ryde
7426a638b7 (scm_gensym): Use scm_i_misc_mutex around gensym_counter
update, for thread safety.
(gensym_counter): Move into scm_gensym which is its only user.
(scm_init_symbols): No need to explicitly initialize gensym_counter.
2004-07-31 01:08:20 +00:00
Marius Vollmer
51fdb325b0 *** empty log message *** 2004-07-29 15:49:04 +00:00
Marius Vollmer
4627df5a6b * gen-scmconfig.c (SCM_SIZEOF_INTMAX, SCM_SIZEOF_SIZE_T): New. 2004-07-29 15:48:54 +00:00
Marius Vollmer
d1b5b4001e * numbers.h (scm_to_schar, scm_to_uchar, scm_to_char,
scm_to_short, scm_to_ushort, scm_to_int, scm_to_uint, scm_to_long,
scm_to_ulong, scm_to_long_long, scm_to_ulong_long, scm_to_intmax,
scm_to_uintmax, scm_to_size_t, scm_to_ssize_t scm_from_schar,
scm_from_uchar, scm_from_char, scm_from_short, scm_from_ushort,
scm_from_int, scm_from_uint, scm_from_long, scm_from_ulong,
scm_from_long_long, scm_from_ulong_long, scm_from_intmax,
scm_from_uintmax, scm_from_size_t, scm_from_ssize_t): No longer
defined in terms of scm_to_signed_integer, etc, but in terms of
scm_to_int8, etc.
2004-07-29 15:48:44 +00:00
Marius Vollmer
03696aab8c *** empty log message *** 2004-07-29 14:04:02 +00:00
Marius Vollmer
e88d45aa73 * __scm.h (SCM_I_UTYPE_MAX, SCM_I_TYPE_MAX, SCM_I_TYPE_MIN,
SCM_I_SIZE_MAX, SCM_I_SSIZE_MIN, SCM_I_SSIZE_MAX): New.

* __scm.h, gen-scmconfig.c (SCM_I_LLONG_MAX, SCM_I_LLONG_MIN,
SCM_I_ULLONG_MAX, SCM_T_INT8_MIN, SCM_T_INT8_MAX, SCM_T_UINT8_MAX,
SCM_T_INT16_MIN, SCM_T_INT16_MAX, SCM_T_UINT16_MAX,
SCM_T_INT32_MIN, SCM_T_INT32_MAX, SCM_T_UINT32_MAX,
SCM_T_INT64_MIN, SCM_T_INT64_MAX, SCM_T_UINT64_MAX,
SCM_T_INTMAX_MIN, SCM_T_INTMAX_MAX, SCM_T_UINTMAX_MAX): Moved
definition into __scm.h, using new SCM_I_TYPE_MIN, etc.
2004-07-29 14:03:40 +00:00
Marius Vollmer
d0fefc7de5 Removed SCM_I_GSC_*_LIMITS macros, they are no longer used. 2004-07-29 14:03:30 +00:00
Marius Vollmer
9d3ebce493 Added docs. 2004-07-29 13:54:15 +00:00
Marius Vollmer
7ff8176bdb (noinst_HEADERS): Added conv-integer.i.c and conv-uinteger.i.c. 2004-07-29 13:43:49 +00:00
Marius Vollmer
bfd7932e66 * conv-integer.i.c, conv-uinteger.i.c: New files, used to generate
the functions below.

* numbers.c, numbers.h (scm_to_int8, scm_to_uint8, scm_to_int16,
scm_to_uint16, scm_to_int32, scm_to_uint32, scm_to_int64,
scm_to_uint64, scm_from_int8, scm_from_uint8, scm_from_int16,
scm_from_uint16, scm_from_int32, scm_from_uint32, scm_from_int64,
scm_from_uint64): Turned from macros into proper functions.
(scm_to_signed_integer, scm_to_unsigned_integer,
scm_from_signed_integer, scm_from_unsigned_integer): Generate via
conv-integer.i.c and conv-uinteger.i.c, as well.
2004-07-29 13:42:50 +00:00
Kevin Ryde
1f15779e06 *** empty log message *** 2004-07-29 00:13:22 +00:00
Kevin Ryde
e8a590639c (scm_ttyname): Use scm_i_misc_mutex for thread safety. 2004-07-29 00:12:25 +00:00
Kevin Ryde
c3f3c841f0 *** empty log message *** 2004-07-27 23:38:20 +00:00
Kevin Ryde
eb16734d62 (scm_array_set_x): For svect, use scm_num2short for
consistency with other vector types and to get arg and func name into
error message.
2004-07-27 23:36:35 +00:00
Kevin Ryde
48360eb3ee *** empty log message *** 2004-07-27 23:11:33 +00:00
Kevin Ryde
0a9d83b0f4 (scm_ctermid): Use an L_ctermid buf on the stack, for thread safety. 2004-07-27 23:10:35 +00:00
Marius Vollmer
bc36d0502b * tags.h, deprecated.h (SCM_EQ_P): Deprecated by moving it into
deprecated.h.  Replaced all uses with scm_is_eq.
2004-07-27 15:41:49 +00:00
Marius Vollmer
c82f8ed66c *** empty log message *** 2004-07-27 15:40:07 +00:00
Marius Vollmer
68fb32d29c (SCM_EQ_P): Deprecated by moving it into
deprecated.h.  Replaced all uses with scm_is_eq.
2004-07-27 15:39:46 +00:00
Marius Vollmer
2ad58b2a89 * deprecated.h (SCM_FALSEP, SCM_NFALSEP, SCM_BOOLP, SCM_BOOL):
Reimplement using scm_is_false, scm_is_true, scm_is_bool, and
scm_from_bool, respectively.
(SCM_NINUMP): Added.

* tags.h, deprecated.h (SCM_EQ_P): Deprecated by moving it into
deprecated.h.  Replaced all uses with scm_is_eq.
2004-07-27 15:39:25 +00:00
Kevin Ryde
317b4c4ac1 *** empty log message *** 2004-07-24 00:26:09 +00:00
Kevin Ryde
33bea692e5 * threads.c, threads.h (scm_i_misc_mutex): New SCM_GLOBAL_MUTEX.
* posix.c (scm_crypt): Use it to protect static data in crypt().
2004-07-23 23:52:55 +00:00
Kevin Ryde
50dc184000 (scm_i_misc_mutex): New SCM_GLOBAL_MUTEX. 2004-07-23 23:51:58 +00:00
Marius Vollmer
e11e83f3d9 * deprecated.h, deprecated.c, numbers.h (SCM_INUMP, SCM_NINUMP,
SCM_INUM): Deprecated by reenaming them to SCM_I_INUMP, SCM_I_NINUMP
and SCM_I_INUM, respectively and adding deprecated versions to
deprecated.h and deprecated.c.  Changed all uses to either use the
SCM_I_ variants or scm_is_*, scm_to_*, or scm_from_*, as appropriate.
2004-07-23 15:43:02 +00:00
Marius Vollmer
928e0f4210 (scm_i_dowinds): Removed unused code that would call the unexisting
scm_cross_dynwind_binding_scope for inums on the windlist.
2004-07-23 15:34:07 +00:00
Marius Vollmer
3aa13a0579 (SCM_INUMP, SCM_NINUMP, SCM_INUM): Deprecated by reenaming them to
SCM_I_INUMP, SCM_I_NINUMP and SCM_I_INUM, respectively and adding
deprecated versions to deprecated.h and deprecated.c.  Changed all
uses to either use the SCM_I_ variants or scm_is_*, scm_to_*, or
scm_from_*, as appropriate.
2004-07-23 15:29:27 +00:00
Marius Vollmer
a55c2b6809 * validate.h, deprecated.h (SCM_VALIDATE_INUM, SCM_VALIDATE_INUM_COPY,
SCM_VALIDATE_BIGINT, SCM_VALIDATE_INUM_MIN,
SCM_VALIDATE_INUM_MIN_COPY,
SCM_VALIDATE_INUM_MIN_DEF_COPY,SCM_VALIDATE_INUM_DEF,
SCM_VALIDATE_INUM_DEF_COPY, SCM_VALIDATE_INUM_RANGE,
SCM_VALIDATE_INUM_RANGE_COPY): Deprecated because they make the
fixnum/bignum distinction visible.  Changed all uses to scm_to_size_t
or similar.
2004-07-10 14:35:36 +00:00
Marius Vollmer
7cee5b315a (ipv6_net_to_num, scm_from_ipv6): Renamed
ipv6_net_to_num to scm_from_ipv6, for converting from an IPv&
byte-wise address to a SCM integer.  Changed all uses.
(ipv6_num_to_net, scm_to_ipv6): Renamed ipv6_num_to_net to
scm_to_ipv6 and added type and range checking, for converting from
an IPv& byte-wise address to a SCM integer.  Changed all uses.
(bignum_in_ipv6_range_p, VALIDATE_INET6): Removed, their function
is now done by scm_to_ipv6.

* validate.h, deprecated.h (SCM_VALIDATE_INUM, SCM_VALIDATE_INUM_COPY,
SCM_VALIDATE_BIGINT, SCM_VALIDATE_INUM_MIN,
SCM_VALIDATE_INUM_MIN_COPY,
SCM_VALIDATE_INUM_MIN_DEF_COPY,SCM_VALIDATE_INUM_DEF,
SCM_VALIDATE_INUM_DEF_COPY, SCM_VALIDATE_INUM_RANGE,
SCM_VALIDATE_INUM_RANGE_COPY): Deprecated because they make the
fixnum/bignum distinction visible.  Changed all uses to scm_to_size_t
or similar.
2004-07-10 14:34:59 +00:00
Marius Vollmer
5efd3c7d68 (scm_to_signed_integer, scm_to_unsigned_integer): dot
not accept inexact integers.

* validate.h, deprecated.h (SCM_VALIDATE_INUM, SCM_VALIDATE_INUM_COPY,
SCM_VALIDATE_BIGINT, SCM_VALIDATE_INUM_MIN,
SCM_VALIDATE_INUM_MIN_COPY,
SCM_VALIDATE_INUM_MIN_DEF_COPY,SCM_VALIDATE_INUM_DEF,
SCM_VALIDATE_INUM_DEF_COPY, SCM_VALIDATE_INUM_RANGE,
SCM_VALIDATE_INUM_RANGE_COPY): Deprecated because they make the
fixnum/bignum distinction visible.  Changed all uses to scm_to_size_t
or similar.
2004-07-10 13:55:04 +00:00
Marius Vollmer
8805b77dd0 (SCM_VALIDATE_INUM, SCM_VALIDATE_INUM_COPY, SCM_VALIDATE_BIGINT,
SCM_VALIDATE_INUM_MIN, SCM_VALIDATE_INUM_MIN_COPY,
SCM_VALIDATE_INUM_MIN_DEF_COPY,SCM_VALIDATE_INUM_DEF,
SCM_VALIDATE_INUM_DEF_COPY, SCM_VALIDATE_INUM_RANGE,
SCM_VALIDATE_INUM_RANGE_COPY): Deprecated because they make the
fixnum/bignum distinction visible.  Changed all uses to scm_to_size_t
or similar.
2004-07-10 13:47:02 +00:00
Marius Vollmer
0f94980db9 Use scm_from_int instead of SCM_MAKINUM. 2004-07-10 13:42:18 +00:00
Marius Vollmer
a3de8e7b0f Forgot to list just what numbers are no longer hard-coded in gen-scmconfig.c 2004-07-10 00:16:34 +00:00
Kevin Ryde
052fbfd928 *** empty log message *** 2004-07-09 23:16:48 +00:00
Kevin Ryde
f8fc973725 (scm_make_regexp): Free rx on error, to avoid memory leak. 2004-07-09 23:15:28 +00:00
Kevin Ryde
48a06bd55d *** empty log message *** 2004-07-09 23:08:53 +00:00
Kevin Ryde
803d27f9d0 (scm_hashq, scm_hashv, scm_hash): Restrict to size>=1 rather
than size>=0, since 0<=hash<size cannot be satisfied for size==0, and
such a size causes divide-by-zeros in scm_hasher.
2004-07-09 22:08:43 +00:00
Marius Vollmer
93ccaef0c6 * numbers.h (SCM_MAKINUM, SCM_I_MAKINUM): Renamed SCM_MAKINUM to
SCM_I_MAKINUM and changed all uses.
2004-07-08 15:58:11 +00:00
Marius Vollmer
43240c9caf *** empty log message *** 2004-07-08 15:54:40 +00:00
Marius Vollmer
d956fa6f91 (scm_is_signed_integer, scm_is_unsigned_integer):
Rewritten using the same logic as scm_to_signed_integer and
scm_to_unsigned_integer, respectively, which is better(tm).  Also,
use CHAR_BIT instead of hardcoding 8.
(LLONG_MIN, LLONG_MAX, ULLONG_MAX): Removed and used
SCM_I_LLONG_MIN etc. instead.

* numbers.h (SCM_MAKINUM, SCM_I_MAKINUM): Renamed SCM_MAKINUM to
SCM_I_MAKINUM and changed all uses.
2004-07-08 15:54:05 +00:00
Marius Vollmer
5a572ca13c * numbers.h (SCM_MAKINUM, SCM_I_MAKINUM): Renamed SCM_MAKINUM to
SCM_I_MAKINUM and changed all uses.
* deprecated.h, deprecated.c (SCM_MAKINUM): Newly deprecated.
2004-07-08 15:41:48 +00:00
Marius Vollmer
d199059254 Instead of hard-coding the numbers, compute them by assuming
twos-complement.
2004-07-08 15:31:39 +00:00
Marius Vollmer
c9eb03bb73 *** empty log message *** 2004-07-07 15:27:21 +00:00
Marius Vollmer
22008a7804 (scm_to_short, scm_to_ushort): It's SHRT_MIN, etc, not SHORT_MIN.
(scm_to_size_t): Use SIZE_MAX instead of cooking our own.
(scm_to_long_long, scm_to_ulong_long, scm_to_int8, scm_to_uint8,
scm_to_int16, scm_to_uint16, scm_to_int32, scm_to_uint32,
scm_to_int64, scm_to_uint64, scm_to_intmax, scm_to_uintmax,
scm_from_long_long, scm_from_ulong_long, scm_from_int8,
scm_from_uint8, scm_from_int16, scm_from_uint16, scm_from_int32,
scm_from_uint32, scm_from_int64, scm_from_uint64, scm_from_intmax,
scm_from_uintmax): New.
2004-07-07 15:22:56 +00:00
Marius Vollmer
76bd98fa16 * gen-scmconfig.h.in: Added all the new SCM_I_GSC_*_LIMITS that
configure now produces.
* gen-scmconfig.c: Use them to output SCM_T_INT8_MIN, etc
definitions, giving the limits of the integer types defined by
Guile. Also, output a hard coded SCM_I_LLONG_MIN, etc since
LLONG_MIN or LONG_LONG_MIN is hard to get at.
2004-07-07 15:18:31 +00:00
Marius Vollmer
e5b8d4ddba Added all the new SCM_I_GSC_*_LIMITS that configure now produces. 2004-07-07 15:16:20 +00:00