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