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