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