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