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