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