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