(scm_make_regexp): Free rx on error, to avoid memory leak.
[bpt/guile.git] / libguile / ChangeLog
CommitLineData
48a06bd5
KR
12004-07-10 Kevin Ryde <user42@zip.com.au>
2
3 * hash.c (scm_hashq, scm_hashv, scm_hash): Restrict to size>=1 rather
4 than size>=0, since 0<=hash<size cannot be satisfied for size==0, and
5 such a size causes divide-by-zeros in scm_hasher.
6
43240c9c
MV
72004-07-08 Marius Vollmer <marius.vollmer@uni-dortmund.de>
8
9 * numbers.c (scm_is_signed_integer, scm_is_unsigned_integer):
10 Rewritten using the same logic as scm_to_signed_integer and
11 scm_to_unsigned_integer, respectively, which is better(tm). Also,
12 use CHAR_BIT instead of hardcoding 8.
13 (LLONG_MIN, LLONG_MAX, ULLONG_MAX): Removed and used
14 SCM_I_LLONG_MIN etc. instead.
15
16 * numbers.h (SCM_MAKINUM, SCM_I_MAKINUM): Renamed SCM_MAKINUM to
17 SCM_I_MAKINUM and changed all uses.
18 * deprecated.h, deprecated.c (SCM_MAKINUM): Newly deprecated.
19
20 * gen-scmconfig.c: Instead of hard-coding the numbers, compute
21 them by assuming twos-complement.
22
c9eb03bb
MV
232004-07-07 Marius Vollmer <marius.vollmer@uni-dortmund.de>
24
25 * gen-scmconfig.h.in: Added all the new SCM_I_GSC_*_LIMITS that
26 configure now produces.
27 * gen-scmconfig.c: Use them to output SCM_T_INT8_MIN, etc
28 definitions, giving the limits of the integer types defined by
29 Guile. Also, output a hard coded SCM_I_LLONG_MIN, etc since
30 LLONG_MIN or LONG_LONG_MIN is hard to get at.
31
32 * numbers.h (scm_to_short, scm_to_ushort): It's SHRT_MIN, etc, not
33 SHORT_MIN.
34 (scm_to_size_t): Use SIZE_MAX instead of cooking our own.
35 (scm_to_long_long, scm_to_ulong_long, scm_to_int8, scm_to_uint8,
36 scm_to_int16, scm_to_uint16, scm_to_int32, scm_to_uint32,
37 scm_to_int64, scm_to_uint64, scm_to_intmax, scm_to_uintmax,
38 scm_from_long_long, scm_from_ulong_long, scm_from_int8,
39 scm_from_uint8, scm_from_int16, scm_from_uint16, scm_from_int32,
40 scm_from_uint32, scm_from_int64, scm_from_uint64, scm_from_intmax,
41 scm_from_uintmax): New.
42
7888309b
MV
432004-07-06 Marius Vollmer <marius.vollmer@uni-dortmund.de>
44
45 * tags.h (scm_is_eq): New.
46
47 * deprecated.h, boolean.h (SCM_FALSEP, SCM_NFALSEP, SCM_BOOL,
48 SCM_NEGATE_BOOL, SCM_BOOLP): Deprecated by moving into
49 "deprecated.h". Replaced all uses with scm_is_false, scm_is_true,
50 scm_from_bool, and scm_is_bool, respectively.
51
52 * boolean.h (scm_is_bool): Fix bug in prototype.
53 (scm_from_bool): The argument is "x" not "f", stupid.
54
55 * boolean.c (scm_is_bool): Fix typo.
56
57 * numbers.h, numbers.c (scm_is_integer, scm_is_signed_integer,
58 scm_is_unsigned_integer, scm_to_signed_integer,
59 scm_to_unsigned_integer, scm_to_schar, scm_to_uchar, scm_to_char,
60 scm_to_short, scm_to_ushort, scm_to_long, scm_to_ulong,
61 scm_to_size_t, scm_to_ssize_t, scm_from_schar, scm_from_uchar,
62 scm_from_char, scm_from_short, scm_from_ushort, scm_from_int,
63 scm_from_uint, scm_from_long, scm_from_ulong, scm_from_size_t,
64 scm_from_ssize_t, scm_is_real, scm_to_double, scm_from_double):
65 New.
66
800570a6
MV
672004-07-05 Marius Vollmer <marius.vollmer@uni-dortmund.de>
68
69 * boolean.h, boolean.c (scm_is_true, scm_is_false, scm_from_bool,
70 scm_to_bool): New.
71
9fcf3cbb
DH
722004-06-27 Dirk Herrmann <dirk@dirk-herrmanns-seiten.de>
73
74 * backtrace.c (display_expression, display_frame): Call
75 scm_i_unmemoize_expr for unmemoizing a memoized object holding a
76 single memoized expression.
77
78 * debug.c (memoized_print): Don't try to unmemoize the memoized
79 object, since we can't know whether it holds a single expression
80 or a body.
81
82 (scm_mem_to_proc): Removed check for lambda expression, since it
83 was moot anyway. Whoever uses these functions for debugging
84 purposes should know what they do: Creating invalid memoized code
85 will cause crashes, independent of whether this check is present
86 or not.
87
88 (scm_proc_to_mem): Take the closure's code as it is and don't
89 append a SCM_IM_LAMBDA isym. To allow easier debugging, the
90 memoized code should not be modified.
91
92 * debug.[ch] (scm_unmemoize, scm_i_unmemoize_expr): Removed
93 scm_unmemoize from public use, but made scm_i_unmemoize_expr
94 available as a guile internal function instead. However,
95 scm_i_unmemoize_expr will only work on memoized objects that hold
96 a single memoized expression. It won't work with bodies.
97
98 * debug.c (scm_procedure_source), macros.c (macro_print), print.c
99 (scm_iprin1): Call scm_i_unmemocopy_body for unmemoizing a body,
100 i. e. a list of expressions.
101
102 * eval.c (unmemoize_exprs): Drop internal body markers from the
103 output during unmemoization.
104
105 * eval.[ch] (scm_unmemocopy, scm_i_unmemocopy_expr,
106 scm_i_unmemocopy_body): Removed scm_unmemocopy from public use,
107 but made scm_i_unmemocopy_expr and scm_i_unmemocopy_body available
108 as guile internal functions instead. scm_i_unmemoize_expr will
109 only work on a single memoized expression, while
110 scm_i_unmemocopy_body will only work on bodies.
111
90df793f
DH
1122004-06-21 Dirk Herrmann <dirk@dirk-herrmanns-seiten.de>
113
114 * eval.c (unmemoize_exprs): Handle semi-memoized code.
115
116 (scm_cons_source, scm_primitive_eval): Prefer higher level
117 predicate SCM_FALSEP over SCM_IMP.
118
8048c00b
RB
1192004-06-15 Rob Browning <rlb@defaultvalue.org>
120
121 * script.c (scm_shell_usage): minor phrasing change.
122
123 * gc_os_dep.c: update ifdefery for macosx.
124 (scm_get_stack_base): separate result initialization from
125 declaration to slience warnings with macosx and hp-ux using gcc
126