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