Use scm_from_bool instead of SCM_BOOL. Thanks to Peter Gavin!
[bpt/guile.git] / libguile / ChangeLog
CommitLineData
bc721aa2
KR
12005-08-06 Kevin Ryde <user42@zip.com.au>
2
3 * srfi-13.c (scm_string_any, scm_string_every, scm_string_tabulate,
4 scm_string_trim, scm_string_trim_right, scm_string_trim_both,
5 scm_string_index, scm_string_index_right, scm_string_skip,
6 scm_string_skip_right, scm_string_count, scm_string_map,
7 scm_string_map_x, scm_string_for_each, scm_string_for_each_index,
8 scm_string_filter, scm_string_delete): Use scm_t_trampoline_1 for
9 procedures called in loops.
10
126c81db
KR
112005-08-02 Kevin Ryde <user42@zip.com.au>
12
13 * strports.c (st_flush): Increase buffer by 1.5x when growing, to
14 avoid lots of copying where previoulsy growing by only 80 bytes at a
15 time.
16
7f278dc6
MV
172005-08-01 Marius Vollmer <mvo@zagadka.de>
18
19 * modules.h, modules.c (scm_eval_closure_module): Removed, we
20 already have scm_lookup_closure_module, which does the same thing.
21
cb5c4b07
MV
222005-08-01 Marius Vollmer <mvo@zagadka.de>
23
24 New marking algorithm for weak hashtables that fixes the problem
25 that references from the non-weak value to the associated weak
26 key (for example) would prevent the entry from ever being dropped.
27
28 Guardians have been changed back to their original semantics and
29 are no longer greedy and no longer drop cycles.
30
31 * gc-mark.c (scm_mark_all): Do not rely on hooks to run the weak
32 hashtable and guardian machinery but call the relevant functions
33 directly.
34
35 * guardians.h, guardians.c, deprecated.h,
36 deprecated.c (scm_destroy_guardian_x, scm_guardian_greedy_p,
37 scm_guardian_destroyed_p, scm_guard, scm_get_one_zombie):
38 Deprecated and moved into deprecated.[ch].
39
40 * guardians.h, guardians.c: Mostly rewritten.
41 (scm_i_init_guardians_for_gc,
42 scm_i_identify_inaccessible_guardeds,
43 scm_i_mark_inaccessible_guardeds): New.
930888e8 44 (scm_make_guardian): Removed greedy_p argument.
cb5c4b07
MV
45
46 * weaks.h, weaks.c (SCM_I_WVECT_TYPE, SCM_I_SET_WVECT_TYPE): New.
47 (SCM_I_WVECT_N_ITEMS, SCM_I_SET_WVECT_N_ITEMS): New.
48 (SCM_WVECTF_NOSCAN, SCM_WVECT_NOSCAN_P): Removed.
49 (scm_weaks_prehistory): Removed.
50 (scm_i_init_weak_vectors_for_gc, scm_i_mark_weak_vector,
51 scm_i_mark_weak_vectors_non_weaks,
52 scm_i_remove_weaks_from_weak_vectors, scm_i_remove_weaks): New.
53 (scm_weak_vector_gc_init, scm_mark_weak_vector_spines,
54 scm_scan_weak_vectors): Removed.
55
56 * hashtab.h (scm_i_scan_weak_hashtables): New.
57 * hashtab.c (make_hash_table, scm_i_rehash): Do not use
58 SCM_WVECTF_NOSCAN.
59 (hashtable_print): Use SCM_HASHTABLE_N_ITEMS instead of
60 t->n_items.
61 (scan_weak_hashtables, scm_i_scan_weak_hashtables): Renamed former
62 to latter. Do not scan the alists themselves, this is done by the
63 weak vector code now. Just update the element count.
64
65 * vectors.h (SCM_I_WVECT_TYPE, SCM_I_WVECT_EXTRA): Renamed former
66 to latter. The type is now only part of the cell word.
67 (SCM_I_SET_WVECT_TYPE, SCM_I_SET_WVECT_EXTRA): Likewise.
68
69 * init.c (scm_i_init_guile): Do not call scm_weaks_prehistory.
70
3e2073bd
MD
712005-07-18 Mikael Djurfeldt <mdj@d14n36.pdc.kth.se>
72
73 Some changes towards making it possible to run Guile on the EM64T
74 platform.
75
76 * gc.c (scm_gc_stats): Bugfix: Measure size of the type we are
77 mallocating for (unsigned long *bounds).
78
79 * hashtab.c (scm_i_rehash): Cast SCM_HASHTABLE_FLAGS (table) to
80 scm_t_bits before storing them in the type word.
81
82 * gc.c (tag_table_to_type_alist): Modified type of c_tag from
83 scm_t_bits to int.
84
e8ac8e75
KR
852005-07-12 Kevin Ryde <user42@zip.com.au>
86
87 * eval.c (scm_dbg_make_iloc): Should be SCM_IFRAMEMAX and
88 SCM_IDISTMAX, and cast uints through scm_t_bits to make gcc happy.
89 * pairs.c (scm_error_pair_access): Use scm_from_locale_string rather
90 than scm_makfrom0str.
91 Reported by Ken Raeburn.
92
93 * gc-card.c (scm_dbg_gc_get_bvec): Change return from long* to
94 scm_t_c_bvec_long*, gcc 4 doesn't like different pointer targets when
95 returning SCM_GC_CARD_BVEC.
96
97 * pairs.c (scm_error_pair_access): Plain ascii ' in error message
98 rather than latin-1 acute accent, the latter may not print on all
99 terminals.
100
101 * srfi-13.c (scm_string_filter, scm_string_delete): Strip leading and
102 trailing deletions, so as to return a substring if those are the only
103 changes.
104
adc0677d
KR
1052005-07-10 Kevin Ryde <user42@zip.com.au>
106
107 * socket.c (scm_inet_pton, scm_inet_ntop): Pointer cast to scm_t_uint8
108 for scm ipv6 funcs, gcc 4 is picky about char* vs uchar*.
109 (scm_getsockopt, scm_accept, scm_getsockname, scm_getpeername,
110 scm_recvfrom) Use socklen_t, gcc 4 is picky about int* vs socklen_t*.
111
8fecbb19
HWN
1122005-07-01 Han-Wen Nienhuys <hanwen@xs4all.nl>
113
114 * gc-card.c (scm_i_card_statistics): init tag.
115
116 * gc.c (tag_table_to_type_alist): check type of tag. Should be integer.
117
fc9c5d06
HWN
1182005-06-18 Han-Wen Nienhuys <hanwen@xs4all.nl>
119
8fecbb19
HWN
120 * fports.c (s_scm_open_file): add the b flag for binary to the doc
121 string.
fc9c5d06 122
08fce816
KR
1232005-06-25 Kevin Ryde <user42@zip.com.au>
124
125 * srfi-13.c (scm_string_filter, scm_string_delete): Partial revert
126 last change, use plain copy-on-write substrings, the individual
127 descriptions in the srfi don't mention shared storage (only the
128 introduction does).
129
130 * strings.c (scm_take_locale_stringn): Use realloc to make room for
131 null-terminator, rather than mallocing a whole new block.
132 (scm_take_locale_string): Use scm_take_locale_stringn len==-1.
133
fc4abd0e
MV
1342005-06-12 Marius Vollmer <mvo@zagadka.de>
135
e3da8a30
MV
136 * ramap.c (scm_array_index_map_x): First test for real arrays,
137 then check for generalized vectors. This ensures that the
138 generalized vector case need only work with zero-origin ranges.
12097c77
MV
139 (scm_ra_eqp, scm_ra_compare): Use the new array handle functions
140 to access the target array, making these functions work with all
141 kinds of arrays, not just bit arrays.
e3da8a30 142
fc4abd0e
MV
143 * gh.h, gh_data.c, gh_eval.c, gh_funcs.c, gh_init.c, gh_io.c,
144 gh_list.c, gh_predicates.c: Deprecated everything.
145
146 * environments.c (environment_default_folder,
147 environment_default_observer): Do not use gh_call3, gh_call1.
148
e4da0740
HWN
1492005-06-10 Han-Wen Nienhuys <hanwen@xs4all.nl>
150
151 * modules.c (s_scm_eval_closure_module): new function. Return the
152 module inside an eval-closure.
153
154 * gc.c (scm_init_storage): make scm_stand_in_procs a weak_key hash
155 table. This means that procedure properties are GC'd if the
156 procedure dies.
157
27667158
KR
1582005-06-11 Kevin Ryde <user42@zip.com.au>
159
160 * srfi-13.c (scm_string_filter, scm_string_delete): For char and
161 charset cases, count chars kept and build a string in a second pass,
162 rather than using a cons cell for every char kept. Use a shared
163 substring when nothing removed (such sharing is allowed by the srfi).
164
8a00ba71
HWN
1652005-06-09 Han-Wen Nienhuys <hanwen@xs4all.nl>
166
167 * gc.c (tag_table_to_type_alist): convert tag number to "tag %d"
168 string, so live object stats can be sorted with string<?.
169
a677679f
MV
1702005-06-06 Marius Vollmer <mvo@zagadka.de>
171
2ff668b0
MV
172 * print.c (iprin1): When writing a string, collect all characters
173 that can be printed directly into one call to scm_lfwrite.
174 Previously, every character was output with its own call to
175 write(2) on unbuffered ports.
176
589f22f6
MV
177 * eval.c (scm_eval_options_interface): Use
178 scm_frame_critical_section instead of SCM_CRITICAL_SECTION_START
179 and SCM_CRITICAL_SECTION_END.
180
a677679f
MV
181 * unif.c (scm_array_in_bounds_p): First test for real arrays, then
182 check for generalized vectors. This ensures that the generalized
183 vector case need only work with zero-origin ranges.
184
f8cda9ee
KR
1852005-06-06 Kevin Ryde <user42@zip.com.au>
186
187 * srfi-13.c (scm_string_split): Compare char/char in scan. Mixing an
188 unsigned int SCM_CHAR and a char string meant an 8-bit char was never
189 matched.
190
cdac1be4
MV
1912005-06-05 Marius Vollmer <mvo@zagadka.de>
192
6642f7ac
MV
193 * eval.c: Added comment on how to make case 1.1 of
194 r5rs_pitfall.test succeed.
195
cdac1be4
MV
196 From Jan Nieuwenhuizen <janneke@gnu.org>. Thanks!
197
198 * hashtab.h: Bugfix: use SCM_API (WAS: extern).
199
200 * socket.c: Remove obsolete comment about socklen_t.
201 (s_scm_setsockopt)[!HAVE_IP_MREQ]: Do not use ip_mreq code.
202
203 * numbers.h (isnan)[__MINGW32__]: Remove.
204
205 * Makefile.am (gen_scmconfig_SOURCES): Bugfix: Add
206 DEFAULT_INCLUDES when cross compiling.
207
208 * threads.c (ETIMEDOUT, pipe)[__MINGW32__]: Add defines.
209
a677679f 210 * stime.c (scm_strftime)[!HAVE_TM_ZONE]: Use
cdac1be4
MV
211 SCM_SIMPLE_VECTOR_REF instead of SCM_VELTS. (Changed slightly
212 from Jan's patch.)
213
9e664475
MV
2142005-05-22 Marius Vollmer <mvo@zagadka.de>
215
188d0c5e
MV
216 * unif.c (scm_make_shared_array): Add old base to new base since
217 scm_array_handle_pos does not include the base.
218 (scm_aind): Likewise.
219
9e664475
MV
220 * ports.c (scm_putc, scm_puts): Assert that the port argument is a
221 output port.
222
5a6d139b
NJ
2232005-05-12 Neil Jerram <neil@ossau.uklinux.net>
224
225 Mac OS X compile warning fixes, reported by Richard Todd.
226
227 * unif.c (scm_i_read_array): Declare rank as ssize_t, to guarantee
228 that it is signed.
229
230 * strports.c (st_resize_port): Add unsigned char cast.
231 (scm_mkstrport): Make read/write_buf cast unsigned.
232
233 * srfi-13.c (string_titlecase_x): Add unsigned char cast.
234
235 * rdelim.c (scm_read_line): Initialize slen.
236
237 * load.c (scm_search_path): Remove weird >=1, and add
238 parentheses to clarify conditions.
239
240 * hash.c (scm_hasher): Add const unsigned char cast.
241
242 * gh_data.c (gh_chars2byvect): Add scm_t_int8 cast.
243
b01532af
NJ
2442005-05-11 Neil Jerram <neil@ossau.uklinux.net>
245
246