* posix.c: Replaced `#define' of __USE_XOPEN right before
[bpt/guile.git] / libguile / ChangeLog
CommitLineData
783e7774
KN
12001-03-09 Keisuke Nishida <kxn30@po.cwru.edu>
2
3 * alist.c, arbiters.c, async.c, backtrace.c, boolean.c, chars.c,
4 continuations.c, debug-malloc.c, debug.c, dynwind.c, eq.c, eval.c,
5 feature.c, filesys.h, gc_os_dep.c, gh_data.c, gh_eval.c,
6 gh_funcs.c, gh_io.c, gh_list.c, gh_predicates.c, hash.c,
7 hashtab.c, iselect.c, keywords.c, list.c, load.c, mallocs.c,
8 net_db.c, numbers.c, objprop.c, objprop.h, options.c, pairs.c,
9 print.c, procprop.c, procs.c, properties.c, ramap.c,
10 regex-posix.c, root.c, scmsigs.c, simpos.c, socket.c, srcprop.c,
11 stackchk.c, stacks.c, strings.c, strop.c, strorder.c, struct.c,
12 symbols.c, tag.c, threads.c, variable.c, vectors.c, weaks.c:
13 Remove #include <stdio.h>
14 * gc.c, gdbint.c, root.c, sort.c, unif.c: Add #include <string.h>.
15
16 * procs.c (scm_make_subr_opt): Init symcell to avoid warning.
17
9a677c37
MG
182001-03-09 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
19
20 * posix.c (scm_gethostname): Set initial name length to 256 for
21 Solaris.
22
94e6d793
MG
232001-03-09 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
24
25 * posix.h (scm_crypt, scm_chroot, scm_getlogin, scm_cuserid),
26 (scm_getpriority, scm_setpriority, scm_getpass, scm_flock),
27 (scm_sethostname, scm_gethostname): New prototypes.
28
29 * posix.c: Added inclusion of <crypt.h>, <sys/resource.h> and
30 <sys/file.h>, if present.
31 (scm_init_posix): [PRIO_PROCESS, PRIO_PGRP, PRIO_USER, LOCK_SH,
32 LOCK_EX, LOCK_UN, LOCK_NB]: New variables.
33 (scm_crypt, scm_chroot, scm_getlogin, scm_cuserid),
34 (scm_getpriority, scm_setpriority, scm_getpass, scm_flock),
35 (scm_sethostname, scm_gethostname): New procedures.
36
650a1cf9
NJ
372001-03-08 Neil Jerram <neil@ossau.uklinux.net>
38
39 * ports.c (scm_port_column): Docstring fixes: (i) port-line arg is
40 not optional (ii) "recommend" spelling correction.
41
9636b49c
MD
422001-03-08 Mikael Djurfeldt <mdj@linnaeus.mit.edu>
43
5e4a4d09
MD
44 * ramap.c (racp): Removed optimization which caused array copying
45 to fail if the two arrays shared storage. Re-inserted the IVDEP
46 macros removed in the change of 2000-03-09. (Don't really have a
47 complete grasp of what they are for, but they seem to be necessary
48 on Crays. This needs testing!) Thanks to Miroslav Silovic.
49
9636b49c
MD
50 * hash.c (scm_string_hash): Don't downcase characters.
51
04a4d666
MD
522001-03-07 Mikael Djurfeldt <mdj@linnaeus.mit.edu>
53
9636b49c 54 * symbols.c (scm_symbols_prehistory): Changed symbol hash table
04a4d666
MD
55 size from 277 --> 1009.
56
57 * symbols.c, symbols.h (scm_sys_symbols): New function GUILE_DEBUG
58 function.
59
60 * coop-threads.c: Fixed change of 2001-03-06.
61
62 * validate.h: Code formatting.
63
66418d34
KN
642001-03-07 Keisuke Nishida <kxn30@po.cwru.edu>
65
66 * Makefile.am (*.x): Add dependency on snarf.h and guile-doc-snarf.in.
67 (*.doc): Add dependency on guile-snarf.awk.in.
68
69 * guile-snarf.awk.in: Neglect spaces at the end of
70 SCM_SNARF_DOCSTRING_END. Skip lines "# NN ..." in the
71 middle of docstrings. (To avoid the problem with gcc-2.96.)
72
2ade72d7
DH
732001-03-06 Dirk Herrmann <D.Herrmann@tu-bs.de>
74
75 * coop-threads.c (scm_call_with_new_thread), load.c
76 (scm_primitive_load, scm_sys_search_load_path), random.c
77 (scm_c_default_rstate), struct.c (scm_make_struct_layout,
78 scm_struct_ref, scm_struct_set_x): Don't use SCM_ASSERT to
79 (potentially) issue a scm-misc-error or wrong-num-args error
80 message.
81
82 * load.c (scm_search_path): Use SCM_ASSERT_TYPE to give details
83 about the expected type with the wrong-type-arg error message.
84
85 * smob.c (scm_make_smob): Abort on misuse of smob - it indicates
86 a C level bug that can't be fixed from scheme anyway.
87
586d7da2
MD
882001-03-05 Mikael Djurfeldt <mdj@linnaeus.mit.edu>
89
90 * eval.c (scm_m_letstar): Removed check for duplicate bindings.
91 Duplicate bindings are OK in a let* since a let* is semantically
92 equivalent to a nested set of let:s.
93
1dd05fd8
MG
942001-03-05 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
95
96 * print.c (scm_print_options): Fixed texinfo in docstring.
97
98 * net_db.c (scm_getserv, scm_getproto, scm_getnet): Return #f if
99 the underlying functions getservent, getprotoent or getnetent
100 return NULL instead of signalling an error.
101
439006bf
GH
1022001-03-04 Gary Houston <ghouston@arglist.com>
103
104 * socket.c (scm_fill_sockaddr): don't allow buffer overflows when
105 taking an unexpectedly large filename for an AF_UNIX socket from
106 bind/connect/sendto (thanks to Martin Grabmueller).
107
108 * socket.c (scm_sock_fd_to_port, SCM_SOCK_FD_TO_PORT): removed the
109 former and adjusted the latter.
110 (scm_socket, scm_socketpair): cosmetic changes.
111 (scm_getsockopt, scm_setsockopt): declare optlen as int, not
112 size_t as socklen_t substitute. don't restrict args/return values
113 to INUM: allow full range of int or size_t.
114 (scm_fill_sockaddr): check arguments before allocating memory, to
115 avoid leakage. use malloc, not scm_must_malloc.
116 (scm_connect, scm_bind, scm_sendto): use int, not size_t as socklen_t
117 substitute. free the sockaddr structure before throwing an error.
118 (scm_init_add_buffer): procedure removed, together with its static
119 buffer scm_addr_buffer, which wouldn't be thread safe. instead,
120 define a macro MAX_ADDR_SIZE and declare the buffer where needed.
121 (scm_accept, scm_getpeername, scm_getsockname, scm_recvfrom,
122 scm_sendto): use a local buffer instead of scm_addr_buffer.
123 adjust for new SCM_SOCK_FD_TO_PORT. use int for address size,
124 not size_t.
125 (scm_recvfrom): set addr->sa_family to AF_UNSPEC before the recvfrom
126 call to detect whether recvfrom could be bothered to set the address.
127 (scm_init_socket): don't call scm_init_addr_buffer.
128
276dd677
DH
1292001-03-04 Dirk Herrmann <D.Herrmann@tu-bs.de>
130
131 * debug.c (scm_procedure_source, scm_procedure_environment),
132 print.c (scm_get_print_state), ramap.c (scm_array_fill_int,
133 scm_array_index_map_x), sort.c (scm_sort_x, scm_sort,
134 scm_stable_sort_x, scm_stable_sort), stacks.c (scm_make_stack,
135 scm_last_stack_frame), symbols.c (scm_sym2vcell, scm_sym2ovcell),
136 unif.c (scm_list_to_uniform_array, scm_uniform_vector_length,
137 scm_transpose_array, scm_enclose_array, scm_array_in_bounds_p,
138 scm_uniform_vector_ref, scm_array_set_x, scm_uniform_array_read_x,
139 scm_uniform_array_write, scm_bit_set_star_x, scm_bit_count_star,
140 scm_array_to_list, scm_array_prototype), validate.h
141 (SCM_VALIDATE_NUMBER_COPY): Don't call function scm_wta, call
142 scm_misc_error or scm_wrong_type_arg instead.
143
144 * validate.h (SCM_WTA, RETURN_SCM_WTA): Deprecated.
145
5e03762c
MD
1462001-03-04 Mikael Djurfeldt <mdj@linnaeus.mit.edu>
147
148 * goops.c, goops.h (scm_sys_pre_expand_closure_x): Removed.
149 (scm_sys_tag_body): Added.
150
db4b4ca6
DH
1512001-03-04 Dirk Herrmann <D.Herrmann@tu-bs.de>
152
153 * continuations.c (continuation_apply), eval.c (scm_m_lambda,
154 scm_m_letstar, scm_m_letrec1, scm_m_let, SCM_APPLY), eval.h
155 (SCM_EVALIM2), evalext.c (scm_m_generalized_set_x), gc.c
156 (get_bvec, MARK), goops.c (scm_primitive_generic_generic),
157 options.c (scm_options), ports.c (scm_remove_from_port_table),
158 ramap.c (scm_ramapc), read.c (skip_scsh_block_comment, scm_lreadr,
159 scm_lreadparen, scm_lreadrecparen), script.c (script_get_octal,
160 script_get_backslash, script_read_arg), unif.c (scm_cvref): Don't
161 call function scm_wta, call scm_misc_error or scm_wrong_type_arg
162 instead.
163
87e7741d
MD
1642001-03-04 Mikael Djurfeldt <mdj@linnaeus.mit.edu>
165
166 * goops.c (scm_sys_pre_expand_closure_x): New procedure.
167
d19b0aac
MV
1682001-03-04 Marius Vollmer <mvo@zagadka.ping.de>
169
170 * eval.c (scm_s_duplicate_bindings): New error message.
171 (scm_m_letrec1, scm_m_letstar): Check for duplicate bindings.
172
2fd945df
MV
1732001-03-03 Marius Vollmer <mvo@zagadka.ping.de>
174
175 * eval.h (SCM_EVALIM2): New macro. Use it when a
176 immediate, literal constant should be evaluated.
177 * eval.c (scm_s_duplicate_formals): New error message string.
178 (scm_c_improper_memq): New function.
179 (scm_m_lambda): Check for duplicate arguments.
180 (scm_ceval, scm_deval): When executing a body: only cons a new
181 toplevel environment frame when it is different from the
182 existing one; use EVALCAR instead of SIDEVAL so that we can properly
183 check for empty combinations; use SCM_EVALIM2 for the same reason
184 in the non-toplevel loop.
185 (nontoplevel_cdrxnoap, nontoplevel_cdrxbegin, nontoplevel_begin):
186 New labels with the meaning of their non-"nontoplevel" partners,
187 but they are used when it is known that the body is not evaluated at
188 top-level.
189 (scm_apply, scm_dapply): use SCM_EVALIM2 to get proper error
190 reporting for empty combinations.
191
9e6fc585
KN
1922001-03-02 Keisuke Nishida <kxn30@po.cwru.edu>
193
194 * Remove dump facilities.
195 * dump.c, dump.h: Removed.
196 * Makefile.am: Remove dump.c, dump.h, dump.x, dump.doc.
197 * init.c: Remove #include "libguile/dump.h".
198 (scm_init_guile_1): Remove scm_init_dump.
199 * smob.h (scm_smob_descriptor): Remove slots: dump, undump.
200 (scm_set_smob_dump, scm_set_smob_undump): Remove declaration.
201 * smob.c (scm_make_smob_type): Remove initialization: dump, undump.
202 (scm_set_smob_dump, scm_set_smob_undump): Removed.
203
204 * keywords.c: Remove #include "libguile/dump.h".
205 (keyword_dump, keyword_undump): Removed.
206 (scm_init_keywords): Remove scm_set_smob_dump and scm_set_smob_undump.
207
eae54bf0
MG
2082001-03-02 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
209
210 * vectors.c (s_scm_vector_p, list->vector, scm_vector)
211 (scm_vector_ref, scm_vector_set_x, scm_vector_to_list)
212 (scm_vector_fill_x), strorder.c (scm_string_equal_p)
213 (scm_string_ci_equal_p, scm_string_less_p, scm_string_leq_p)
214 (scm_string_gr_p, scm_string_geq_p, scm_string_ci_less_p)
215 (scm_string_ci_geq_p), symbols.c (scm_symbol_p)
216 (scm_symbol_to_string, scm_string_to_symbol): Changed use of @t{}
217 to @code{} as the texinfo manual recommends, converted the
218 examples to use a @lisp{}-environment.
219
220 * strports.c (scm_eval_string): Cleaned up the docstring.
221
222 * struct.c (scm_struct_p, scm_struct_vtable_p): Added texinfo
223 markup.
224
225 * numbers.c (scm_exact_p, scm_odd_p, scm_even_p)
226 (scm_number_to_string, scm_string_to_number, scm_number_p)
227 (scm_real_p, scm_integer_p, scm_inexact_p, scm_make_rectangular)
228 (scm_make_polar, scm_inexact_to_exact): Added texinfo markup.
229 (scm_ash): Added texinfo markup and removed obsolete @refill.
230 (scm_gr_p): Corrected comment.
231 (scm_gr_p, scm_leq_p, scm_geq_p): Added texinfo markup to (future
232 docstring) comments.
233 (scm_positive_p, scm_less_p, scm_num_eq_p, scm_real_p)
234 (scm_number_p, scm_negative_p, scm_max, scm_min, scm_sum)
235 (scm_difference, scm_product, scm_divide, scm_asinh, scm_acosh)
236 (scm_atanh, scm_truncate, scm_round, scm_exact_to_inexact)
237 (floor, ceiling, $sqrt, $abs, $exp, $log, $sin, $cos, $tan, $asin)
238 ($acos, $atan, $sinh, $cosh, $tanh, scm_real_part, scm_imag_part)
239 (scm_magnitude, scm_angle, scm_abs, scm_quotient, scm_remainder)
240 (scm_modulo, scm_gcd, scm_lcm): Added (future docstring) comments.
241
23deee81
DH
2422001-02-28 Dirk Herrmann <D.Herrmann@tu-bs.de>
243
244 * __scm.h (SCM_ASSERT_TYPE): Add missing macro parameter.
245 (Obviously nobody compiles with SCM_RECKLESS defined...)
246
247 * validate.h (SCM_ASSERT_RANGE): Use the argument number.
248
6fe692e9
MD
2492001-02-23 Mikael Djurfeldt <mdj@linnaeus.mit.edu>
250
251 * ports.c, ports.h (scm_c_read, scm_c_write): New functions.
252
253 * ports.h (SCM_READ_BUFFER_EMPTY_P): New macro.
254
27c37006
NJ
2552001-02-24 Neil Jerram <neil@ossau.uklinux.net>
256
257 * numbers.c (scm_two_doubles, scm_sys_expt, scm_sys_atan2,
258 scm_make_polar): Rename arguments `z1' and `z2' to `x' and `y',
259 since use of `z' suggests that the arguments may be complex.
260
261 * goops.c (scm_make), numbers.c (scm_sys_expt): Fix docstring
262 typos.
263
2069af38
NJ
2642001-02-23 Neil Jerram <neil@ossau.uklinux.net>
265
266 * dump.c (scm_binary_write, scm_binary_read), eval.c
267 (scm_primitive_eval), guardians.c (scm_guardian_destroyed_p,
268 scm_guardian_greedy_p, scm_make_guardian), fports.c
269 (scm_file_port_p): Minor docstring fixes.
270
b42ff180
MV
2712001-02-22 Marius Vollmer <mvo@zagadka.ping.de>
272
2069af38 273 * load.c (load): Use scm_primitive_eval_x instead of scm_i_eval_x.
97ea55f8
MV
274
275 * goops.c (scm_add_method, DEFVAR): Use scm_eval instead of
276 scm_i_eval.
277 (make_class_from_template): Do not bother to set the current
278 module around the call to DEFVAR, scm_eval takes care of that.
279 (scm_init_goops): Make scm_module_goops and
280 scm_goops_lookup_closure permanent objects.
281
282 * eval.c (scm_ceval, scm_deval): When evaluating expressions on
283 top level, create a fresh top-level environment for each
284 expression instead of mutating the exisint frame. This is
285 important when that frame is closed over.
286
b42ff180
MV
287 * numbers.c (s_scm_logior) [SCM_DIGSTOOBIG]: Also use
288 SCM_DIGSPERLONG instead of DIGSPERLONG.
289
09f2ab1e
MV
2902001-02-21 Marius Vollmer <mvo@zagadka.ping.de>
291
292 * eval.c (scm_ceval, scm_deval): Check for wrong number of args
293 before applying arrow procedure in `cond' and before applying
294 receiver procedure in call-with-current-continuation.
295 (scm_i_eval): Do not invoke scm_copy_tree in argument in SCM_XEVAL
296 macro. The argument is expanded more than one time.
297
298 * numbers.c (scm_logior) [SCM_DIGSTOOBIG]: Correctly use
299 SCM_BIGDIG instead of BIGDIG. Thanks to Steven G. Johnson!
300
3012001-02-20 Marius Vollmer <mvo@zagadka.ping.de>
302
303 * guile-doc-snarf.in, guile-func-name-check.in: Added copyright
304 notice and license.
305
7090240c
MG
3062001-02-17 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
307
308 * variable.c (scm_make_variable, scm_make_undefined_variable)
309 (scm_variable_ref, scm_variable_set_x, scm_builtin_variable)
310 (scm_variable_bound_p), values.c (scm_values)
311 (scm_call_with_values), unif.c (scm_bit_count)
312 (scm_bit_set_star_x), symbols.c (scm_gentemp)
313 (scm_gensym), strings.c (scm_string_p, scm_make_string)
314 (scm_read_only_string_p, scm_string_length, scm_string_ref)
315 (scm_string_set_x, scm_substring, scm_string_append), stime.c
316 (scm_strptime, scm_mktime), random.c (scm_seed_to_random_state)
317 (scm_copy_random_state, scm_random), print.c (scm_newline)
318 (scm_write_char, scm_simple_format), debug-malloc.c
319 (scm_malloc_stats), environments.c (scm_environment_p)
320 (scm_environment_bound_p, scm_environment_ref)
321 (scm_environment_fold, scm_environment_define)
322 (scm_environment_undefine, scm_environment_set_x)
323 (scm_environment_cell, scm_environment_observe)
324 (scm_environment_observe_weak, scm_environment_unobserve)
325 (scm_make_eval_environment, scm_eval_environment_p)
326 (scm_eval_environment_set_local_x, scm_eval_environment_local)
327 (scm_eval_environment_imported)
328 (scm_eval_environment_set_imported_x, scm_make_import_environment)
329 (scm_import_environment_p, scm_import_environment_imports)
330 (scm_import_environment_set_imports_x, scm_make_export_environment)
331 (scm_export_environment_p, scm_export_environment_private)
332 (scm_export_environment_set_private_x)
333 (scm_export_environment_signature)
334 (scm_export_environment_set_signature_x, scm_leaf_environment_p):
335 Added texinfo markup.
336
337 * ports.c (scm_drain_input): Lowercased argument to @var.
338 (scm_current_input_port, scm_current_output_port): Filled in
339 missing explanation.
340 (scm_current_load_port, scm_set_current_output_port)
341 (scm_set_current_error_port, scm_port_line, scm_set_port_line_x):
342 Added texinfo markup.
343
344 * arbiters.c (scm_make_arbiter, scm_try_arbiter)
345 (scm_release_arbiter): Added texinfo markup to docstrings.
346 Changed `Returns' to `Return'.
347 (arbiter_print): Changed SCM_CDR to SCM_SMOB_DATA.
348
25703850
NJ
3492001-02-16 Neil Jerram <neil@ossau.uklinux.net>
350
351 * guile-snarf.awk.in: Quote any `@'s that occur in Scheme names,
352 by doubling them to `@@'.
353
73c0fdce
MG
3542001-02-16 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
355
356 * numbers.c (scm_lognot), random.c (scm_random,
357 scm_random_normal, scm_random_solid_sphere_x,
358 scm_random_hollow_sphere_x, scm_random_normal_vector_x,
359 scm_random_exp), dynwind.c
360 (scm_dynamic_wind): Removed unnecessary "" from docstrings.
361
362 * goops.c (scm_sys_initialize_object, scm_instance_p,
363 scm_class_name, scm_class_precedence_list, scm_class_slots,
364 scm_class_environment, scm_generic_function_name,
365 scm_generic_function_methods, scm_method_generic_function,
366 scm_method_specializers, scm_method_procedure, scm_make_unbound,
367 scm_unbound_p, scm_assert_bound, scm_at_assert_bound_ref,
368 scm_sys_fast_slot_ref, scm_sys_fast_slot_set_x, scm_slot_ref,
369 scm_slot_set_x, _scm_slot_bound_p, scm_slots_exists_p,
370 scm_sys_allocate_instance, scm_make, scm_pure_generic_p,
371 scm_class_direct_supers, scm_class_direct_slots,
372 scm_class_direct_subclasses, scm_class_direct_methods,
373 scm_accessor_method_slot_definition, scm_sys_goops_loaded),
374 debug.c (scm_with_traps, scm_memoized_p, scm_make_gloc,
375 scm_gloc_p, scm_make_iloc, scm_iloc_p, scm_memcons,
376 scm_mem_to_proc, scm_proc_to_mem, scm_unmemoize,
377 scm_memoized_environment, scm_procedure_name,
378 scm_procedure_source, scm_procedure_environment, scm_debug_hang),
379 objects.c
380 (scm_class_of, scm_entity_p, scm_operator_p,
381 scm_set_object_procedure_x, scm_object_procedure,
382 scm_make_class_object), hooks.c (scm_make_hook_with_name,
383 scm_make_hook, scm_hook_p, scm_hook_empty_p, scm_add_hook_x,
384 scm_remove_hook_x, scm_reset_hook_x, scm_run_hook,
385 scm_hook_to_list), lang.c
386 (scm_nil_cons, scm_nil_car, scm_nil_cdr, scm_null, scm_nil_eq),
387 numbers.c (scm_sys_expt, scm_sys_atan2), print.c
388 (scm_print_options, scm_port_with_print_state,
389 scm_get_print_state), procs.c (scm_make_cclo, scm_procedure_p,
390 scm_closure_p, scm_thunk_p, scm_procedure_with_setter_p,
391 scm_make_procedure_with_setter, scm_procedure), throw.c
392 (scm_lazy_catch), modules.c (scm_standard_eval_closure), load.c
393 (scm_parse_path, scm_search_path), stacks.c (scm_make_stack,
394 scm_stack_ref, scm_stack_length, scm_frame_p,
395 scm_last_stack_frame, scm_frame_number, scm_frame_source,
396 scm_frame_procedure, scm_frame_arguments, scm_frame_previous,
397 scm_frame_next, scm_frame_real_p, scm_frame_procedure_p,
398 scm_frame_evaluating_args_p, scm_frame_overflow_p), filesys.c
399 (scm_dirname, scm_basename), dynwind.c
400 (scm_wind_chain), read.c (scm_read_options, scm_read,
401 scm_read_hash_extend), gc.c
402 (scm_unhash_name), eval.c (scm_eval_options_interface,
403 scm_evaluator_traps, s_scm_nconc2last), backtrace.c
404 (scm_display_error, scm_set_print_params_x,
405 scm_display_application, scm_display_backtrace, scm_backtrace),
406 async.c (scm_async, scm_system_async, scm_async_mark,
407 scm_system_async_mark, scm_run_asyncs, scm_noop,
408 scm_set_tick_rate, scm_set_switch_rate, scm_unmask_signals,
409 scm_mask_signals): Added docstrings.
410
e228a203
KN
4112001-02-15 Keisuke Nishida <kxn30@po.cwru.edu>
412
413 * dump.c (scm_undump): Use SCM_CARLOC/SCM_CDRLOC to obtain the
414 address of car/cdr. (Thanks to Dirk Herrmann)
415 Use scm_sizet to obtain the length of strings.
416 (Thanks to Matthias Koeppe)
417
1552a59d
MV
4182001-02-15 Marius Vollmer <mvo@zagadka.ping.de>
419
420 * symbols.c (scm_mem2symbol): Put a empty statement after the
421 next_symbol label. This is mandated by ANSI, appearantly.
422
3178f751
MV
4232001-02-13 Marius Vollmer <marius.vollmer@uni-dortmund.de>
424
425 * gc_os_dep.c: Do not include <linux/version.h>. It makes no
426 sense to compile for a specific kernel version. Do not include
427 <asm/signal.h> while defining __KERNEL__. This hack should no
428 longer be needed and caused problems.
429
7af4defe
MV
4302001-02-13 Marius Vollmer <mvo@zagadka.ping.de>
431
432 * eval.c (scm_ceval, scm_deval): use `SIDEVAL' instead of
433 SCM_CEVAL when evaluating subforms of `begin' forms. SCM_CEVAL
434 can not deal with immediates.
435
5d6bb349
KN
4362001-02-12 Keisuke Nishida <kxn30@po.cwru.edu>
437
438 * list.c (scm_list_copy): Validate the first argument.
439
ec9709f0
MV
4402001-02-11 Marius Vollmer <mvo@zagadka.ping.de>
441
442 Fix evaluator so that top-level expressions are correctly
443 evaluated with respect to the module system.
444
445 * modules.h. modules.c (scm_current_module_lookup_closure): New
446 function.
447
448 * eval.h (scm_primitive_eval, scm_primitive_eval_x): New
449 prototypes.
450 (scm_i_eval, scm_i_eval_x, scm_eval, scm_eval_x): Changed argument
451 names to better reflect their meaning.
452
453 * eval.c (scm_ceval, scm_deval): Recognize when `begin' is being
454 evaluated at top-level and synronize lookup closure before
455 executing every subform.
456 (scm_primitve_eval_x, scm_primitive_eval): New functions.
457 (scm_eval_x, scm_eval): Reimplement in terms of
458 scm_primitive_eval_x and scm_primitive_eval, respectively.
459
4602001-02-09 Marius Vollmer <mvo@zagadka.ping.de>
461
462 * macros.c (scm_macro_name, scm_macro_transformer): Use
463 SCM_SMOB_DATA instead of SCM_CDR. Provided by Martin Grabmueller.
464 Thanks!
465
42417394
KN
4662001-02-10 Keisuke Nishida <kxn30@po.cwru.edu>
467
468 * dump.c (scm_store_bytes): Store data size before data.
469 (scm_restore_bytes): Restore data size. Takes a pointer to size.
470 * dump.h (scm_restore_bytes): Updated.
471
bf942687
KN
4722001-02-09 Keisuke Nishida <kxn30@po.cwru.edu>
473
474 * dump.c: Use double cells for update schedule.
475
1be4270a
KN
4762001-02-08 Keisuke Nishida <kxn30@po.cwru.edu>
477
478 * ports.c (scm_unread_char): Take an optional argument.
479
548728ea
MV
4802001-02-08 Marius Vollmer <marius.vollmer@uni-dortmund.de>
481
482 * modules.h (scm_selected_module, scm_current_module): Renamed
483 scm_selected_module to scm_current_module to synchronize Scheme
484 and C names.
485 (scm_select_module, scm_set_current_module): Likewise. Changed
486 all uses.
487
488 * ports.c (scm_port_for_each): Make a snapshot of the port table
489 before iterating over it. The table might change while the user
490 code is running. With the snapshot, the user can depend on the
c5408bc3 491 fact that each port that existed at the start of the iteration is
548728ea
MV
492 encountered exactly once. (ice-9 popen) depends on this.
493
cb0d8be2
DH
4942001-02-08 Dirk Herrmann <D.Herrmann@tu-bs.de>
495
496 * strings.h (SCM_STRING_MAX_LENGTH): New macro.
497
498 * strings.c (scm_makstr, scm_take_str, scm_make_string): Added
499 range checking for the size parameter. Thanks to Martin
500 Grabmueller for the hint.
501
502 (scm_makstr): Reordered string initialization to make interrupt
503 deferring unnecessary.
504
505 * vectors.c (scm_make_vector): Fixed range checking.
506
e382fdbe
DH
5072001-02-08 Dirk Herrmann <D.Herrmann@tu-bs.de>
508
509 * vectors.h (SCM_VECTOR_MAX_LENGTH): New macro.
510
511 * vectors.c (scm_make_vector, scm_c_make_vector): Improved the
512 checking of the size parameter for type correctness and valid
513 range. Thanks to Rob Browning for reporting the problem. Instead
514 of deferring interrupts, scm_remember_upto_here_1 is used.
515
bf8f0922
KN
5162001-02-05 Keisuke Nishida <kxn30@po.cwru.edu>
517
518 * dump.c (scm_store_cell_object, scm_restore_cell_object): Removed.
519 (scm_dump_cell_update): Removed.
520 (scm_dump_update): Renamed from scm_dump_object_update.
521 (scm_restore_string, scm_restore_bytes, scm_restore_word): Takes
522 a pointer instead of returning a value.
523 * keywords.c (keyword_undump): Updated.
524
914cceec
KN
5252001-02-05 Keisuke Nishida <kxn30@po.cwru.edu>
526
527 * dump.c, dump.h: Modified a lot.
5f17c66f 528 (SCM_DUMP_COOKIE): Version 0.1
914cceec
KN
529 (scm_dump_mark): Removed.
530 (scm_restore_cell_object, scm_store_cell_object): New functions.
531
532 * smob.h (scm_smob_descriptor): Removed slots: dump_mark,
533 dump_dealloc, dump_store, undump_alloc, undump_restore, undump_init.
534 New slots: dump, undump.
535 * smob.c (scm_make_smob_type, scm_set_smob_dump, scm_set_smob_undump):
536 Updated.
537
538 * keywords.c (keyword_dump): Renamed from keyword_dealloc.
539 (keyword_undump): Renamed from keyword_alloc.
540 (scm_init_keywords): Set keyword_dump and keyword_undump.
541
ecf470a2
ML
5422001-02-03 Michael Livshin <mlivshin@bigfoot.com>
543
544 * gc.c (DOUBLECELL_ALIGNED_P): new macro, a better-named analog of
545 the deprecated SCM_DOUBLE_CELLP.
546
547 * tags.h (SCM_DOUBLE_CELLP): deprecated.
548
03416a99
KN
5492001-02-02 Keisuke Nishida <kxn30@po.cwru.edu>
550
551 * dump.c, dump.h: New files.
552 * Makefile.am: Added dump.c, dump.h, dump.x, dump.doc.
553 * init.c: #include "libguile/dump.h".
554 (scm_init_guile_1): Call scm_init_dump.
555 * smob.h (scm_smob_descriptor): New slots: dump_mark,
556 dump_dealloc, dump_store, undump_alloc, undump_restore,
557 undump_init.
558 * smob.c (scm_make_smob_type): Init the new slots.
559 (scm_set_smob_dump, scm_set_smob_undump): New functions.
560 * smob.h (scm_set_smob_dump, scm_set_smob_undump): Declared.
561
562 * keywords.c: #include "libguile/dump.h".
563 (keyword_dealloc, keyword_alloc): New functions.
564 (scm_init_keywords): Set smob_dump and smob_undump.
565
00ffa0e7
KN
5662001-02-01 Keisuke Nishida <kxn30@po.cwru.edu>
567
568 * vectors.c (scm_c_make_vector): New function.
569 * vectors.h (scm_c_make_vector): Declared.
570 * eval.c (scm_copy_tree), filesys.c (scm_stat2scm), fluids.c
571 (scm_make_initial_fluids, grow_fluids), gc.c (scm_init_storage),
572 gh_data.c (gh_ints2scm, gh_doubles2scm): goops.c
573 (scm_make_method_cache, scm_i_vector2list,
574 scm_compute_applicable_methods, scm_sys_method_more_specific_p),
575 init.c (start_stack), net_db.c (scm_gethost, scm_getnet,
576 scm_getproto, scm_return_entry), posix.c (scm_getgroups,
577 scm_getpwuid, scm_getgrgid, scm_uname), print.c (make_print_state,
578 grow_ref_stack), regex-posix.c (scm_regexp_exec), scmsigs.c
579 (scm_init_scmsigs), socket.c (scm_addr_vector, scm_addr_vector),
580 stime.c (scm_times, filltime), unif.c (scm_make_uve), vectors.c
581 (scm_vector, scm_make_vector): Use scm_c_make_vector.
582
583 * hashtab.c (scm_c_make_hash_table): New function.
584 * hashtab.h (scm_c_make_hash_table): Declared.
585 * environments.c (scm_make_leaf_environment,
586 scm_make_eval_environment), gc.c (scm_init_storage),
587 keywords.c (scm_init_keywords), symbols.c (scm_builtin_bindings):
588 Use scm_c_make_hash_table.
589
b8446ce8
MD
5902001-01-31 Mikael Djurfeldt <mdj@linnaeus.mit.edu>
591
592 * unif.c (rapr1): Don't apply scm_uniform_vector_length on arrays.
593
e3239868
DH
5942001-01-29 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
595
596 * struct.c (scm_make_vtable_vtable): Removed unnecessary "" from
597 end of docstring.
598
599 * struct.c (scm_struct_set_x, scm_struct_vtable_tag,
600 scm_struct_vtable_name, scm_set_struct_vtable_name_x), weaks.c
601 (scm_make_weak_value_hash_table, scm_make_doubly_weak_hash_table,
602 scm_weak_value_hash_table_p, scm_doubly_weak_hash_table_p),
603 srcprop.c (scm_source_properties, scm_set_source_properties_x,
604 scm_source_property, scm_set_source_property_x), sort.c
605 (scm_sort_list_x, scm_restricted_vector_sort_x, scm_sorted_p,
606 scm_merge, scm_merge_x, scm_sort_x, scm_sort, scm_stable_sort_x,
607 scm_stable_sort, scm_sort_list_x, scm_sort_list): Added
608 docstrings.
609
41ee56dd
MD
6102001-01-29 Mikael Djurfeldt <mdj@linnaeus.mit.edu>
611
612 * eval.c (SCM_APPLY): Check that primitives which take 1 arg
613 really get that arg.
614
b6311c08
KN
6152001-01-26 Keisuke Nishida <kxn30@po.cwru.edu>
616
617 * goops.c (s_scm_get_keyword): Bug fix.
618
a49af0c0
DH
6192001-01-26 Dirk Herrmann <D.Herrmann@tu-bs.de>
620
621 The following patch was sent by Martin Grabmueller. It makes sure
622 that in case of parameter errors the correct function name is
623 shown, and that parameter types are only checked once.
624
625 * strop.c (string_copy, string_upcase_x, string_downcase_x,
626 string_capitalize_x): New functions. Each one performs the core
627 functionality of the corresponding scm_* function.
628
629 (scm_string_copy, scm_string_upcase_x, scm_string_upcase,
630 scm_string_downcase_x, scm_string_downcase,
631 scm_string_capitalize_x, scm_string_capitalize): Reduced to
632 parameter checking wrappers of the above functions.
633
13070bd3
DH
6342001-01-26 Dirk Herrmann <D.Herrmann@tu-bs.de>
635
636 * continuations.c, dynl.c, keywords.c, load.c: Include
637 strings.h. Thanks to Bill Schottstaedt for the bug report.
638
2f2b390c
DH
6392001-01-25 Dirk Herrmann <D.Herrmann@tu-bs.de>
640
641 * backtrace.c (display_header): Make sure that line and column
642 information is shown independent of whether the port the code was
643 read from had an associated filename. Thanks to Martin
644 Grabmueller for providing this patch.
645
efa40607
DH
6462001-01-25 Dirk Herrmann <D.Herrmann@tu-bs.de>
647
648 * fports.[ch] (scm_file_port_p): New primitive.
649
a98bddfd
DH
6502001-01-25 Dirk Herrmann <D.Herrmann@tu-bs.de>
651
652 * tags.h (scm_tc16_fport, scm_tc16_strport, scm_tc16_sfport):
653 These are now defined in fports.c, strports.c and vports.c.
654
655 * fports.[ch] (scm_tc16_fport), strports.c (scm_tc16_strport),
656 vports.c (scm_tc16_sfport): Made variables (were macros defined in
657 tags.h).
658
659 fports.c (scm_make_fptob), strports.c (scm_make_stptob), vports.c
660 (scm_make_sfptob): Made static. These return a type code now.
661
662 fports.c (scm_init_fports), strports.c (scm_init_strports),
663 vports.c (scm_init_vports): Create the corresponding port types.
664
665 * fports.h (SCM_FPORTP, SCM_OPFPORTP, SCM_OPINFPORTP,
666 SCM_OPOUTFPORTP): Redefined in terms of scm_tc16_fport.
667
668 * init.c (scm_init_guile_1): Make sure strports are initialized
669 before gdbint.
670
671 * ports.[ch] (scm_make_port_type): Changed the return type to
672 scm_bits_t.
673
674 * ports.c (scm_ports_prehistory): Don't create any port types
675 here.
676
677 * posix.c (scm_ttyname): Use SCM_FPORTP instead of comparing
678 against scm_tc16_fport directly.
679
0419a528
DH
6802001-01-25 Dirk Herrmann <D.Herrmann@tu-bs.de>
681
682 * srcprop.c (scm_set_source_property_x): Fix to handle
683 (set-source-property! <obj> 'copy <datum>) correctly.
684
6d36532c
GH
6852001-01-24 Gary Houston <ghouston@arglist.com>
686
687 * filesys.c (scm_link): docstring fix.
688 * fports.h (scm_setfileno): obsolete declaration removed.
689 * posix.c: bogus popen declaration removed.
690
691 * rdelim.c: new file, split from ioext.c.
692 * rdelim.h: new file, split from ioext.h
693 * Makefile.am: add rdelim.c and related files.
694 * init.c: call scm_init_rdelim. include rdelim.h.
695
3ba5a6c2
DH
6962001-01-24 Dirk Herrmann <D.Herrmann@tu-bs.de>
697
698 This patch was sent by Martin Grabmueller and makes sure that
699 parameter errors are reported correctly by the lexicographic
700 ordering predicates.
701
702 * strorder.c (string_less_p, string_ci_less_p): New functions.
703
704 (scm_string_less_p, scm_string_ci_less_p): Extracted the core
705 functionality into string_less_p, string_ci_less_p respectively.
706 The remaining code is just a wrapper to do the parameter
707 checking.
708
709 (scm_string_leq_p, scm_string_gr_p, scm_string_geq_p): Check the
710 parameters and call string_less_p instead of scm_string_less_p.
711
712 (scm_string_ci_leq_p, scm_string_ci_gr_p, scm_string_ci_geq_p):
713 Check the parameters and call string_less_ci_p instead of
714 scm_string_ci_less_p.
715
e40a4095
DH
7162001-01-24 Dirk Herrmann <D.Herrmann@tu-bs.de>
717
ed6a2db9
DH
718 This patch modifies scm_display_error to perform parameter
719 checking. Thanks to Neil Jerram for the bug report.
720
e40a4095
DH
721 * backtrace.[ch] (scm_i_display_error): New function.
722
723 * backtrace.c (scm_display_error): Added parameter check and
724 extracted the core functionality into function
725 scm_i_display_error.
726
727 * throw.c (handler_message): Call scm_i_display_error to display
728 the error message.
729
f1e06a96
MD
7302001-01-23 Mikael Djurfeldt <mdj@linnaeus.mit.edu>
731
732 * eval.c (SCM_APPLY): Added # args check for application of
733 procedures with arity 3. (Thanks to Anders Holst.)
734
30ea841d
DH
7352001-01-24 Dirk Herrmann <D.Herrmann@tu-bs.de>
736
737 * filesys.h (SCM_DIR_FLAG_OPEN, SCM_DIR_OPEN_P): Added.
738
739 (SCM_OPDIRP): Deprecated.
740
741 * filesys.c (scm_opendir): Use SCM_DIR_FLAG_OPEN instead of
742 SCM_OPN.
743
744 (scm_readdir, scm_rewinddir): Don't use SCM_VALIDATE_OPDIR.
745 Instead, give an explicit error message in case the directory is
746 closed.
747
748 (scm_closedir, scm_dir_print): Rewritten to use SCM_DIR_OPEN_P
749 instead of SCM_OPENP and SCM_CLOSEDP.
750
751 * validate.h (SCM_VALIDATE_OPDIR): Deprecated.
752
312ae976
DH
7532001-01-22 Dirk Herrmann <D.Herrmann@tu-bs.de>
754
755 * eval.c (inner_eval, scm_eval): Move all real functionality into
756 inner_eval. Avoid to copy the expression twice by inlining some
757 code from scm_i_eval.
758
4567ed78
DH
7592001-01-19 Dirk Herrmann <D.Herrmann@tu-bs.de>
760
761 * eval.c (scm_m_case): The 'else' clause of a 'case' statement
762 now has to be the last clause, as required by R5RS. Thanks to
763 Martin Grabmueller for the patch.
764
10288a09
GH
7652001-01-18 Gary Houston <ghouston@arglist.com>
766
767 * ioext.c: further simplify scm_read_string_x_partial by defining
768 a macro SCM_EBLOCK.
769
8f379a8f
DH
7702001-01-18 Dirk Herrmann <D.Herrmann@tu-bs.de>
771
772 * gh_data.c (gh_ints2scm): Simplified using SCM_FIXABLE.
773
5c75b29f
DH
7742001-01-18 Dirk Herrmann <D.Herrmann@tu-bs.de>
775
776 * __scm.h: Added comment about architecture and compiler
777 properties that are required by guile.
778
779 (SCM_FIXNUM_BIT, SCM_MOST_POSITIVE_FIXNUM,
780 SCM_MOST_NEGATIVE_FIXNUM): Moved to numbers.h.
781
782 (SCM_CHAR_BIT, SCM_LONG_BIT): Moved here from numbers.h.
783
784 * numbers.h (SCM_CHAR_BIT, SCM_LONG_BIT): Moved to __scm.h.
785
786 (SCM_FIXNUM_BIT, SCM_MOST_POSITIVE_FIXNUM,
787 SCM_MOST_NEGATIVE_FIXNUM): Moved here from __scm.h.
788
ac0c002c
DH
7892001-01-17 Dirk Herrmann <D.Herrmann@tu-bs.de>
790
791 * __scm.h (SCM_FIXNUM_BIT): Added. The name is chosen in analogy
792 to the names in limits.h.
793
794 * numbers.c (abs_most_negative_fixnum): Added.
795
796 (scm_quotient, scm_remainder): Fixed the fixnum-min / (abs
797 fixnum-min) special case.
798
799 (scm_big_and): Fix for negative first parameter.
800
801 (scm_bit_extract): Fix for fixnum paramters.
802 Thanks to Rob Browning for the bug report.
803
804 (scm_init_numbers): Initialize abs_most_negative_fixnum.
805
debe0dc2
DH
8062001-01-16 Dirk Herrmann <D.Herrmann@tu-bs.de>
807
808 * symbols.c (scm_symbol_bound_p): Fixed comment.
809 Thanks to Chris Cramer.
810
8a39e3fc
DH
8112001-01-15 Dirk Herrmann <D.Herrmann@tu-bs.de>
812
813 * smob.[ch] (scm_make_smob_type): Return type is scm_bits_t now.
814 Thanks to Bill Schottstaedt.
815
322ec19d
ML
8162001-01-11 Michael Livshin <mlivshin@bigfoot.com>
817
818