Commit | Line | Data |
---|---|---|
bc721aa2 KR |
1 | 2005-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 |
11 | 2005-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 |
17 | 2005-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 |
22 | 2005-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 |
71 | 2005-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 |
85 | 2005-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 |
105 | 2005-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 |
112 | 2005-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 |
118 | 2005-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 |
123 | 2005-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 |
134 | 2005-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 |
149 | 2005-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 |
158 | 2005-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 |
165 | 2005-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 |
170 | 2005-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 |
185 | 2005-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 |
191 | 2005-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 |
214 | 2005-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 |
223 | 2005-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 |
244 | 2005-05-11 Neil Jerram <neil@ossau.uklinux.net> |
245 | ||
246 |