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