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