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