* INSTALL, Makefile.am, configure.in: Updated copyright notice.
[bpt/guile.git] / libguile / ChangeLog
CommitLineData
e658215a
RB
12001-07-19 Rob Browning <rlb@defaultvalue.org>
2
3 * gc_os_dep.c (GC_noop1): ifdef out (unused) to quiet warning.
4
5 * c-tokenize.lex: add option %nounput to quiet warning.
6 Add prototype for yylex to quiet warning.
7
8 * scmconfig.h.in: add flags for setitimer and getitimer.
9
10 * scmsigs.h (scm_init_scmsigs): new prototype.
11 (scm_init_scmsigs): new prototype.
12
13 * scmsigs.c (s_scm_setitimer): new function.
14 (s_scm_setitimer): new function.
15
6b80d352
DH
162001-07-17 Dirk Herrmann <D.Herrmann@tu-bs.de>
17
18 * goops.c (sym_layout, sym_vcell, sym_vtable, sym_print,
19 sym_procedure, sym_setter, sym_redefined, sym_h0, sym_h1, sym_h2,
20 sym_h3, sym_h4, sym_h5, sym_h6, sym_h7, sym_name,
21 sym_direct_supers, sym_direct_slots, sym_direct_subclasses,
22 sym_direct_methods, sym_cpl, sym_default_slot_definition_class,
23 sym_slots, sym_getters_n_setters, sym_keyword_access, sym_nfields,
24 sym_environment, scm_sym_change_class): New static variables to
25 hold predefined symbols.
26
27 (build_class_class_slots): Build the list using scm_list_n
28 instead of cons. Also, slots are already created as lists, thus
29 making a call to maplist unnecessary.
30
31 (scm_class_name, scm_class_direct_supers, scm_class_direct_slots,
32 scm_class_direct_subclasses, scm_class_direct_methods,
33 scm_class_precedence_list, scm_class_slots, scm_class_environment,
34 scm_method_procedure, create_standard_classes, purgatory): Use
35 predefined symbols.
36
37 (build_slots_list, compute_getters_n_setters,
38 scm_sys_initialize_object, scm_sys_inherit_magic_x,
39 get_slot_value_using_name, set_slot_value_using_name,
40 scm_sys_invalidate_method_cache_x, scm_generic_capability_p,
41 scm_compute_applicable_methods, scm_sys_method_more_specific_p,
42 make_struct_class): Prefer !SCM_<pred> over SCM_N<pred>.
43
44 (scm_sys_prep_layout_x): Minimize variable scopes.
45
46 (scm_sys_prep_layout_x, scm_sys_fast_slot_ref,
47 scm_sys_fast_slot_set_x): Fix signedness.
48
49 (go_to_hell, go_to_heaven, purgatory, scm_change_object_class,
50 lock_cache_mutex, unlock_cache_mutex, call_memoize_method,
51 scm_memoize_method, scm_wrap_object): Use packing and unpacking
52 when converting to and from SCM values.
53
54 (scm_enable_primitive_generic_x): Add rest argument checking.
55
56 (map, filter_cpl, maplist, scm_sys_initialize_object,
57 scm_sys_prep_layout_x, slot_definition_using_name,
58 scm_enable_primitive_generic_x, scm_compute_applicable_methods,
59 call_memoize_method, scm_make, scm_make_class): Prefer explicit
60 predicates over SCM_N?IMP tests.
61
62 (scm_sys_prep_layout_x): Fix typo in error message. Fix type
63 checking.
64
65 (burnin, go_to_hell): Use SCM_STRUCT_DATA instead of the SCM_INST
66 alias.
67
63bcad19
DH
682001-07-16 Dirk Herrmann <D.Herrmann@tu-bs.de>
69
70 * fports.c (fport_print): Don't use SCM_C[AD]R for non pairs.
71
72 * num2integral.i.c (INTEGRAL2NUM, INTEGRAL2BIG): Fix signedness.
73
74 * symbols-deprecated.c (scm_gentemp): Simplify vector test.
75
76 * vectors.c (scm_vector_p): Eliminate redundant IMP test.
77
4d6aae71
ML
782001-07-12 Michael Livshin <mlivshin@bigfoot.com>
79
80 * strings.c (s_scm_string): fix arg position in assert.
81
4b8ec619
GH
822001-07-11 Gary Houston <ghouston@arglist.com>
83
84 * strports.c (st_write): use memcpy, not strncpy. thanks to
85 Dale P. Smith.
86
dbb640bd
TTN
872001-07-09 Thien-Thi Nguyen <ttn@revel.glug.org>
88
89 * alist.c, alloca.c, arbiters.c, async.c, async.h, backtrace.c,
90 boolean.c, chars.c, continuations.c, coop-defs.h, coop-threads.c,
91 debug-malloc.h, debug.c, debug.h, dynl.c, dynwind.c, eq.c,
92 error.c, eval.c, evalext.c, feature.c, feature.h, filesys.c,
93 filesys.h, fluids.c, fluids.h, fports.c, fports.h, gc.c, gc.h,
94 gdbint.c, gsubr.c, guardians.c, hash.c, hashtab.c, hooks.c,
95 hooks.h, inet_aton.c, init.c, ioext.c, keywords.c, keywords.h,
96 lang.c, list.c, load.c, macros.c, mallocs.c, memmove.c, modules.c,
97 net_db.c, numbers.c, numbers.h, objects.c, objprop.c, options.c,
98 pairs.c, pairs.h, ports.c, ports.h, posix.c, print.c, print.h,
99 procprop.c, procs.c, procs.h, properties.c, putenv.c, ramap.c,
100 random.c, random.h, read.c, regex-posix.c, regex-posix.h, root.c,
101 root.h, scmsigs.c, script.c, simpos.c, smob.c, snarf.h, socket.c,
102 sort.c, srcprop.c, srcprop.h, stackchk.c, stacks.c, stacks.h,
103 stime.c, strerror.c, strings.c, strings.h, strop.c, strorder.c,
104 strports.c, struct.c, struct.h, symbols-deprecated.c, symbols.c,
105 symbols.h, tags.h, threads.c, threads.h, throw.c, unif.c, unif.h,
106 variable.c, variable.h, vectors.c, vectors.h, version.c, vports.c,
107 weaks.c, weaks.h: Remove "face-lift" comment.
108
fd6c6321
RB
1092001-07-08 Rob Browning <rlb@defaultvalue.org>
110
111 * .cvsignore: add stamp-h.in.
112
f91e4547
MG
1132001-07-04 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
114
115 * hooks.c (scm_make_hook, scm_add_hook_x),
116 (scm_remove_hook_x, scm_reset_hook_x, scm_run_hook): Added return
117 value info to the docstrings.
118
7beabedb
MG
1192001-07-03 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
120
121 Some more compatibility patches for Windows.
dbb640bd 122
7beabedb
MG
123 * posix.c (getlogin): getlogin() implementation for Windows.
124
125 * backtrace.c, ioext.c: Include <stdio.h>.
126
127 * unif.c, script.c, rw.c, error.c: Include <io.h>, if it does
128 exist.
129
130 * cpp_sig_symbols.in: Added SIGBREAK.
131
0d0560d0
MV
1322001-07-01 Marius Vollmer <mvo@zagadka.ping.de>
133
134 * strports.c (scm_read_0str, scm_eval_0str): Call
135 scm_c_read_string and scm_c_eval_string respectively, not
136 themselves. Thanks to Dale P. Smith!
137
9a97e362
DH
1382001-06-30 Dirk Herrmann <D.Herrmann@tu-bs.de>
139
140 * unif.c (scm_array_set_x): The variable args does not
141 necessarily have to be a list. Further, got rid of a redundant
142 SCM_NIMP test.
143
592996c9
DH
1442001-06-30 Dirk Herrmann <D.Herrmann@tu-bs.de>
145
146 * list.c (SCM_I_CONS): Make sure the cell type is initialized
147 last.
148
149 * gc.c (s_scm_map_free_list, scm_igc, scm_gc_sweep,
f91e4547 150 init_heap_seg): Fixed signedness.
592996c9
DH
151
152 (init_heap_seg): Replaced strange for-loop with a while loop.
153
154 * weaks.h (WEAKSH, SCM_WEAKS_H): Rename <foo>H to SCM_<foo>_H.
155
156 (SCM_WVECTP): Prefer !SCM_<pred> over SCM_N<pred>.
157
158 The following patch adds conservative marking for the elements of
159 free or allocated cells.
160
161 * gc.c (allocated_mark, heap_segment): New static functions.
162
163 (which_seg): Deleted, since the functionality is now provided by
164 function heap_segment.
165
166 (map_free_list): Use heap_segment instead of which_seg.
167
168 (MARK): If cell debugging is disabled, mark free cells
169 conservatively.
170
171 (scm_mark_locations, scm_cellp): Extracted the search for the
172 heap segment of a SCM value into function heap_segment.
173
174 (scm_init_storage): Allocated cells must be marked
175 conservatively.
176
177 * gc.[ch] (scm_gc_mark_cell_conservatively): New function.
178
179 The following patch changes the representation of weak vectors to
180 double cells instead of using an extension of the vector's
181 allocated memory.
182
183 * gc.c (MARK): Use SCM_SET_WVECT_GC_CHAIN instead of assigning to
184 the result of SCM_WVECT_GC_CHAIN.
185
186 (scm_gc_sweep): Weak vectors don't have extra fields any more.
187
188 * weaks.c (allocate_weak_vector): New static function. It does
189 not patch any previously created vector object during the
190 construction of a weak vector, and thus doesn't need to switch
191 off interrupts during vector creation.
192
193 (scm_make_weak_vector, scm_make_weak_key_hash_table,
194 scm_make_weak_value_hash_table, scm_make_doubly_weak_hash_table):
195 Use allocate_weak_vector to provide the new weak vector object.
196
197 * weaks.h (SCM_WVECT_TYPE, SCM_SET_WVECT_TYPE,
198 SCM_SET_WVECT_GC_CHAIN): New macros. The weak vector subtype is
199 now stored in the double cell.
200
201 (SCM_IS_WHVEC, SCM_IS_WHVEC_V, SCM_IS_WHVEC_B, SCM_IS_WHVEC_ANY):
202 Use SCM_WVECT_TYPE.
203
204 (SCM_WVECT_GC_CHAIN): The weak objects are now chained together
205 using an entry of the double cell.
206
4dadf664
TTN
2072001-06-30 Thien-Thi Nguyen <ttn@revel.glug.org>
208
209 * stamp-h.in: bye bye
210
02202352
MV
2112001-06-30 Marius Vollmer <mvo@zagadka.ping.de>
212
213 * gh_eval.c (gh_eval_str): Use scm_c_eval_string instead of
214 scm_eval_0str.
215
216 * load.c, load.h (scm_c_primitive_load,
217 scm_c_primitive_load_path): New.
218
219 * strports.c, strports.h (scm_c_read_string): Renamed from
220 scm_read_0str. Also, added "const" qualifier to argument.
221 (scm_c_eval_string): Renamed from scm_eval_0str.
222 (scm_read_0str, scm_eval_0str): Deprecated.
223
df1ad0d1
MG
2242001-06-28 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
225
226 * fluids.c (scm_c_with_fluid): Use scm_list_1() instead of
227 SCM_LIST1.
228
1afff620
KN
2292001-06-28 Keisuke Nishida <kxn30@po.cwru.edu>
230
231 * list.h (scm_list_1, scm_list_2, scm_list_3, scm_list_4, scm_list_5,
232 scm_list_n): New functions.
233 (SCM_LIST0, SCM_LIST1, SCM_LIST2, SCM_LIST3, SCM_LIST4, SCM_LIST5,
234 SCM_LIST6, SCM_LIST7, SCM_LIST8, SCM_LIST9, scm_listify): Deprecated.
235 (lots of files): Use the new functions.
4dadf664 236
1afff620
KN
237 * goops.c (CALL_GF1, CALL_GF2, CALL_GF3, CALL_GF4): Use scm_call_N.
238
239 * strings.c: #include "libguile/deprecation.h".
240
b858464a
MG
2412001-06-27 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
242
243 * read.c (scm_lreadr): When reading a hash token, check for a
244 user-defined hash procedure first, so that overriding the builtin
245 hash characters is possible (this was needed for implementing
246 SRFI-4's read synax `f32(...)').
4dadf664 247
b858464a
MG
248 * num2integral.i.c: Use scm_t_signed_bits instead of scm_t_bits,
249 because the latter is unsigned now and breaks comparisons like
250 (n < (scm_t_signed_bits)MIN_VALUE).
4dadf664 251
d95c0b76
NJ
2522001-06-26 Neil Jerram <neil@ossau.uklinux.net>
253
254 * eval.h, eval.c (scm_call_4): New function.
255
256 * eval.c (SCM_APPLY, SCM_CEVAL, ENTER_APPLY): Call trap handlers
257 directly rather than dispatching to them via scm_ithrow and a lazy
258 catch.
4dadf664 259
d95c0b76
NJ
260 * eval.c (scm_evaluator_trap_table), eval.h (SCM_ENTER_FRAME_HDLR,
261 SCM_APPLY_FRAME_HDLR, SCM_EXIT_FRAME_HDLR): Add three new options
262 for trap handler procedures.
263
264 * debug.h (SCM_RESET_DEBUG_MODE): Add checks for trap handler
265 procedures not being #f.
266
30e3be5a
ML
2672001-06-27 Michael Livshin <mlivshin@bigfoot.com>
268
269 * Makefile.am (c-tokenize.c): add rule to generate it.
270 (EXTRA_DIST): add c-tokenize.lex, so it gets distributed.
271
272 filter-doc-snarfage.c: remove.
273
82893676
MG
2742001-06-26 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
275
276 * ports.c (scm_output_port_p): Use result of SCM_COERCE_OUTPORT.
277
278 The following set of changes makes compiling Guile under various
279 Windows compilers easier. Compilation under GNU systems should
280 not be affected at all.
281
282 Thanks to Stefan Jahn for all necessary information, patches and
283 testing.
4dadf664 284
82893676
MG
285 * posix.c: Conditialize getpwent, getgrent, kill, getppid, getuid,
286 getpgrp, ttyname, primitive-fork and some header inclusion for
287 Windows.
288
289 * random.c: Define M_PI, if not predefined and use __int64 for
290 LONG64 under Windows.
291
292 * scmsigs.c: Emulate some functions (alarm, sleep, kill) under
293 Windows and conditionalize some signal names.
294
4dadf664 295 * socket.c (scm_getsockopt): Added missing comma.
82893676
MG
296 Include socket library header under Windows.
297
298 * stime.c (CLKTCK): Add cast to int, to make it compile under
299 Windows.
300
301 * ports.c (truncate): New function, compiled only under Windows.
302
303 * net_db.c: Do not declare errno under Windows.
304
305 * iselect.h, inet_aton.c: Include socket library headers under
306 Windows.
307
308 * guile.c (inner_main): Under Windows, initialize socket library
309 and initialize gdb_interface data structures.
310
311 * gdb_interface.h: Under Windows, gdb_interface cannot be
312 initialized statically. Initialize at runtime instead.
313
314 * fports.c (write_all): ssize_t -> size_t.
315 (fport_print): Conditionalize call to ttyname().
316 (getflags): New function, compiled only under Windows.
317
318 * filesys.c: Conditionalize inclusion of <pwd.h>. Conditionalize
319 primitives chown, link, fcntl.
320 (scm_basename, scm_dirname): Under Windows, handle \ as well as /
321 as path seperator.
322
323 * backtrace.c: Include <io.h> under Windows.
324
325 * async.h (ASYNCH, SCM_ASYNC_H): Rename <foo>H to SCM_<foo>_H.
326
327 * _scm.h: Added preprocessor conditional for __MINGW32__ for errno
328 declaration.
329
fdc28395
KN
3302001-06-27 Keisuke Nishida <kxn30@po.cwru.edu>
331
332 * eval.c (scm_call_0, scm_call_1, scm_call_2, scm_call_3,
333 scm_apply_0, scm_apply_1, scm_apply_2, scm_apply_3): New functions.
334 * eval.h (scm_call_0, scm_call_1, scm_call_2, scm_call_3,
335 scm_apply_0, scm_apply_1, scm_apply_2, scm_apply_3): Declared.
336 * async.c (scm_run_asyncs), coop-threads.c (scheme_body_bootstrip,
337 scheme_handler_bootstrip), debug.c (with_traps_inner), dynwind.c
338 (scm_dynamic_wind, scm_dowinds), environments.c
339 (import_environment_conflict), eval.c (scm_macroexp, scm_force,
340 scm_primitive_eval_x, scm_primitive_eval), fluids.c (apply_thunk),
341 goops.c (GETVAR, purgatory, make_class_from_template,
342 scm_ensure_accessor), hashtab.c (scm_ihashx, scm_sloppy_assx,
343 scm_delx_x, fold_proc), hooks.c (scm_c_run_hook), load.c
344 (scm_primitive_load), modules.c (scm_resolve_module,
345 scm_c_define_module, scm_c_use_module, scm_c_export,
346 module_variable, scm_eval_closure_lookup, scm_sym2var,
347 scm_make_module, scm_ensure_user_module, scm_load_scheme_module),
348 ports.c (scm_port_for_each), print.c (scm_printer_apply),
349 properties.c (scm_primitive_property_ref), ramap.c (ramap,
350 ramap_cxr, rafe, scm_array_index_map_x, read.c (scm_lreadr),
351 scmsigs.c (sys_deliver_signals), sort.c (applyless), strports.c
352 (scm_object_to_string, scm_call_with_output_string,
353 scm_call_with_input_string), throw.c (scm_body_thunk,
354 scm_handle_by_proc, hbpca_body), unif.c (scm_make_shared_array,
355 scm_make_shared_array), vports.c (sf_flush, sf_write,
356 sf_fill_input, sf_close): Use one of the above functions.
357 * goops.c, hashtab.c, scmsigs.c, sort.c: #include "libguile/root.h".
358
36284627
DH
3592001-06-26 Dirk Herrmann <D.Herrmann@tu-bs.de>
360
361 * filesys.c (scm_close), ports.c (scm_close_port,
362 scm_port_closed_p), strop.c (scm_string_null_p): Use SCM_BOOL
363 instead of SCM_NEGATE_BOOL.
364
365 * filesys.c (scm_stat): Clean up type dispatch.
366
367 * filesys.c (scm_stat), ports.c (scm_input_port_p,
368 scm_output_port_p): Get rid of redundant IM type check.
369
370 * filesys.c (scm_readdir, scm_getcwd, scm_readlink), gh_data.c
371 (gh_str2scm), load.c (scm_primitive_load, scm_internal_parse_path,
372 scm_search_path), net_db.c (scm_gethost, scm_getnet, scm_getproto,
373 scm_return_entry), numbers.c (scm_number_to_string), objects.c
374 (scm_make_subclass_object), ports.c (scm_port_mode), read.c
375 (scm_lreadr), simpos.c (scm_getenv), socket.c (scm_inet_ntoa,
376 scm_addr_vector), stime.c (scm_strftime), strings.c
377 (scm_makfromstrs, scm_makfrom0str, scm_substring), strings.h
378 (SCM_STRING_COERCE_0TERMINATION_X), strop.c (string_copy,
379 scm_string_split), strports.c (scm_strport_to_string), symbols.c
380 (scm_symbol_to_string), vports.c (sf_write): Use scm_mem2string
381 instead of scm_makfromstr.
382
383 * net_db.c (scm_sethost, scm_setnet, scm_setproto, scm_setserv),
384 ports.c (scm_close_all_ports_except), read.c (scm_lreadr,
385 scm_read_hash_extend), stime.c (scm_strftime), strings.c
386 (scm_string_append, scm_string), strings.h (SCM_STRINGP,
387 SCM_STRING_COERCE_0TERMINATION_X, SCM_RWSTRINGP), strop.c
388 (string_capitalize_x): Prefer explicit type check over SCM_N?IMP,
389 !SCM_<pred> over SCM_N<pred>.
390
391 * strings.[ch] (scm_makfromstr): Deprecated.
392
393 (scm_mem2string): New function, replaces scm_makfromstr.
394
395 * strings.c (scm_substring), strop.c (string_copy,
396 scm_string_split), strports.c (scm_strport_to_string), symbols.c
397 (scm_symbol_to_string): Fix gc problem.
398
399 * strings.h (STRINGSH, SCM_STRINGS_H): Rename <foo>H to
400 SCM_<foo>_H.
401
402 * validate.h (SCM_VALIDATE_SUBSTRING_SPEC_COPY): Eliminate
403 warning about comparing signed and unsigned values. This fix is
404 not optimal, since it won't work reliably if sizeof (c_start) >
405 sizeof (size_t) or sizeof (c_end) > sizeof (size_t). A better
406 solution is to define this macro as an inline function, thus
407 allowing to specifiy the types of c_start and c_end.
408
13dcb666
DH
4092001-06-25 Dirk Herrmann <D.Herrmann@tu-bs.de>
410
411 * debug.h (SCM_DEBUGOBJ_FRAME): Deliver result as a
412 scm_t_debug_frame*.
413
414 * debug.h (DEBUGH, SCM_DEBUG_H), stacks.h (STACKSH, SCM_STACKSH):
415 Rename <foo>H to SCM_<foo>_H.
416
417 * stacks.c (NEXT_FRAME, narrow_stack): Prefer explicit type check
418 over SCM_N?IMP, !SCM_<pred> over SCM_N<pred>.
419
420 (narrow_stack): Make i unsigned. Don't use side-effecting
421 operations in conditions.
422
423 (narrow_stack, scm_make_stack, scm_stack_id,
424 scm_last_stack_frame): Get rid of redundant SCM_N?IMP checks.
425
426 (scm_make_stack, scm_stack_id, scm_last_stack_frame): Clean up
427 type dispatch. No need to cast result of SCM_DEBUGOBJ_FRAME any
428 more.
429
430 (scm_stack_ref, scm_frame_previous, scm_frame_next): Fix
431 signedness.
432
433