* Turn some test's result into XFAIL instead of FAIL.
[bpt/guile.git] / libguile / ChangeLog
CommitLineData
6fe692e9
MD
12001-02-23 Mikael Djurfeldt <mdj@linnaeus.mit.edu>
2
3 * ports.c, ports.h (scm_c_read, scm_c_write): New functions.
4
5 * ports.h (SCM_READ_BUFFER_EMPTY_P): New macro.
6
27c37006
NJ
72001-02-24 Neil Jerram <neil@ossau.uklinux.net>
8
9 * numbers.c (scm_two_doubles, scm_sys_expt, scm_sys_atan2,
10 scm_make_polar): Rename arguments `z1' and `z2' to `x' and `y',
11 since use of `z' suggests that the arguments may be complex.
12
13 * goops.c (scm_make), numbers.c (scm_sys_expt): Fix docstring
14 typos.
15
2069af38
NJ
162001-02-23 Neil Jerram <neil@ossau.uklinux.net>
17
18 * dump.c (scm_binary_write, scm_binary_read), eval.c
19 (scm_primitive_eval), guardians.c (scm_guardian_destroyed_p,
20 scm_guardian_greedy_p, scm_make_guardian), fports.c
21 (scm_file_port_p): Minor docstring fixes.
22
b42ff180
MV
232001-02-22 Marius Vollmer <mvo@zagadka.ping.de>
24
2069af38 25 * load.c (load): Use scm_primitive_eval_x instead of scm_i_eval_x.
97ea55f8
MV
26
27 * goops.c (scm_add_method, DEFVAR): Use scm_eval instead of
28 scm_i_eval.
29 (make_class_from_template): Do not bother to set the current
30 module around the call to DEFVAR, scm_eval takes care of that.
31 (scm_init_goops): Make scm_module_goops and
32 scm_goops_lookup_closure permanent objects.
33
34 * eval.c (scm_ceval, scm_deval): When evaluating expressions on
35 top level, create a fresh top-level environment for each
36 expression instead of mutating the exisint frame. This is
37 important when that frame is closed over.
38
b42ff180
MV
39 * numbers.c (s_scm_logior) [SCM_DIGSTOOBIG]: Also use
40 SCM_DIGSPERLONG instead of DIGSPERLONG.
41
09f2ab1e
MV
422001-02-21 Marius Vollmer <mvo@zagadka.ping.de>
43
44 * eval.c (scm_ceval, scm_deval): Check for wrong number of args
45 before applying arrow procedure in `cond' and before applying
46 receiver procedure in call-with-current-continuation.
47 (scm_i_eval): Do not invoke scm_copy_tree in argument in SCM_XEVAL
48 macro. The argument is expanded more than one time.
49
50 * numbers.c (scm_logior) [SCM_DIGSTOOBIG]: Correctly use
51 SCM_BIGDIG instead of BIGDIG. Thanks to Steven G. Johnson!
52
532001-02-20 Marius Vollmer <mvo@zagadka.ping.de>
54
55 * guile-doc-snarf.in, guile-func-name-check.in: Added copyright
56 notice and license.
57
7090240c
MG
582001-02-17 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
59
60 * variable.c (scm_make_variable, scm_make_undefined_variable)
61 (scm_variable_ref, scm_variable_set_x, scm_builtin_variable)
62 (scm_variable_bound_p), values.c (scm_values)
63 (scm_call_with_values), unif.c (scm_bit_count)
64 (scm_bit_set_star_x), symbols.c (scm_gentemp)
65 (scm_gensym), strings.c (scm_string_p, scm_make_string)
66 (scm_read_only_string_p, scm_string_length, scm_string_ref)
67 (scm_string_set_x, scm_substring, scm_string_append), stime.c
68 (scm_strptime, scm_mktime), random.c (scm_seed_to_random_state)
69 (scm_copy_random_state, scm_random), print.c (scm_newline)
70 (scm_write_char, scm_simple_format), debug-malloc.c
71 (scm_malloc_stats), environments.c (scm_environment_p)
72 (scm_environment_bound_p, scm_environment_ref)
73 (scm_environment_fold, scm_environment_define)
74 (scm_environment_undefine, scm_environment_set_x)
75 (scm_environment_cell, scm_environment_observe)
76 (scm_environment_observe_weak, scm_environment_unobserve)
77 (scm_make_eval_environment, scm_eval_environment_p)
78 (scm_eval_environment_set_local_x, scm_eval_environment_local)
79 (scm_eval_environment_imported)
80 (scm_eval_environment_set_imported_x, scm_make_import_environment)
81 (scm_import_environment_p, scm_import_environment_imports)
82 (scm_import_environment_set_imports_x, scm_make_export_environment)
83 (scm_export_environment_p, scm_export_environment_private)
84 (scm_export_environment_set_private_x)
85 (scm_export_environment_signature)
86 (scm_export_environment_set_signature_x, scm_leaf_environment_p):
87 Added texinfo markup.
88
89 * ports.c (scm_drain_input): Lowercased argument to @var.
90 (scm_current_input_port, scm_current_output_port): Filled in
91 missing explanation.
92 (scm_current_load_port, scm_set_current_output_port)
93 (scm_set_current_error_port, scm_port_line, scm_set_port_line_x):
94 Added texinfo markup.
95
96 * arbiters.c (scm_make_arbiter, scm_try_arbiter)
97 (scm_release_arbiter): Added texinfo markup to docstrings.
98 Changed `Returns' to `Return'.
99 (arbiter_print): Changed SCM_CDR to SCM_SMOB_DATA.
100
25703850
NJ
1012001-02-16 Neil Jerram <neil@ossau.uklinux.net>
102
103 * guile-snarf.awk.in: Quote any `@'s that occur in Scheme names,
104 by doubling them to `@@'.
105
73c0fdce
MG
1062001-02-16 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
107
108 * numbers.c (scm_lognot), random.c (scm_random,
109 scm_random_normal, scm_random_solid_sphere_x,
110 scm_random_hollow_sphere_x, scm_random_normal_vector_x,
111 scm_random_exp), dynwind.c
112 (scm_dynamic_wind): Removed unnecessary "" from docstrings.
113
114 * goops.c (scm_sys_initialize_object, scm_instance_p,
115 scm_class_name, scm_class_precedence_list, scm_class_slots,
116 scm_class_environment, scm_generic_function_name,
117 scm_generic_function_methods, scm_method_generic_function,
118 scm_method_specializers, scm_method_procedure, scm_make_unbound,
119 scm_unbound_p, scm_assert_bound, scm_at_assert_bound_ref,
120 scm_sys_fast_slot_ref, scm_sys_fast_slot_set_x, scm_slot_ref,
121 scm_slot_set_x, _scm_slot_bound_p, scm_slots_exists_p,
122 scm_sys_allocate_instance, scm_make, scm_pure_generic_p,
123 scm_class_direct_supers, scm_class_direct_slots,
124 scm_class_direct_subclasses, scm_class_direct_methods,
125 scm_accessor_method_slot_definition, scm_sys_goops_loaded),
126 debug.c (scm_with_traps, scm_memoized_p, scm_make_gloc,
127 scm_gloc_p, scm_make_iloc, scm_iloc_p, scm_memcons,
128 scm_mem_to_proc, scm_proc_to_mem, scm_unmemoize,
129 scm_memoized_environment, scm_procedure_name,
130 scm_procedure_source, scm_procedure_environment, scm_debug_hang),
131 objects.c
132 (scm_class_of, scm_entity_p, scm_operator_p,
133 scm_set_object_procedure_x, scm_object_procedure,
134 scm_make_class_object), hooks.c (scm_make_hook_with_name,
135 scm_make_hook, scm_hook_p, scm_hook_empty_p, scm_add_hook_x,
136 scm_remove_hook_x, scm_reset_hook_x, scm_run_hook,
137 scm_hook_to_list), lang.c
138 (scm_nil_cons, scm_nil_car, scm_nil_cdr, scm_null, scm_nil_eq),
139 numbers.c (scm_sys_expt, scm_sys_atan2), print.c
140 (scm_print_options, scm_port_with_print_state,
141 scm_get_print_state), procs.c (scm_make_cclo, scm_procedure_p,
142 scm_closure_p, scm_thunk_p, scm_procedure_with_setter_p,
143 scm_make_procedure_with_setter, scm_procedure), throw.c
144 (scm_lazy_catch), modules.c (scm_standard_eval_closure), load.c
145 (scm_parse_path, scm_search_path), stacks.c (scm_make_stack,
146 scm_stack_ref, scm_stack_length, scm_frame_p,
147 scm_last_stack_frame, scm_frame_number, scm_frame_source,
148 scm_frame_procedure, scm_frame_arguments, scm_frame_previous,
149 scm_frame_next, scm_frame_real_p, scm_frame_procedure_p,
150 scm_frame_evaluating_args_p, scm_frame_overflow_p), filesys.c
151 (scm_dirname, scm_basename), dynwind.c
152 (scm_wind_chain), read.c (scm_read_options, scm_read,
153 scm_read_hash_extend), gc.c
154 (scm_unhash_name), eval.c (scm_eval_options_interface,
155 scm_evaluator_traps, s_scm_nconc2last), backtrace.c
156 (scm_display_error, scm_set_print_params_x,
157 scm_display_application, scm_display_backtrace, scm_backtrace),
158 async.c (scm_async, scm_system_async, scm_async_mark,
159 scm_system_async_mark, scm_run_asyncs, scm_noop,
160 scm_set_tick_rate, scm_set_switch_rate, scm_unmask_signals,
161 scm_mask_signals): Added docstrings.
162
e228a203
KN
1632001-02-15 Keisuke Nishida <kxn30@po.cwru.edu>
164
165 * dump.c (scm_undump): Use SCM_CARLOC/SCM_CDRLOC to obtain the
166 address of car/cdr. (Thanks to Dirk Herrmann)
167 Use scm_sizet to obtain the length of strings.
168 (Thanks to Matthias Koeppe)
169
1552a59d
MV
1702001-02-15 Marius Vollmer <mvo@zagadka.ping.de>
171
172 * symbols.c (scm_mem2symbol): Put a empty statement after the
173 next_symbol label. This is mandated by ANSI, appearantly.
174
3178f751
MV
1752001-02-13 Marius Vollmer <marius.vollmer@uni-dortmund.de>
176
177 * gc_os_dep.c: Do not include <linux/version.h>. It makes no
178 sense to compile for a specific kernel version. Do not include
179 <asm/signal.h> while defining __KERNEL__. This hack should no
180 longer be needed and caused problems.
181
7af4defe
MV
1822001-02-13 Marius Vollmer <mvo@zagadka.ping.de>
183
184 * eval.c (scm_ceval, scm_deval): use `SIDEVAL' instead of
185 SCM_CEVAL when evaluating subforms of `begin' forms. SCM_CEVAL
186 can not deal with immediates.
187
5d6bb349
KN
1882001-02-12 Keisuke Nishida <kxn30@po.cwru.edu>
189
190 * list.c (scm_list_copy): Validate the first argument.
191
ec9709f0
MV
1922001-02-11 Marius Vollmer <mvo@zagadka.ping.de>
193
194 Fix evaluator so that top-level expressions are correctly
195 evaluated with respect to the module system.
196
197 * modules.h. modules.c (scm_current_module_lookup_closure): New
198 function.
199
200 * eval.h (scm_primitive_eval, scm_primitive_eval_x): New
201 prototypes.
202 (scm_i_eval, scm_i_eval_x, scm_eval, scm_eval_x): Changed argument
203 names to better reflect their meaning.
204
205 * eval.c (scm_ceval, scm_deval): Recognize when `begin' is being
206 evaluated at top-level and synronize lookup closure before
207 executing every subform.
208 (scm_primitve_eval_x, scm_primitive_eval): New functions.
209 (scm_eval_x, scm_eval): Reimplement in terms of
210 scm_primitive_eval_x and scm_primitive_eval, respectively.
211
2122001-02-09 Marius Vollmer <mvo@zagadka.ping.de>
213
214 * macros.c (scm_macro_name, scm_macro_transformer): Use
215 SCM_SMOB_DATA instead of SCM_CDR. Provided by Martin Grabmueller.
216 Thanks!
217
42417394
KN
2182001-02-10 Keisuke Nishida <kxn30@po.cwru.edu>
219
220 * dump.c (scm_store_bytes): Store data size before data.
221 (scm_restore_bytes): Restore data size. Takes a pointer to size.
222 * dump.h (scm_restore_bytes): Updated.
223
bf942687
KN
2242001-02-09 Keisuke Nishida <kxn30@po.cwru.edu>
225
226 * dump.c: Use double cells for update schedule.
227
1be4270a
KN
2282001-02-08 Keisuke Nishida <kxn30@po.cwru.edu>
229
230 * ports.c (scm_unread_char): Take an optional argument.
231
548728ea
MV
2322001-02-08 Marius Vollmer <marius.vollmer@uni-dortmund.de>
233
234 * modules.h (scm_selected_module, scm_current_module): Renamed
235 scm_selected_module to scm_current_module to synchronize Scheme
236 and C names.
237 (scm_select_module, scm_set_current_module): Likewise. Changed
238 all uses.
239
240 * ports.c (scm_port_for_each): Make a snapshot of the port table
241 before iterating over it. The table might change while the user
242 code is running. With the snapshot, the user can depend on the
c5408bc3 243 fact that each port that existed at the start of the iteration is
548728ea
MV
244 encountered exactly once. (ice-9 popen) depends on this.
245
cb0d8be2
DH
2462001-02-08 Dirk Herrmann <D.Herrmann@tu-bs.de>
247
248 * strings.h (SCM_STRING_MAX_LENGTH): New macro.
249
250 * strings.c (scm_makstr, scm_take_str, scm_make_string): Added
251 range checking for the size parameter. Thanks to Martin
252 Grabmueller for the hint.
253
254 (scm_makstr): Reordered string initialization to make interrupt
255 deferring unnecessary.
256
257 * vectors.c (scm_make_vector): Fixed range checking.
258
e382fdbe
DH
2592001-02-08 Dirk Herrmann <D.Herrmann@tu-bs.de>
260
261 * vectors.h (SCM_VECTOR_MAX_LENGTH): New macro.
262
263 * vectors.c (scm_make_vector, scm_c_make_vector): Improved the
264 checking of the size parameter for type correctness and valid
265 range. Thanks to Rob Browning for reporting the problem. Instead
266 of deferring interrupts, scm_remember_upto_here_1 is used.
267
bf8f0922
KN
2682001-02-05 Keisuke Nishida <kxn30@po.cwru.edu>
269
270 * dump.c (scm_store_cell_object, scm_restore_cell_object): Removed.
271 (scm_dump_cell_update): Removed.
272 (scm_dump_update): Renamed from scm_dump_object_update.
273 (scm_restore_string, scm_restore_bytes, scm_restore_word): Takes
274 a pointer instead of returning a value.
275 * keywords.c (keyword_undump): Updated.
276
914cceec
KN
2772001-02-05 Keisuke Nishida <kxn30@po.cwru.edu>
278
279 * dump.c, dump.h: Modified a lot.
5f17c66f 280 (SCM_DUMP_COOKIE): Version 0.1
914cceec
KN
281 (scm_dump_mark): Removed.
282 (scm_restore_cell_object, scm_store_cell_object): New functions.
283
284 * smob.h (scm_smob_descriptor): Removed slots: dump_mark,
285 dump_dealloc, dump_store, undump_alloc, undump_restore, undump_init.
286 New slots: dump, undump.
287 * smob.c (scm_make_smob_type, scm_set_smob_dump, scm_set_smob_undump):
288 Updated.
289
290 * keywords.c (keyword_dump): Renamed from keyword_dealloc.
291 (keyword_undump): Renamed from keyword_alloc.
292 (scm_init_keywords): Set keyword_dump and keyword_undump.
293
ecf470a2
ML
2942001-02-03 Michael Livshin <mlivshin@bigfoot.com>
295
296 * gc.c (DOUBLECELL_ALIGNED_P): new macro, a better-named analog of
297 the deprecated SCM_DOUBLE_CELLP.
298
299 * tags.h (SCM_DOUBLE_CELLP): deprecated.
300
03416a99
KN
3012001-02-02 Keisuke Nishida <kxn30@po.cwru.edu>
302
303 * dump.c, dump.h: New files.
304 * Makefile.am: Added dump.c, dump.h, dump.x, dump.doc.
305 * init.c: #include "libguile/dump.h".
306 (scm_init_guile_1): Call scm_init_dump.
307 * smob.h (scm_smob_descriptor): New slots: dump_mark,
308 dump_dealloc, dump_store, undump_alloc, undump_restore,
309 undump_init.
310 * smob.c (scm_make_smob_type): Init the new slots.
311 (scm_set_smob_dump, scm_set_smob_undump): New functions.
312 * smob.h (scm_set_smob_dump, scm_set_smob_undump): Declared.
313
314 * keywords.c: #include "libguile/dump.h".
315 (keyword_dealloc, keyword_alloc): New functions.
316 (scm_init_keywords): Set smob_dump and smob_undump.
317
00ffa0e7
KN
3182001-02-01 Keisuke Nishida <kxn30@po.cwru.edu>
319
320 * vectors.c (scm_c_make_vector): New function.
321 * vectors.h (scm_c_make_vector): Declared.
322 * eval.c (scm_copy_tree), filesys.c (scm_stat2scm), fluids.c
323 (scm_make_initial_fluids, grow_fluids), gc.c (scm_init_storage),
324 gh_data.c (gh_ints2scm, gh_doubles2scm): goops.c
325 (scm_make_method_cache, scm_i_vector2list,
326 scm_compute_applicable_methods, scm_sys_method_more_specific_p),
327 init.c (start_stack), net_db.c (scm_gethost, scm_getnet,
328 scm_getproto, scm_return_entry), posix.c (scm_getgroups,
329 scm_getpwuid, scm_getgrgid, scm_uname), print.c (make_print_state,
330 grow_ref_stack), regex-posix.c (scm_regexp_exec), scmsigs.c
331 (scm_init_scmsigs), socket.c (scm_addr_vector, scm_addr_vector),
332 stime.c (scm_times, filltime), unif.c (scm_make_uve), vectors.c
333 (scm_vector, scm_make_vector): Use scm_c_make_vector.
334
335 * hashtab.c (scm_c_make_hash_table): New function.
336 * hashtab.h (scm_c_make_hash_table): Declared.
337 * environments.c (scm_make_leaf_environment,
338 scm_make_eval_environment), gc.c (scm_init_storage),
339 keywords.c (scm_init_keywords), symbols.c (scm_builtin_bindings):
340 Use scm_c_make_hash_table.
341
b8446ce8
MD
3422001-01-31 Mikael Djurfeldt <mdj@linnaeus.mit.edu>
343
344 * unif.c (rapr1): Don't apply scm_uniform_vector_length on arrays.
345
e3239868
DH
3462001-01-29 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
347
348 * struct.c (scm_make_vtable_vtable): Removed unnecessary "" from
349 end of docstring.
350
351 * struct.c (scm_struct_set_x, scm_struct_vtable_tag,
352 scm_struct_vtable_name, scm_set_struct_vtable_name_x), weaks.c
353 (scm_make_weak_value_hash_table, scm_make_doubly_weak_hash_table,
354 scm_weak_value_hash_table_p, scm_doubly_weak_hash_table_p),
355 srcprop.c (scm_source_properties, scm_set_source_properties_x,
356 scm_source_property, scm_set_source_property_x), sort.c
357 (scm_sort_list_x, scm_restricted_vector_sort_x, scm_sorted_p,
358 scm_merge, scm_merge_x, scm_sort_x, scm_sort, scm_stable_sort_x,
359 scm_stable_sort, scm_sort_list_x, scm_sort_list): Added
360 docstrings.
361
41ee56dd
MD
3622001-01-29 Mikael Djurfeldt <mdj@linnaeus.mit.edu>
363
364 * eval.c (SCM_APPLY): Check that primitives which take 1 arg
365 really get that arg.
366
b6311c08
KN
3672001-01-26 Keisuke Nishida <kxn30@po.cwru.edu>
368
369 * goops.c (s_scm_get_keyword): Bug fix.
370
a49af0c0
DH
3712001-01-26 Dirk Herrmann <D.Herrmann@tu-bs.de>
372
373 The following patch was sent by Martin Grabmueller. It makes sure
374 that in case of parameter errors the correct function name is
375 shown, and that parameter types are only checked once.
376
377 * strop.c (string_copy, string_upcase_x, string_downcase_x,
378 string_capitalize_x): New functions. Each one performs the core
379 functionality of the corresponding scm_* function.
380
381 (scm_string_copy, scm_string_upcase_x, scm_string_upcase,
382 scm_string_downcase_x, scm_string_downcase,
383 scm_string_capitalize_x, scm_string_capitalize): Reduced to
384 parameter checking wrappers of the above functions.
385
13070bd3
DH
3862001-01-26 Dirk Herrmann <D.Herrmann@tu-bs.de>
387
388 * continuations.c, dynl.c, keywords.c, load.c: Include
389 strings.h. Thanks to Bill Schottstaedt for the bug report.
390
2f2b390c
DH
3912001-01-25 Dirk Herrmann <D.Herrmann@tu-bs.de>
392
393 * backtrace.c (display_header): Make sure that line and column
394 information is shown independent of whether the port the code was
395 read from had an associated filename. Thanks to Martin
396 Grabmueller for providing this patch.
397
efa40607
DH
3982001-01-25 Dirk Herrmann <D.Herrmann@tu-bs.de>
399
400 * fports.[ch] (scm_file_port_p): New primitive.
401
a98bddfd
DH
4022001-01-25 Dirk Herrmann <D.Herrmann@tu-bs.de>
403
404 * tags.h (scm_tc16_fport, scm_tc16_strport, scm_tc16_sfport):
405 These are now defined in fports.c, strports.c and vports.c.
406
407 * fports.[ch] (scm_tc16_fport), strports.c (scm_tc16_strport),
408 vports.c (scm_tc16_sfport): Made variables (were macros defined in
409 tags.h).
410
411 fports.c (scm_make_fptob), strports.c (scm_make_stptob), vports.c
412 (scm_make_sfptob): Made static. These return a type code now.
413
414 fports.c (scm_init_fports), strports.c (scm_init_strports),
415 vports.c (scm_init_vports): Create the corresponding port types.
416
417 * fports.h (SCM_FPORTP, SCM_OPFPORTP, SCM_OPINFPORTP,
418 SCM_OPOUTFPORTP): Redefined in terms of scm_tc16_fport.
419
420 * init.c (scm_init_guile_1): Make sure strports are initialized
421 before gdbint.
422
423 * ports.[ch] (scm_make_port_type): Changed the return type to
424 scm_bits_t.
425
426 * ports.c (scm_ports_prehistory): Don't create any port types
427 here.
428
429 * posix.c (scm_ttyname): Use SCM_FPORTP instead of comparing
430 against scm_tc16_fport directly.
431
0419a528
DH
4322001-01-25 Dirk Herrmann <D.Herrmann@tu-bs.de>
433
434 * srcprop.c (scm_set_source_property_x): Fix to handle
435 (set-source-property! <obj> 'copy <datum>) correctly.
436
6d36532c
GH
4372001-01-24 Gary Houston <ghouston@arglist.com>
438
439 * filesys.c (scm_link): docstring fix.
440 * fports.h (scm_setfileno): obsolete declaration removed.
441 * posix.c: bogus popen declaration removed.
442
443 * rdelim.c: new file, split from ioext.c.
444 * rdelim.h: new file, split from ioext.h
445 * Makefile.am: add rdelim.c and related files.
446 * init.c: call scm_init_rdelim. include rdelim.h.
447
3ba5a6c2
DH
4482001-01-24 Dirk Herrmann <D.Herrmann@tu-bs.de>
449
450 This patch was sent by Martin Grabmueller and makes sure that
451 parameter errors are reported correctly by the lexicographic
452 ordering predicates.
453
454 * strorder.c (string_less_p, string_ci_less_p): New functions.
455
456 (scm_string_less_p, scm_string_ci_less_p): Extracted the core
457 functionality into string_less_p, string_ci_less_p respectively.
458 The remaining code is just a wrapper to do the parameter
459 checking.
460
461 (scm_string_leq_p, scm_string_gr_p, scm_string_geq_p): Check the
462 parameters and call string_less_p instead of scm_string_less_p.
463
464 (scm_string_ci_leq_p, scm_string_ci_gr_p, scm_string_ci_geq_p):
465 Check the parameters and call string_less_ci_p instead of
466 scm_string_ci_less_p.
467
e40a4095
DH
4682001-01-24 Dirk Herrmann <D.Herrmann@tu-bs.de>
469
ed6a2db9
DH
470 This patch modifies scm_display_error to perform parameter
471 checking. Thanks to Neil Jerram for the bug report.
472
e40a4095
DH
473 * backtrace.[ch] (scm_i_display_error): New function.
474
475 * backtrace.c (scm_display_error): Added parameter check and
476 extracted the core functionality into function
477 scm_i_display_error.
478
479 * throw.c (handler_message): Call scm_i_display_error to display
480 the error message.
481
f1e06a96
MD
4822001-01-23 Mikael Djurfeldt <mdj@linnaeus.mit.edu>
483
484 * eval.c (SCM_APPLY): Added # args check for application of
485 procedures with arity 3. (Thanks to Anders Holst.)
486
30ea841d
DH
4872001-01-24 Dirk Herrmann <D.Herrmann@tu-bs.de>
488
489 * filesys.h (SCM_DIR_FLAG_OPEN, SCM_DIR_OPEN_P): Added.
490
491 (SCM_OPDIRP): Deprecated.
492
493 * filesys.c (scm_opendir): Use SCM_DIR_FLAG_OPEN instead of
494 SCM_OPN.
495
496 (scm_readdir, scm_rewinddir): Don't use SCM_VALIDATE_OPDIR.
497 Instead, give an explicit error message in case the directory is
498 closed.
499
500 (scm_closedir, scm_dir_print): Rewritten to use SCM_DIR_OPEN_P
501 instead of SCM_OPENP and SCM_CLOSEDP.
502
503 * validate.h (SCM_VALIDATE_OPDIR): Deprecated.
504
312ae976
DH
5052001-01-22 Dirk Herrmann <D.Herrmann@tu-bs.de>
506
507 * eval.c (inner_eval, scm_eval): Move all real functionality into
508 inner_eval. Avoid to copy the expression twice by inlining some
509 code from scm_i_eval.
510
4567ed78
DH
5112001-01-19 Dirk Herrmann <D.Herrmann@tu-bs.de>
512
513 * eval.c (scm_m_case): The 'else' clause of a 'case' statement
514 now has to be the last clause, as required by R5RS. Thanks to
515 Martin Grabmueller for the patch.
516
10288a09
GH
5172001-01-18 Gary Houston <ghouston@arglist.com>
518
519 * ioext.c: further simplify scm_read_string_x_partial by defining
520 a macro SCM_EBLOCK.
521
8f379a8f
DH
5222001-01-18 Dirk Herrmann <D.Herrmann@tu-bs.de>
523
524 * gh_data.c (gh_ints2scm): Simplified using SCM_FIXABLE.
525
5c75b29f
DH
5262001-01-18 Dirk Herrmann <D.Herrmann@tu-bs.de>
527
528 * __scm.h: Added comment about architecture and compiler
529 properties that are required by guile.
530
531 (SCM_FIXNUM_BIT, SCM_MOST_POSITIVE_FIXNUM,
532 SCM_MOST_NEGATIVE_FIXNUM): Moved to numbers.h.
533
534 (SCM_CHAR_BIT, SCM_LONG_BIT): Moved here from numbers.h.
535
536 * numbers.h (SCM_CHAR_BIT, SCM_LONG_BIT): Moved to __scm.h.
537
538 (SCM_FIXNUM_BIT, SCM_MOST_POSITIVE_FIXNUM,
539 SCM_MOST_NEGATIVE_FIXNUM): Moved here from __scm.h.
540
ac0c002c
DH
5412001-01-17 Dirk Herrmann <D.Herrmann@tu-bs.de>
542
543 * __scm.h (SCM_FIXNUM_BIT): Added. The name is chosen in analogy
544 to the names in limits.h.
545
546 * numbers.c (abs_most_negative_fixnum): Added.
547
548 (scm_quotient, scm_remainder): Fixed the fixnum-min / (abs
549 fixnum-min) special case.
550
551 (scm_big_and): Fix for negative first parameter.
552
553 (scm_bit_extract): Fix for fixnum paramters.
554 Thanks to Rob Browning for the bug report.
555
556 (scm_init_numbers): Initialize abs_most_negative_fixnum.
557
debe0dc2
DH
5582001-01-16 Dirk Herrmann <D.Herrmann@tu-bs.de>
559
560 * symbols.c (scm_symbol_bound_p): Fixed comment.
561 Thanks to Chris Cramer.
562
8a39e3fc
DH
5632001-01-15 Dirk Herrmann <D.Herrmann@tu-bs.de>
564
565 * smob.[ch] (scm_make_smob_type): Return type is scm_bits_t now.
566 Thanks to Bill Schottstaedt.
567
322ec19d
ML
5682001-01-11 Michael Livshin <mlivshin@bigfoot.com>
569
570