Use new vector elements API or simple vector API, as appropriate.
[bpt/guile.git] / libguile / ChangeLog
Content-type: text/html HCoop Git - bpt/guile.git/blame - libguile/ChangeLog


500 - Internal Server Error

Malformed UTF-8 character (fatal) at (eval 8) line 1, <$fd> line 780.
CommitLineData
0336d18b
MV
12004-12-29 Marius Vollmer <mvo@zagadka.de>
2
3 No longer use creators to specify the type of an array. Creators
4 expose the fact that arrays are wrapped around vectors, but that
5 might change.
6
7 * srfi-4.h (scm_i_proc_make_u8vector, scm_i_proc_make_s8vector,
8 scm_i_proc_make_u16vector, scm_i_proc_make_s16vector,
9 scm_i_proc_make_u32vector, scm_i_proc_make_s32vector,
10 scm_i_proc_make_u64vector, scm_i_proc_make_s64vector,
11 scm_i_proc_make_f32vector, scm_i_proc_make_f64vector,
12 scm_i_proc_make_c32vector, scm_i_proc_make_c64vector,
13 uvec_proc_vars): Removed.
14 (scm_i_generalized_vector_creator): Removed.
15 (scm_i_generalized_vector_type): New.
16
17 * unif.h, unif.c (scm_typed_array_p, scm_make_array,
18 scm_make_typed_array, scm_array_type, scm_list_to_array,
19 scm_list_to_typed_array, scm_is_array, scm_is_typed_array): New.
20 (scm_array_creator): Removed.
21 (scm_array_p): Deprecated second PROT argument.
22 (scm_dimensions_to_uniform_array, scm_list_to_uniform_array):
23 Deprecated, reimplemented in terms of scm_make_typed_array and
24 scm_list_to_typed_array.
25 (scm_i_proc_make_vector, scm_i_proc_make_string,
26 scm_i_proc_make_bitvector): Removed.
27 (type_creator_table, init_type_creator_table, type_to_creator,
28 make_typed_vector): New.
29 (scm_i_convert_old_prototype): Removed.
30 (prototype_to_type): New.
31 (scm_make_uve): Deprecated, reimplemented using make_typed_vector.
32 (scm_array_dimensions): Use scm_list_1 instead of scm_cons for
33 minor added clarity.
34 (scm_make_shared_array, scm_ra2contig): Use make_typed_vector
35 instead of scm_make_uve.
36 (tag_creator_table, scm_i_tag_to_creator): Removed.
37 (tag_to_type): New.
38 (scm_i_read_array): Use scm_list_to_typed_array instead of
39 scm_list_to_uniform_array.
40
277e8472
MV
412004-12-27 Marius Vollmer <mvo@zagadka.de>
42
32b26202
MV
43 * unif.h, unif.c (scm_bitvector_elements): Made return value "const".
44 (scm_bitvector_writable_elements): New.
45 (scm_bitvector_release, scm_bitvector_release_elements):
46 Renamed former to latter. Added explicit call to
47 scm_remember_upto_here_1.
48 (scm_frame_bitvector_release,
49 scm_frame_bitvector_release_elements): Renamed former to latter.
50 (scm_bitvector_release_writable_elements,
51 scm_bitvector_release_writable_elements): New.
52 Changed all uses as required by the changes above.
53
54 * srfi-4.h, srfi-4.c, srfi-4.i.c (scm_uniform_vector_elements,
55 scm_u8vector_elements, etc): Made return value "const".
56 (scm_uniform_vector_writable_elements,
57 scm_u8vector_writable_elements, etc): New.
58 (scm_uniform_vector_release, scm_uniform_vector_release_elements):
59 Renamed former to latter. Added explicit call to
60 scm_remember_upto_here_1.
61 (scm_frame_uniform_vector_release,
62 scm_frame_uniform_vector_release_elements): Renamed former to latter.
63 (scm_uniform_vector_release_writable_elements,
64 scm_frame_uniform_vector_release_writable_elements): New. Takes
65 crown of longest identifier yet.
66 Changed all uses as required by the changes above.
67
277e8472
MV
68 * vectors.h, vectors.c (scm_c_vector_set_x): Make return type
69 void.
70 (scm_is_vector, scm_vector_p, scm_vector_length,
71 scm_c_vector_length, scm_vector_ref, scm_c_vector_ref,
72 scm_vector_set_x, scm_c_vector_set_x, scm_vector_to_list,
73 scm_vector_move_left_x, scm_vector_move_right_x,
74 scm_vector_fill_x): handle one-dimensional arrays.
32b26202
MV
75 (scm_vector_elements, scm_vector_release_elements,
76 scm_vector_frame_release_elements, scm_vector_writable_elements,
77 scm_vector_release_writable_elements,
78 scm_vector_frame_release_writable_elements): New.
79 (scm_list_to_vector, scm_vector_to_list, scm_vector_fill,
80 scm_vector_move_left_x, scm_vector_move_right_x): Use them.
277e8472
MV
81
82 * ramap.c (scm_ramapc, scm_raeql): Use
83 scm_c_generalized_vector_length instead of
84 scm_uniform_vector_length.
85 (scm_ramap, rafe): Use scm_c_vector_ref instead of SCM_VELTS. use
86 scm_c_generalized_vector_ref instead of scm_uniform_vector_ref.
87
49c51610
MV
882004-12-23 Marius Vollmer <marius.vollmer@uni-dortmund.de>
89
90 * continuations.h, continuations.c (scm_t_contregs): New 'offset'
91 member for relocating debug frames.
92 (scm_make_continuation): Set it.
93
94 * stacks.c (read_frame, read_frames, scm_make_stack,
95 scm_last_stack_frame, scm_stack_id): Use the new 'offset' member
96 of continuations instead of calculating the offset ourselves.
97 Relocate 'vect' member of scm_t_debug_frame.
98
3b2ee265
KR
992004-12-16 Kevin Ryde <user42@zip.com.au>
100
101 * ramap.c (scm_array_map_x): Check for at least one source argument.
102
e120686a
KR
1032004-12-14 Kevin Ryde <user42@zip.com.au>
104
105 * srfi-13.c (string-any, string-every): Use a scheme wrapper around
106 the C code so for the final call to the predicate procedure is a tail
107 call, per SRFI-13 spec.
108
680b5237
KR
1092004-12-10 Kevin Ryde <user42@zip.com.au>
110
111 * eq.c (scm_eq_p, scm_eqv_p, scm_equal_p): Update docstrings from
112 recent revision to the reference manual.
113
114 * numbers.c (scm_modulo): Amend fixme comment about negative divisor
115 with "%", C99 says it's well-defined.
116
117 * socket.c (scm_from_ipv6): Just use mpz_import. Don't bother trying
118 to fit scm_from_ulong_long, since that uses mpz_import anyway. Don't
119 bother trying to fit scm_from_ulong, not really worth the trouble if
120 addresses are more than 4 bytes usually.
121
446d320c
KR
1222004-11-30 Kevin Ryde <user42@zip.com.au>
123
124 * gc_os_dep.c (NetBSD): Test __m68k__ and __arm__ as well as m68k and
125 arm32. Reported by Greg Troxel.
126
f2654760
MV
1272004-11-14 mvo <mvo@zagadka.de>
128
129 * unif.c, unif.h (scm_i_cvref): Made non-static for ramap.c.
130
131 * Makefile.am (INCLUDES): It is "@LTDLINCL@", not "@LTDLINC@".
132
d550e35f
MV
1332004-11-12 Marius Vollmer <marius.vollmer@uni-dortmund.de>
134
135 Enclosed arrays are now their own smob. This has been done to
136 make the code more explicit about them and to prepare for the time
f2654760
MV
137 when generalized vectors include arbitrary one-dimensional
138 arrays. (Uptonow, enclosed arrays have been recognized by their
139 use of an array as their storage 'vector'. When all generalized
140 vectors are allowed as storage, including one-dimensional arrays,
141 this will no longer work.)
d550e35f
MV
142
143 * unif.h, unif.c: (scm_tc16_enclosed_array, SCM_ENCLOSED_ARRAYP):
144 New.
145 (exactly_one_third, singp): Removed.
146 (scm_array_p, scm_array_dimensions, scm_shared_array_root,
147 scm_shared_array_offset, scm_shared_array_increments): Handle
148 enclosed arrays explicitely.
149 (scm_array_rank): Likewise. Also, do not return zero for
150 non-arrays, signal an error instead since arrays with rank zero do
151 exist.
152 (scm_i_make_ra): New, for specifying the tag of the new array.
153 (scm_make_enclosed_array): Use it.
154 (scm_make_ra): Reimplemented in terms of scm_i_make_ra.
155 (scm_make_shared_array): Use scm_c_generalized_vector_length
156 instead of scm_uniform_vector_length.
157 (scm_array_in_bounds_p): Rewritten to be much cleaner.
158 (scm_i_cvref): New, doing the job of scm_cvref.
159 (scm_cvref): Use scm_i_cvref.
160 (scm_array_ref): Do not accept non-arrays when no indices are
161 given. Use scm_i_cvref to do the actual access.
162 ("uniform-array-set1"): Do not register.
163 (scm_array_set_x, scm_uniform_array_read_x,
164 scm_uniform_array_write): Handle enclosed arrays explicitly.
165 (ra2l): Use scm_i_cvref instead of scm_uniform_vector_ref to also
166 handle enclosed arrays.
167 (scm_array_to_list): Handle enclosed arrays explicitly.
168 (rapr1): Removed.
169 (scm_i_print_array_dimension): Use scm_i_cvref to also handle
170 enclosed arrays.
171 (scm_i_print_enclosed_array): New.
172 (tag_proto_table, tag_creator_table): Renamed former to latter.
173 Added "a" and "b" for strings and bitvectors, resp.
174 (scm_i_tag_to_prototype, scm_i_tag_to_creator): Renamed former to
175 latter. Tag "a" is in the table now, no need to handle it as a
176 legacy tag.
177 (scm_raprin1): Just call scm_iprin1.
178 (scm_array_creator, scm_array_prototype): Handle enclosed arrays
179 explicitly.
180 (scm_init_unif): Initialize scm_tc16_enclosed_array smob.
181 Use scm_i_print_array as printer for scm_tc16_array.
182
2ed34885
MV
1832004-11-10 Marius Vollmer <mvo@zagadka.de>
184
823086c1
MV
185 * ramap.c (cind): Changed second arg to be pointer to long instead
186 of uniform vector.
187 (scm_ramapc): Allocate index vector with scm_malloc and not as
d550e35f 188 uniform vector. Wrap it in a frame so that it gets properly freed.
823086c1
MV
189 (scm_array_index_map_x): Likewise.
190
191 * unif.c: Changed all uses of scm_array_prototype to
192 scm_array_creator. (scm_i_get_old_prototype): Signal error when no
193 prototype is known.
194 (scm_uniform_array_read_x, scm_uniform_array_write): Reimplemented
195 in terms of scm_uniform_vector_read_x and
196 scm_uniform_vector_write, respectively. Strings and
197 bitvector support has been dropped.
198
2ed34885
MV
199 * srfi-4.h, srfi-4.c: Do not include <libguile.h>, include the
200 needed files directly. Include config.h, <unistd.h> and <io.h>
201 when available.
202 (scm_uniform_vector_read_x, scm_uniform_vector_write): New.
203
2c72f253
MV
2042004-11-09 Marius Vollmer <mvo@zagadka.de>
205
206 * gh_data.c (gh_uniform_vector_length): Properly use
207 scm_c_uniform_vector_length instead of scm_uniform_vector_length.
208
3cc0a296
MV
2092004-11-09 Marius Vollmer <marius.vollmer@uni-dortmund.de>
210
211 * srfi-4.h (scm_c_uniform_vector_ref, scm_c_uniform_vector_set_x):
212 New.
213 (scm_i_uniform_vector_creator): Removed.
214 (scm_i_generalized_vector_creator): New.
215 (scm_uniform_vector_length, scm_uniform_element_size): Do not
216 handle generalized vectors, only uniform numeric vectors.
217 (alloc_uvec): Do length check here...
218 (make_uvec): ...but not here.
219 (coerce_to_uvec): Use new generalized vector functions to handle
220 all kinds of vectors in one go.
221
222 * tags.h (scm_tc7_bvect): Renamed to scm_tc7_unused7, renaming the
223 remaining scm_tc7_unused tags to get a neatly ordered list.
224
225 * eq.c, evalext.c, gc-card.c, gc-mark.c, objects.c, print.c: Do no
226 longer handle scm_tc7_bvect bitvectors.
227
228 * ramap.c: Use the new generalized vector functions to handle all
229 vector like things.
230
231 * vectors.h, vectors.c (scm_is_vector, scm_c_vector_length,
232 scm_c_vector_ref, scm_c_vector_set_x, scm_generalized_vector_p,
233 scm_generalized_vector_length, scm_generalized_vector_ref,
234 scm_generalized_vector_set_x, scm_generalized_vector_to_list,
235 scm_is_generalized_vector, scm_c_generalized_vector_length,
236 scm_c_generalized_vector_ref, scm_c_generalized_vector_set_x):
237 New.
238
239 * unif.h, unif.c (scm_bitvector_p, scm_bitvector,
240 scm_make_bitvector, scm_bitvector_length, scm_bitvector_ref,
241 scm_bitvector_set_x, scm_list_to_bitvector, scm_bitvector_to_list,
242 scm_bitvector_fill_x, scm_is_bitvector, scm_c_make_bitvector,
243 scm_c_bitvector_length, scm_c_bitvector_ref,
244 scm_c_bitvector_set_x, scm_bitvector_elements,
245 scm_bitvector_release, scm_frame_bitvector_release,
246 scm_tc16_bitvector, bitvector_free, bitvector_print,
247 bitvector_equalp, count_ones, find_first_one): New.
248 (scm_bit_count, scm_bit_position, scm_bit_set_star_x,
249 scm_bit_count_star, scm_bit_invert_x, scm_istr2bve): Rewritten
250 using the new C API for bitvectors and maybe count_ones or
251 find_first_one, as appropriate.
252 (SCM_I_MAX_LENGTH, SCM_BITVECTOR_P, SCM_BITVECTOR_BASE,
253 SCM_SET_BITVECTOR_BASE, SCM_BITVECTOR_MAX_LENGTH,
254 SCM_BITVECTOR_LENGTH, SCM_MAKE_BITVECTOR_TAG,
255 SCM_SET_BITVECTOR_LENGTH): Removed. Replaced all uses with the
256 new functions from above.
257 (scm_i_proc_make_vector, scm_i_proc_make_string,
258 scm_i_proc_make_bitvector): Made non-static for use in
259 scm_i_generalized_vector_creator.
260 (scm_make_u1vector): Removed, replaced by scm_make_bitvector.
261 (scm_make_uve): Validate that the created object is a generalized
262 vector.
263 (scm_i_legacy_tag): Removed.
264 (scm_i_print_array): Do it here.
265 (scm_raprin1): Only print enclosed arrays.
266
267 * Makefile.am (DOT_DOC_FILES): Added srfi-4.doc.
268
c24d026b
MV
2692004-11-04 Marius Vollmer <marius.vollmer@uni-dortmund.de>
270
1f2328fe
MV
271 * srfi-4.c (make_uvec): Use SCM_I_SIZE_MAX instead of SIZE_MAX for
272 added portability.
273
274 * chars.c (scm_charnames, scm_charnums): Added "sp" as an alias
275 for "space". Thanks to Bruce Korb!
276
c24d026b
MV
277 * rw.c (scm_read_string_x_partial): Bugfix, apply offset to dest
278 only after dest has been set. Thanks to Hyper Division!
279
280 * gh_data.c (gh_uniform_vector_length): Use
281 scm_uniform_vector_length instead of SCM_UVECTOR_LENGTH.
282
d4ea47c8
MV
2832004-11-03 Marius Vollmer <mvo@zagadka.de>
284
285 * unif.h (SCM_UVECTOR_BASE, SCM_SET_UVECTOR_BASE,
286 SCM_UVECTOR_MAXLENGTH, SCM_UVECTOR_LENGTH, SCM_MAKE_UVECTOR_TAG,
287 SCM_SET_UVECTOR_LENGTH): Removed.
288
236288e2
MV
2892004-11-02 Marius Vollmer <mvo@zagadka.de>
290
291