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