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