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