* guile-test: Use (ice-9 and-let-star) instead of (ice-9
[bpt/guile.git] / libguile / ChangeLog
CommitLineData
cb0d8be2
DH
12001-02-08 Dirk Herrmann <D.Herrmann@tu-bs.de>
2
3 * strings.h (SCM_STRING_MAX_LENGTH): New macro.
4
5 * strings.c (scm_makstr, scm_take_str, scm_make_string): Added
6 range checking for the size parameter. Thanks to Martin
7 Grabmueller for the hint.
8
9 (scm_makstr): Reordered string initialization to make interrupt
10 deferring unnecessary.
11
12 * vectors.c (scm_make_vector): Fixed range checking.
13
e382fdbe
DH
142001-02-08 Dirk Herrmann <D.Herrmann@tu-bs.de>
15
16 * vectors.h (SCM_VECTOR_MAX_LENGTH): New macro.
17
18 * vectors.c (scm_make_vector, scm_c_make_vector): Improved the
19 checking of the size parameter for type correctness and valid
20 range. Thanks to Rob Browning for reporting the problem. Instead
21 of deferring interrupts, scm_remember_upto_here_1 is used.
22
bf8f0922
KN
232001-02-05 Keisuke Nishida <kxn30@po.cwru.edu>
24
25 * dump.c (scm_store_cell_object, scm_restore_cell_object): Removed.
26 (scm_dump_cell_update): Removed.
27 (scm_dump_update): Renamed from scm_dump_object_update.
28 (scm_restore_string, scm_restore_bytes, scm_restore_word): Takes
29 a pointer instead of returning a value.
30 * keywords.c (keyword_undump): Updated.
31
914cceec
KN
322001-02-05 Keisuke Nishida <kxn30@po.cwru.edu>
33
34 * dump.c, dump.h: Modified a lot.
5f17c66f 35 (SCM_DUMP_COOKIE): Version 0.1
914cceec
KN
36 (scm_dump_mark): Removed.
37 (scm_restore_cell_object, scm_store_cell_object): New functions.
38
39 * smob.h (scm_smob_descriptor): Removed slots: dump_mark,
40 dump_dealloc, dump_store, undump_alloc, undump_restore, undump_init.
41 New slots: dump, undump.
42 * smob.c (scm_make_smob_type, scm_set_smob_dump, scm_set_smob_undump):
43 Updated.
44
45 * keywords.c (keyword_dump): Renamed from keyword_dealloc.
46 (keyword_undump): Renamed from keyword_alloc.
47 (scm_init_keywords): Set keyword_dump and keyword_undump.
48
ecf470a2
ML
492001-02-03 Michael Livshin <mlivshin@bigfoot.com>
50
51 * gc.c (DOUBLECELL_ALIGNED_P): new macro, a better-named analog of
52 the deprecated SCM_DOUBLE_CELLP.
53
54 * tags.h (SCM_DOUBLE_CELLP): deprecated.
55
03416a99
KN
562001-02-02 Keisuke Nishida <kxn30@po.cwru.edu>
57
58 * dump.c, dump.h: New files.
59 * Makefile.am: Added dump.c, dump.h, dump.x, dump.doc.
60 * init.c: #include "libguile/dump.h".
61 (scm_init_guile_1): Call scm_init_dump.
62 * smob.h (scm_smob_descriptor): New slots: dump_mark,
63 dump_dealloc, dump_store, undump_alloc, undump_restore,
64 undump_init.
65 * smob.c (scm_make_smob_type): Init the new slots.
66 (scm_set_smob_dump, scm_set_smob_undump): New functions.
67 * smob.h (scm_set_smob_dump, scm_set_smob_undump): Declared.
68
69 * keywords.c: #include "libguile/dump.h".
70 (keyword_dealloc, keyword_alloc): New functions.
71 (scm_init_keywords): Set smob_dump and smob_undump.
72
00ffa0e7
KN
732001-02-01 Keisuke Nishida <kxn30@po.cwru.edu>
74
75 * vectors.c (scm_c_make_vector): New function.
76 * vectors.h (scm_c_make_vector): Declared.
77 * eval.c (scm_copy_tree), filesys.c (scm_stat2scm), fluids.c
78 (scm_make_initial_fluids, grow_fluids), gc.c (scm_init_storage),
79 gh_data.c (gh_ints2scm, gh_doubles2scm): goops.c
80 (scm_make_method_cache, scm_i_vector2list,
81 scm_compute_applicable_methods, scm_sys_method_more_specific_p),
82 init.c (start_stack), net_db.c (scm_gethost, scm_getnet,
83 scm_getproto, scm_return_entry), posix.c (scm_getgroups,
84 scm_getpwuid, scm_getgrgid, scm_uname), print.c (make_print_state,
85 grow_ref_stack), regex-posix.c (scm_regexp_exec), scmsigs.c
86 (scm_init_scmsigs), socket.c (scm_addr_vector, scm_addr_vector),
87 stime.c (scm_times, filltime), unif.c (scm_make_uve), vectors.c
88 (scm_vector, scm_make_vector): Use scm_c_make_vector.
89
90 * hashtab.c (scm_c_make_hash_table): New function.
91 * hashtab.h (scm_c_make_hash_table): Declared.
92 * environments.c (scm_make_leaf_environment,
93 scm_make_eval_environment), gc.c (scm_init_storage),
94 keywords.c (scm_init_keywords), symbols.c (scm_builtin_bindings):
95 Use scm_c_make_hash_table.
96
b8446ce8
MD
972001-01-31 Mikael Djurfeldt <mdj@linnaeus.mit.edu>
98
99 * unif.c (rapr1): Don't apply scm_uniform_vector_length on arrays.
100
e3239868
DH
1012001-01-29 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
102
103 * struct.c (scm_make_vtable_vtable): Removed unnecessary "" from
104 end of docstring.
105
106 * struct.c (scm_struct_set_x, scm_struct_vtable_tag,
107 scm_struct_vtable_name, scm_set_struct_vtable_name_x), weaks.c
108 (scm_make_weak_value_hash_table, scm_make_doubly_weak_hash_table,
109 scm_weak_value_hash_table_p, scm_doubly_weak_hash_table_p),
110 srcprop.c (scm_source_properties, scm_set_source_properties_x,
111 scm_source_property, scm_set_source_property_x), sort.c
112 (scm_sort_list_x, scm_restricted_vector_sort_x, scm_sorted_p,
113 scm_merge, scm_merge_x, scm_sort_x, scm_sort, scm_stable_sort_x,
114 scm_stable_sort, scm_sort_list_x, scm_sort_list): Added
115 docstrings.
116
41ee56dd
MD
1172001-01-29 Mikael Djurfeldt <mdj@linnaeus.mit.edu>
118
119 * eval.c (SCM_APPLY): Check that primitives which take 1 arg
120 really get that arg.
121
b6311c08
KN
1222001-01-26 Keisuke Nishida <kxn30@po.cwru.edu>
123
124 * goops.c (s_scm_get_keyword): Bug fix.
125
a49af0c0
DH
1262001-01-26 Dirk Herrmann <D.Herrmann@tu-bs.de>
127
128 The following patch was sent by Martin Grabmueller. It makes sure
129 that in case of parameter errors the correct function name is
130 shown, and that parameter types are only checked once.
131
132 * strop.c (string_copy, string_upcase_x, string_downcase_x,
133 string_capitalize_x): New functions. Each one performs the core
134 functionality of the corresponding scm_* function.
135
136 (scm_string_copy, scm_string_upcase_x, scm_string_upcase,
137 scm_string_downcase_x, scm_string_downcase,
138 scm_string_capitalize_x, scm_string_capitalize): Reduced to
139 parameter checking wrappers of the above functions.
140
13070bd3
DH
1412001-01-26 Dirk Herrmann <D.Herrmann@tu-bs.de>
142
143 * continuations.c, dynl.c, keywords.c, load.c: Include
144 strings.h. Thanks to Bill Schottstaedt for the bug report.
145
2f2b390c
DH
1462001-01-25 Dirk Herrmann <D.Herrmann@tu-bs.de>
147
148 * backtrace.c (display_header): Make sure that line and column
149 information is shown independent of whether the port the code was
150 read from had an associated filename. Thanks to Martin
151 Grabmueller for providing this patch.
152
efa40607
DH
1532001-01-25 Dirk Herrmann <D.Herrmann@tu-bs.de>
154
155 * fports.[ch] (scm_file_port_p): New primitive.
156
a98bddfd
DH
1572001-01-25 Dirk Herrmann <D.Herrmann@tu-bs.de>
158
159 * tags.h (scm_tc16_fport, scm_tc16_strport, scm_tc16_sfport):
160 These are now defined in fports.c, strports.c and vports.c.
161
162 * fports.[ch] (scm_tc16_fport), strports.c (scm_tc16_strport),
163 vports.c (scm_tc16_sfport): Made variables (were macros defined in
164 tags.h).
165
166 fports.c (scm_make_fptob), strports.c (scm_make_stptob), vports.c
167 (scm_make_sfptob): Made static. These return a type code now.
168
169 fports.c (scm_init_fports), strports.c (scm_init_strports),
170 vports.c (scm_init_vports): Create the corresponding port types.
171
172 * fports.h (SCM_FPORTP, SCM_OPFPORTP, SCM_OPINFPORTP,
173 SCM_OPOUTFPORTP): Redefined in terms of scm_tc16_fport.
174
175 * init.c (scm_init_guile_1): Make sure strports are initialized
176 before gdbint.
177
178 * ports.[ch] (scm_make_port_type): Changed the return type to
179 scm_bits_t.
180
181 * ports.c (scm_ports_prehistory): Don't create any port types
182 here.
183
184 * posix.c (scm_ttyname): Use SCM_FPORTP instead of comparing
185 against scm_tc16_fport directly.
186
0419a528
DH
1872001-01-25 Dirk Herrmann <D.Herrmann@tu-bs.de>
188
189 * srcprop.c (scm_set_source_property_x): Fix to handle
190 (set-source-property! <obj> 'copy <datum>) correctly.
191
6d36532c
GH
1922001-01-24 Gary Houston <ghouston@arglist.com>
193
194 * filesys.c (scm_link): docstring fix.
195 * fports.h (scm_setfileno): obsolete declaration removed.
196 * posix.c: bogus popen declaration removed.
197
198 * rdelim.c: new file, split from ioext.c.
199 * rdelim.h: new file, split from ioext.h
200 * Makefile.am: add rdelim.c and related files.
201 * init.c: call scm_init_rdelim. include rdelim.h.
202
3ba5a6c2
DH
2032001-01-24 Dirk Herrmann <D.Herrmann@tu-bs.de>
204
205 This patch was sent by Martin Grabmueller and makes sure that
206 parameter errors are reported correctly by the lexicographic
207 ordering predicates.
208
209 * strorder.c (string_less_p, string_ci_less_p): New functions.
210
211 (scm_string_less_p, scm_string_ci_less_p): Extracted the core
212 functionality into string_less_p, string_ci_less_p respectively.
213 The remaining code is just a wrapper to do the parameter
214 checking.
215
216 (scm_string_leq_p, scm_string_gr_p, scm_string_geq_p): Check the
217 parameters and call string_less_p instead of scm_string_less_p.
218
219 (scm_string_ci_leq_p, scm_string_ci_gr_p, scm_string_ci_geq_p):
220 Check the parameters and call string_less_ci_p instead of
221 scm_string_ci_less_p.
222
e40a4095
DH
2232001-01-24 Dirk Herrmann <D.Herrmann@tu-bs.de>
224
ed6a2db9
DH
225 This patch modifies scm_display_error to perform parameter
226 checking. Thanks to Neil Jerram for the bug report.
227
e40a4095
DH
228 * backtrace.[ch] (scm_i_display_error): New function.
229
230 * backtrace.c (scm_display_error): Added parameter check and
231 extracted the core functionality into function
232 scm_i_display_error.
233
234 * throw.c (handler_message): Call scm_i_display_error to display
235 the error message.
236
f1e06a96
MD
2372001-01-23 Mikael Djurfeldt <mdj@linnaeus.mit.edu>
238
239 * eval.c (SCM_APPLY): Added # args check for application of
240 procedures with arity 3. (Thanks to Anders Holst.)
241
30ea841d
DH
2422001-01-24 Dirk Herrmann <D.Herrmann@tu-bs.de>
243
244 * filesys.h (SCM_DIR_FLAG_OPEN, SCM_DIR_OPEN_P): Added.
245
246 (SCM_OPDIRP): Deprecated.
247
248 * filesys.c (scm_opendir): Use SCM_DIR_FLAG_OPEN instead of
249 SCM_OPN.
250
251 (scm_readdir, scm_rewinddir): Don't use SCM_VALIDATE_OPDIR.
252 Instead, give an explicit error message in case the directory is
253 closed.
254
255 (scm_closedir, scm_dir_print): Rewritten to use SCM_DIR_OPEN_P
256 instead of SCM_OPENP and SCM_CLOSEDP.
257
258 * validate.h (SCM_VALIDATE_OPDIR): Deprecated.
259
312ae976
DH
2602001-01-22 Dirk Herrmann <D.Herrmann@tu-bs.de>
261
262 * eval.c (inner_eval, scm_eval): Move all real functionality into
263 inner_eval. Avoid to copy the expression twice by inlining some
264 code from scm_i_eval.
265
4567ed78
DH
2662001-01-19 Dirk Herrmann <D.Herrmann@tu-bs.de>
267
268 * eval.c (scm_m_case): The 'else' clause of a 'case' statement
269 now has to be the last clause, as required by R5RS. Thanks to
270 Martin Grabmueller for the patch.
271
10288a09
GH
2722001-01-18 Gary Houston <ghouston@arglist.com>
273
274 * ioext.c: further simplify scm_read_string_x_partial by defining
275 a macro SCM_EBLOCK.
276
8f379a8f
DH
2772001-01-18 Dirk Herrmann <D.Herrmann@tu-bs.de>
278
279 * gh_data.c (gh_ints2scm): Simplified using SCM_FIXABLE.
280
5c75b29f
DH
2812001-01-18 Dirk Herrmann <D.Herrmann@tu-bs.de>
282
283 * __scm.h: Added comment about architecture and compiler
284 properties that are required by guile.
285
286 (SCM_FIXNUM_BIT, SCM_MOST_POSITIVE_FIXNUM,
287 SCM_MOST_NEGATIVE_FIXNUM): Moved to numbers.h.
288
289 (SCM_CHAR_BIT, SCM_LONG_BIT): Moved here from numbers.h.
290
291 * numbers.h (SCM_CHAR_BIT, SCM_LONG_BIT): Moved to __scm.h.
292
293 (SCM_FIXNUM_BIT, SCM_MOST_POSITIVE_FIXNUM,
294 SCM_MOST_NEGATIVE_FIXNUM): Moved here from __scm.h.
295
ac0c002c
DH
2962001-01-17 Dirk Herrmann <D.Herrmann@tu-bs.de>
297
298 * __scm.h (SCM_FIXNUM_BIT): Added. The name is chosen in analogy
299 to the names in limits.h.
300
301 * numbers.c (abs_most_negative_fixnum): Added.
302
303 (scm_quotient, scm_remainder): Fixed the fixnum-min / (abs
304 fixnum-min) special case.
305
306 (scm_big_and): Fix for negative first parameter.
307
308 (scm_bit_extract): Fix for fixnum paramters.
309 Thanks to Rob Browning for the bug report.
310
311 (scm_init_numbers): Initialize abs_most_negative_fixnum.
312
debe0dc2
DH
3132001-01-16 Dirk Herrmann <D.Herrmann@tu-bs.de>
314
315 * symbols.c (scm_symbol_bound_p): Fixed comment.
316 Thanks to Chris Cramer.
317
8a39e3fc
DH
3182001-01-15 Dirk Herrmann <D.Herrmann@tu-bs.de>
319
320 * smob.[ch] (scm_make_smob_type): Return type is scm_bits_t now.
321 Thanks to Bill Schottstaedt.
322
322ec19d
ML
3232001-01-11 Michael Livshin <mlivshin@bigfoot.com>
324
325