*** empty log message ***
[bpt/guile.git] / libguile / ChangeLog
CommitLineData
cf504ee0
NJ
12001-08-18 Neil Jerram <neil@ossau.uklinux.net>
2
3 * __scm.h (SCM_ENABLE_VCELLS): Fix spelling mistake in comment.
ec2667f0 4
43b83b54
TTN
52001-08-17 Thien-Thi Nguyen <ttn@revel.glug.org>
6
7 * gc.c: Fix omission bug: Add `heap_segment' forward decl
8 (proto) in the case when either `GUILE_DEBUG' or
9 `GUILE_DEBUG_FREELIST' preprocessor symbols are defined.
10
11 (map_free_list): Fix typo: Ref `f' correctly.
12
13 Thanks to Chris Cramer.
14
ab4cd34b
RB
152001-08-15 Rob Browning <rlb@defaultvalue.org>
16
17 * Makefile.am (libguile_la_LDFLAGS): use libtool interface version
18 variables.
19 (libpath.h): change libguileversion to libguileinterface.
20
b754e3d1
MV
212001-08-07 Marius Vollmer <mvo@zagadka.ping.de>
22
23 * Makefile.am (EXTRA_DIST): Distribute ChangeLog-1996-1999 and
24 ChangeLog-2000. Thanks to Daniel Skarda!
25
8b1d12c7
ML
262001-08-07 Michael Livshin <mlivshin@bigfoot.com>
27
28 * guile-snarf-docs-texi.in: don't call the tokenizer here, we now
29 do it from the Makefile.
30
31 * Makefile.am: rearrange the snarfing slightly, so that .doc files
32 are of a reasonable size.
33
baffb19f
NJ
342001-08-02 Neil Jerram <neil@ossau.uklinux.net>
35
36 * stacks.c (scm_make_stack): Improve docstring by explaining use
37 of cutting args.
38
c1151355
MV
392001-08-01 Marius Vollmer <mvo@zagadka.ping.de>
40
41 * chars.c (scm_char_alphabetic_p, scm_char_numeric_p,
42 scm_char_whitespace_p, scm_char_upper_case_p,
43 scm_char_lower_case_p, scm_char_is_both_p): Do not require
44 characters to fulfill isascii in addition to the primary
45 predicate.
46
3c9a524f
DH
472001-07-30 Dirk Herrmann <D.Herrmann@tu-bs.de>
48
49 * numbers.c (DIGITS, scm_small_istr2int, scm_istr2int,
50 scm_istr2flo, scm_istring2number): Removed.
51
52 (iflo2str, scm_real_p, scm_integer_p): Use SCM_<foo> instead of
53 SCM_SLOPPY_<foo>.
54
55 (t_exactness, t_radix, DIGIT2UINT, XDIGIT2UINT, mem2uinteger,
56 mem2decimal_from_point, mem2ureal, mem2complex, scm_i_mem2number):
57 Added.
58
59 (scm_string_to_number): Use new number parser.
60
61 (scm_exact_to_inexact): Replace dummy by a GPROC, which also
62 handles complex numbers.
63
64 * numbers.h (NUMBERSH, SCM_NUMBERS_H): Rename <foo>H to
65 SCM_<foo>_H.
66
67 (SCM_INEXACTP, SCM_REALP, SCM_COMPLEXP): Prefer !SCM_<pred> over
68 SCM_N<pred>.
69
70 (scm_istr2int, scm_istr2flo, scm_istring2number): Removed.
71
72 (scm_i_mem2number): Added.
73
74 (scm_exact_to_inexact): Changed signature.
75
76 * read.c (scm_lreadr): Perform the shortcut test for '+ and '-
77 here instead of within scm_i_mem2number. Call scm_i_mem2number
78 instead of scm_istr2int and scm_istring2number.
79
01f11e02
DH
802001-07-30 Dirk Herrmann <D.Herrmann@tu-bs.de>
81
82 * eval.c (scm_lookupcar, scm_m_body, scm_m_lambda, unmemocopy,
83 scm_unmemocopy, scm_badargsp, scm_eval_body, CHECK_EQVISH,
84 SCM_CEVAL, scm_nconc2last, SCM_APPLY, scm_copy_tree): Prefer
85 !SCM_<pred> over SCM_N<pred>.
86
87 (scm_eval_body): Remove side effecting code from macro call.
88
89 (SCM_CEVAL, SCM_APPLY): Remove goto statement and redundant
90 SCM_NIMP test.
91
6cf69537
DH
922001-07-30 Dirk Herrmann <D.Herrmann@tu-bs.de>
93
94 * pairs.h (SCM_VALIDATE_PAIR): Use SCM_CONSP, not SCM_ECONSP.
95
54866b6c
MV
962001-07-29 Marius Vollmer <mvo@zagadka.ping.de>
97
98 Removed vcell slot from structs.
43b83b54 99
54866b6c
MV
100 * struct.h (scm_vtable_index_vcell): Removed. Renumbered
101 subsequent indices.
102
103 * struct.c (scm_struct_vtable_p): Do not check vcell slot for
104 zero. Use scm_vtable_index_layout instead of "0" when accessing
105 said slot.
106 (scm_init_struct): Remove vcell slot layout code from
107 required_vtable_fields.
108
109 * objects.h (scm_si_redefined, scm_si_hashsets): Renumbered.
110
111 * goops.c (build_class_class_slots): Removed vcell slot
112 definition.
113
114 * goops.h: Renumbered slot indices. (SCM_CLASS_CLASS_LAYOUT):
115 Removed vcell slot layout code.
116 (scm_si_vcell): Removed.
117
5b54c4da
MV
1182001-07-26 Marius Vollmer <mvo@zagadka.ping.de>
119
a0f5718e 120 "Glocs" have been removed.
43b83b54 121
a0f5718e
MV
122 * tags.h: Update tag system docs.
123 (scm_tc3_cons_gloc): Renamed to scm_tc3_struct. Changed all uses.
124 (scm_tcs_cons_gloc): Renamed to scm_tcs_struct. Changed all uses.
125 (SCM_ECONSP, SCM_NECONSP): Removed. Changed all uses to SCM_CONSP
126 or SCM_NCONSP, respectively.
127
128 * struct.c, struct.h, srcprop.c, procs.c, procprop.c, print.c,
129 objects.c. modules.c, goops.c, eval.c, debug.c: Changed all uses
130 of scm_tc3_cond_gloc and scm_tcs_cons_gloc. See above.
131
132 * print.c (scm_iprin1): Remove printing of glocs. Do not try to
133 tell glocs from structs.
43b83b54 134
a0f5718e
MV
135 * gc.c (scm_gc_mark, scm_gc_sweep): Remove handling of glocs.
136
137 * eval.c (scm_m_atbind): Make a list of variables, not glocs.
138 (scm_ceval, scm_deval): For SCM_IM_BIND, fiddle with variables
139 instead of with glocs.
140 (EVALCAR): Do not test for glocs.
141 (scm_lookupcar, scm_lookupcar1): Do not handle glocs in race
142 condition.
143 (scm_unmemocar): Do not handle glocs.
144 (scm_m_atfop): Memoize as a variable, not as a gloc.
145 (scm_eval_args, scm_deval_args): Do not handle glocs.
146 (scm_ceval, scm_deval): Likewise.
43b83b54 147
a0f5718e
MV
148 * eval.h (SCM_XEVALCAR): Do not test for glocs.
149 (SCM_GLOC_VAR, SCM_GLOC_VAL, SCM_GLOC_SET_VAL, SCM_GLOC_VAL_LOC):
150 Removed.
151
152 * debug.h, debug.c (scm_make_gloc, scm_gloc_p): Removed.
153
154 * dynwind.c (scm_swap_bindings): Likewise.
155 (scm_dowinds): Updated to recognize lists of variables instead of
156 lists of glocs.
157
158 * __scm.h (SCM_CAUTIOS, SCM_RECKLESS): Update comments.
159
43b83b54 160
5b54c4da
MV
161 * gc_os_dep.c (GC_noop1): Moved into the same #if/#endif context
162 where it is needed.
43b83b54 163
3c3db128
GH
1642001-07-25 Gary Houston <ghouston@arglist.com>
165
166 * numbers.c (scm_logand, scm_logior, scm_logxor): adjusted the
167 docstrings to reflect the n-ary implementation.
168
dd29a169
MV
1692001-07-26 Marius Vollmer <mvo@zagadka.ping.de>
170
171 * eval.c (scm_ceval, scm_deval): Use "RETURN" macro when returning
172 value of a variable, not the plain "return" statement.
173
f5fe6c2f
MV
1742001-07-25 Marius Vollmer <mvo@zagadka.ping.de>
175
176 * eval.c: Allow variables in memoized code (in addition to glocs).
177 (scm_lookupcar): Handle variables in lost races. Replace symbol
178 with variable directly, do not make a gloc.
179 (scm_unmemocar): Rewrite variables using a reverse lookup, just
180 like glocs.
181 (scm_ceval, scm_deval): Deal with variables in SCM_IM_SET and in
182 the main switch.
183
ee0c7345
MV
1842001-07-25 Marius Vollmer <marius.vollmer@uni-dortmund.de>
185
6d9ad98a
MV
186 * variable.c (scm_i_variable_print): Use "value" instead of
187 "binding" since a binding is the mapping between symbols and
188 variables, not between variables and their values.
189
ee0c7345
MV
190 * tags.h (scm_tc7_variable): New.
191 * gc.c (scm_gc_mark): Handle scm_tc7_variable objects.
192 * print.c (scm_iprin1): Likewise.
193
194 * variable.h (scm_tc16_variable): Removed.
195 (SCM_VARIABLEP): Test for new tc7 code.
196 (scm_i_variable_print): New.
197 * variable.c (scm_tc16_variable): Removed.
198 (variable_print): Renamed to scm_i_variable_print and made
199 non-static.
200 (variable_equal_p): Removed.
201 (make_variable): Construct a tc7 object instead of a smob.
202 (scm_init_variable): Do not register smob.
43b83b54 203
f3805ebb
MV
2042001-07-22 Marius Vollmer <mvo@zagadka.ping.de>
205
206 * tags.h: Include inttypes.h when we have it.
207
2082001-07-13 Marius Vollmer <mvo@zagadka.ping.de>
209
210 * tags.h (SCM_UNBOUND): Make it the 34th isym/iflag, the 33th slot
211 is taken by the new SCM_IM_CALL_WITH_VALUES.
212 * print.c (scm_isymnames): Update table accordingly.
43b83b54 213
6a1677a3
GH
2142001-07-22 Gary Houston <ghouston@arglist.com>
215
216 * regex-posix.c (s_scm_regexp_exec): use scm_long2num not
217 SCM_MAKINUM to convert regoff_t value to SCM.
218
1bed8c28
GH
2192001-07-21 Gary Houston <ghouston@arglist.com>
220
221 * scmsigs.c: include sys/time.h for itimer stuff.
222
e658215a
RB
2232001-07-19 Rob Browning <rlb@defaultvalue.org>
224
225 * gc_os_dep.c (GC_noop1): ifdef out (unused) to quiet warning.
226
227 * c-tokenize.lex: add option %nounput to quiet warning.
228 Add prototype for yylex to quiet warning.
229
230 * scmconfig.h.in: add flags for setitimer and getitimer.
231
232 * scmsigs.h (scm_init_scmsigs): new prototype.
233 (scm_init_scmsigs): new prototype.
234
235 * scmsigs.c (s_scm_setitimer): new function.
236 (s_scm_setitimer): new function.
237
58ade102
MG
2382001-07-18 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
239
240 * alist.c, arbiters.c, async.h, backtrace.h, boolean.c, chars.c,
241 chars.h, continuations.h, debug-malloc.h, dynl.c, feature.c,
242 feature.h, filesys.h, fluids.h, fports.h, gc_os_dep.c,
243 gdb_interface.h, gh_eval.c, gh_funcs.c, gh_io.c, gh_list.c,
244 gh_predicates.c, gsubr.c, gsubr.h, guardians.h,
245 guile-func-name-check.in, guile-snarf-docs-texi.in,
246 guile-snarf-docs.in, guile-snarf.awk.in, guile-snarf.in,
247 hashtab.h, iselect.h, keywords.h, lang.c, list.h, load.h,
248 objprop.c, objprop.h, options.c, options.h, random.h,
249 regex-posix.h, root.c, root.h, script.c, snarf.h, stackchk.c,
250 strerror.c, strop.h, strports.h, threads.h, values.c, values.h,
251 version.c, version.h: Updated copyright notice.
252
6b80d352
DH
2532001-07-17 Dirk Herrmann <D.Herrmann@tu-bs.de>
254
255 * goops.c (sym_layout, sym_vcell, sym_vtable, sym_print,
256 sym_procedure, sym_setter, sym_redefined, sym_h0, sym_h1, sym_h2,
257 sym_h3, sym_h4, sym_h5, sym_h6, sym_h7, sym_name,
258 sym_direct_supers, sym_direct_slots, sym_direct_subclasses,
259 sym_direct_methods, sym_cpl, sym_default_slot_definition_class,
260 sym_slots, sym_getters_n_setters, sym_keyword_access, sym_nfields,
261 sym_environment, scm_sym_change_class): New static variables to
262 hold predefined symbols.
263
264 (build_class_class_slots): Build the list using scm_list_n
265 instead of cons. Also, slots are already created as lists, thus
266 making a call to maplist unnecessary.
267
268 (scm_class_name, scm_class_direct_supers, scm_class_direct_slots,
269 scm_class_direct_subclasses, scm_class_direct_methods,
270 scm_class_precedence_list, scm_class_slots, scm_class_environment,
271 scm_method_procedure, create_standard_classes, purgatory): Use
272 predefined symbols.
273
274 (build_slots_list, compute_getters_n_setters,
275 scm_sys_initialize_object, scm_sys_inherit_magic_x,
276 get_slot_value_using_name, set_slot_value_using_name,
277 scm_sys_invalidate_method_cache_x, scm_generic_capability_p,
278 scm_compute_applicable_methods, scm_sys_method_more_specific_p,
279 make_struct_class): Prefer !SCM_<pred> over SCM_N<pred>.
280
281 (scm_sys_prep_layout_x): Minimize variable scopes.
282
283 (scm_sys_prep_layout_x, scm_sys_fast_slot_ref,
284 scm_sys_fast_slot_set_x): Fix signedness.
285
286 (go_to_hell, go_to_heaven, purgatory, scm_change_object_class,
287 lock_cache_mutex, unlock_cache_mutex, call_memoize_method,
288 scm_memoize_method, scm_wrap_object): Use packing and unpacking
289 when converting to and from SCM values.
290
291 (scm_enable_primitive_generic_x): Add rest argument checking.
292
293 (map, filter_cpl, maplist, scm_sys_initialize_object,
294 scm_sys_prep_layout_x, slot_definition_using_name,
295 scm_enable_primitive_generic_x, scm_compute_applicable_methods,
296 call_memoize_method, scm_make, scm_make_class): Prefer explicit
297 predicates over SCM_N?IMP tests.
298
299 (scm_sys_prep_layout_x): Fix typo in error message. Fix type
300 checking.
301
302 (burnin, go_to_hell): Use SCM_STRUCT_DATA instead of the SCM_INST
303 alias.
304
63bcad19
DH
3052001-07-16 Dirk Herrmann <D.Herrmann@tu-bs.de>
306
307 * fports.c (fport_print): Don't use SCM_C[AD]R for non pairs.
308
309 * num2integral.i.c (INTEGRAL2NUM, INTEGRAL2BIG): Fix signedness.
310
311 * symbols-deprecated.c (scm_gentemp): Simplify vector test.
312
313 * vectors.c (scm_vector_p): Eliminate redundant IMP test.
314
4d6aae71
ML
3152001-07-12 Michael Livshin <mlivshin@bigfoot.com>
316
317 * strings.c (s_scm_string): fix arg position in assert.
318
4b8ec619
GH
3192001-07-11 Gary Houston <ghouston@arglist.com>
320
321 * strports.c (st_write): use memcpy, not strncpy. thanks to
322 Dale P. Smith.
323
dbb640bd
TTN
3242001-07-09 Thien-Thi Nguyen <ttn@revel.glug.org>
325
326 * alist.c, alloca.c, arbiters.c, async.c, async.h, backtrace.c,
327 boolean.c, chars.c, continuations.c, coop-defs.h, coop-threads.c,
328 debug-malloc.h, debug.c, debug.h, dynl.c, dynwind.c, eq.c,
329 error.c, eval.c, evalext.c, feature.c, feature.h, filesys.c,
330 filesys.h, fluids.c, fluids.h, fports.c, fports.h, gc.c, gc.h,
331 gdbint.c, gsubr.c, guardians.c, hash.c, hashtab.c, hooks.c,
332 hooks.h, inet_aton.c, init.c, ioext.c, keywords.c, keywords.h,
333 lang.c, list.c, load.c, macros.c, mallocs.c, memmove.c, modules.c,
334 net_db.c, numbers.c, numbers.h, objects.c, objprop.c, options.c,
335 pairs.c, pairs.h, ports.c, ports.h, posix.c, print.c, print.h,
336 procprop.c, procs.c, procs.h, properties.c, putenv.c, ramap.c,
337 random.c, random.h, read.c, regex-posix.c, regex-posix.h, root.c,
338 root.h, scmsigs.c, script.c, simpos.c, smob.c, snarf.h, socket.c,
339 sort.c, srcprop.c, srcprop.h, stackchk.c, stacks.c, stacks.h,
340 stime.c, strerror.c, strings.c, strings.h, strop.c, strorder.c,
341 strports.c, struct.c, struct.h, symbols-deprecated.c, symbols.c,
342 symbols.h, tags.h, threads.c, threads.h, throw.c, unif.c, unif.h,
343 variable.c, variable.h, vectors.c, vectors.h, version.c, vports.c,
344 weaks.c, weaks.h: Remove "face-lift" comment.
345
fd6c6321
RB
3462001-07-08 Rob Browning <rlb@defaultvalue.org>
347
348 * .cvsignore: add stamp-h.in.
349
f91e4547
MG
3502001-07-04 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
351
352 * hooks.c (scm_make_hook, scm_add_hook_x),
353 (scm_remove_hook_x, scm_reset_hook_x, scm_run_hook): Added return
354 value info to the docstrings.
355
7beabedb
MG
3562001-07-03 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
357
358 Some more compatibility patches for Windows.
dbb640bd 359
7beabedb
MG
360 * posix.c (getlogin): getlogin() implementation for Windows.
361
362 * backtrace.c, ioext.c: Include <stdio.h>.
363
364 * unif.c, script.c, rw.c, error.c: Include <io.h>, if it does
365 exist.
366
367 * cpp_sig_symbols.in: Added SIGBREAK.
368
0d0560d0
MV
3692001-07-01 Marius Vollmer <mvo@zagadka.ping.de>
370
371 * strports.c (scm_read_0str, scm_eval_0str): Call
372 scm_c_read_string and scm_c_eval_string respectively, not
373 themselves. Thanks to Dale P. Smith!
374
9a97e362
DH
3752001-06-30 Dirk Herrmann <D.Herrmann@tu-bs.de>
376
377 * unif.c (scm_array_set_x): The variable args does not
378 necessarily have to be a list. Further, got rid of a redundant
379 SCM_NIMP test.
380
592996c9
DH
3812001-06-30 Dirk Herrmann <D.Herrmann@tu-bs.de>
382
383 * list.c (SCM_I_CONS): Make sure the cell type is initialized
384 last.
385
386 * gc.c (s_scm_map_free_list, scm_igc, scm_gc_sweep,
f91e4547 387 init_heap_seg): Fixed signedness.
592996c9
DH
388
389 (init_heap_seg): Replaced strange for-loop with a while loop.
390
391 * weaks.h (WEAKSH, SCM_WEAKS_H): Rename <foo>H to SCM_<foo>_H.
392
393 (SCM_WVECTP): Prefer !SCM_<pred> over SCM_N<pred>.
394
395 The following patch adds conservative marking for the elements of
396 free or allocated cells.
397
398 * gc.c (allocated_mark, heap_segment): New static functions.
399
400 (which_seg): Deleted, since the functionality is now provided by
401 function heap_segment.
402
403 (map_free_list): Use heap_segment instead of which_seg.
404
405 (MARK): If cell debugging is disabled, mark free cells
406 conservatively.
407
408 (scm_mark_locations, scm_cellp): Extracted the search for the
409 heap segment of a SCM value into function heap_segment.
410
411 (scm_init_storage): Allocated cells must be marked
412 conservatively.
413
414 * gc.[ch] (scm_gc_mark_cell_conservatively): New function.
415
416 The following patch changes the representation of weak vectors to
417 double cells instead of using an extension of the vector's
418 allocated memory.
419
420 * gc.c (MARK): Use SCM_SET_WVECT_GC_CHAIN instead of assigning to
421 the result of SCM_WVECT_GC_CHAIN.
422
423 (scm_gc_sweep): Weak vectors don't have extra fields any more.
424
425 * weaks.c (allocate_weak_vector): New static function. It does
426 not patch any previously created vector object during the
427 construction of a weak vector, and thus doesn't need to switch
428 off interrupts during vector creation.
429
430 (scm_make_weak_vector, scm_make_weak_key_hash_table,
431 scm_make_weak_value_hash_table, scm_make_doubly_weak_hash_table):
432 Use allocate_weak_vector to provide the new weak vector object.
433
434 * weaks.h (SCM_WVECT_TYPE, SCM_SET_WVECT_TYPE,
435 SCM_SET_WVECT_GC_CHAIN): New macros. The weak vector subtype is
436 now stored in the double cell.
437
438 (SCM_IS_WHVEC, SCM_IS_WHVEC_V, SCM_IS_WHVEC_B, SCM_IS_WHVEC_ANY):
439 Use SCM_WVECT_TYPE.
440
441 (SCM_WVECT_GC_CHAIN): The weak objects are now chained together
442 using an entry of the double cell.
443
4dadf664
TTN
4442001-06-30 Thien-Thi Nguyen <ttn@revel.glug.org>
445
446 * stamp-h.in: bye bye
447
02202352
MV
4482001-06-30 Marius Vollmer <mvo@zagadka.ping.de>
449
450 * gh_eval.c (gh_eval_str): Use scm_c_eval_string instead of
451 scm_eval_0str.
452
453 * load.c, load.h (scm_c_primitive_load,
454 scm_c_primitive_load_path): New.
455
456 * strports.c, strports.h (scm_c_read_string): Renamed from
457 scm_read_0str. Also, added "const" qualifier to argument.
458 (scm_c_eval_string): Renamed from scm_eval_0str.
459 (scm_read_0str, scm_eval_0str): Deprecated.
460
df1ad0d1
MG
4612001-06-28 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
462
463 * fluids.c (scm_c_with_fluid): Use scm_list_1() instead of
464 SCM_LIST1.
465
1afff620
KN
4662001-06-28 Keisuke Nishida <kxn30@po.cwru.edu>
467
468 * list.h (scm_list_1, scm_list_2, scm_list_3, scm_list_4, scm_list_5,
469 scm_list_n): New functions.
470 (SCM_LIST0, SCM_LIST1, SCM_LIST2, SCM_LIST3, SCM_LIST4, SCM_LIST5,
471 SCM_LIST6, SCM_LIST7, SCM_LIST8, SCM_LIST9, scm_listify): Deprecated.
472 (lots of files): Use the new functions.
4dadf664 473
1afff620
KN
474 * goops.c (CALL_GF1, CALL_GF2, CALL_GF3, CALL_GF4): Use scm_call_N.
475
476 * strings.c: #include "libguile/deprecation.h".
477
b858464a
MG
4782001-06-27 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
479
480 * read.c (scm_lreadr): When reading a hash token, check for a
481 user-defined hash procedure first, so that overriding the builtin
482 hash characters is possible (this was needed for implementing
483 SRFI-4's read synax `f32(...)').
4dadf664 484
b858464a
MG
485 * num2integral.i.c: Use scm_t_signed_bits instead of scm_t_bits,
486 because the latter is unsigned now and breaks comparisons like
487 (n < (scm_t_signed_bits)MIN_VALUE).
4dadf664 488
d95c0b76
NJ
4892001-06-26 Neil Jerram <neil@ossau.uklinux.net>
490
491 * eval.h, eval.c (scm_call_4): New function.
492
493 * eval.c (SCM_APPLY, SCM_CEVAL, ENTER_APPLY): Call trap handlers
494 directly rather than dispatching to them via scm_ithrow and a lazy
495 catch.
4dadf664 496
d95c0b76
NJ
497 * eval.c (scm_evaluator_trap_table), eval.h (SCM_ENTER_FRAME_HDLR,
498 SCM_APPLY_FRAME_HDLR, SCM_EXIT_FRAME_HDLR): Add three new options
499 for trap handler procedures.
500
501 * debug.h (SCM_RESET_DEBUG_MODE): Add checks for trap handler
502 procedures not being #f.
503
30e3be5a
ML
5042001-06-27 Michael Livshin <mlivshin@bigfoot.com>
505
506 * Makefile.am (c-tokenize.c): add rule to generate it.
507 (EXTRA_DIST): add c-tokenize.lex, so it gets distributed.
508
509 filter-doc-snarfage.c: remove.
510
82893676
MG
5112001-06-26 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
512
513 * ports.c (scm_output_port_p): Use result of SCM_COERCE_OUTPORT.
514
515 The following set of changes makes compiling Guile under various
516 Windows compilers easier. Compilation under GNU systems should
517 not be affected at all.
518
519 Thanks to Stefan Jahn for all necessary information, patches and
520 testing.
4dadf664 521
82893676
MG
522 * posix.c: Conditialize getpwent, getgrent, kill, getppid, getuid,
523 getpgrp, ttyname, primitive-fork and some header inclusion for
524 Windows.
525
526 * random.c: Define M_PI, if not predefined and use __int64 for
527 LONG64 under Windows.
528
529 * scmsigs.c: Emulate some functions (alarm, sleep, kill) under
530 Windows and conditionalize some signal names.
531
4dadf664 532 * socket.c (scm_getsockopt): Added missing comma.
82893676
MG
533 Include socket library header under Windows.
534
535 * stime.c (CLKTCK): Add cast to int, to make it compile under
536 Windows.
537
538 * ports.c (truncate): New function, compiled only under Windows.
539
540 * net_db.c: Do not declare errno under Windows.
541
542 * iselect.h, inet_aton.c: Include socket library headers under
543 Windows.
544
545 * guile.c (inner_main): Under Windows, initialize socket library
546 and initialize gdb_interface data structures.
547
548 * gdb_interface.h: Under Windows, gdb_interface cannot be
549 initialized statically. Initialize at runtime instead.
550
551 * fports.c (write_all): ssize_t -> size_t.
552 (fport_print): Conditionalize call to ttyname().
553 (getflags): New function, compiled only under Windows.
554
555 * filesys.c: Conditionalize inclusion of <pwd.h>. Conditionalize
556 primitives chown, link, fcntl.
557 (scm_basename, scm_dirname): Under Windows, handle \ as well as /
558 as path seperator.
559
560 * backtrace.c: Include <io.h> under Windows.
561
562 * async.h (ASYNCH, SCM_ASYNC_H): Rename <foo>H to SCM_<foo>_H.
563
564 * _scm.h: Added preprocessor conditional for __MINGW32__ for errno
565 declaration.
566
fdc28395
KN
5672001-06-27 Keisuke Nishida <kxn30@po.cwru.edu>
568
569 * eval.c (scm_call_0, scm_call_1, scm_call_2, scm_call_3,
570 scm_apply_0, scm_apply_1, scm_apply_2, scm_apply_3): New functions.
571 * eval.h (scm_call_0, scm_call_1, scm_call_2, scm_call_3,
572 scm_apply_0, scm_apply_1, scm_apply_2, scm_apply_3): Declared.
573 * async.c (scm_run_asyncs), coop-threads.c (scheme_body_bootstrip,
574 scheme_handler_bootstrip), debug.c (with_traps_inner), dynwind.c
575 (scm_dynamic_wind, scm_dowinds), environments.c
576 (import_environment_conflict), eval.c (scm_macroexp, scm_force,
577 scm_primitive_eval_x, scm_primitive_eval), fluids.c (apply_thunk),
578 goops.c (GETVAR, purgatory, make_class_from_template,
579 scm_ensure_accessor), hashtab.c (scm_ihashx, scm_sloppy_assx,
580 scm_delx_x, fold_proc), hooks.c (scm_c_run_hook), load.c
581 (scm_primitive_load), modules.c (scm_resolve_module,
582 scm_c_define_module, scm_c_use_module, scm_c_export,
583 module_variable, scm_eval_closure_lookup, scm_sym2var,
584 scm_make_module, scm_ensure_user_module, scm_load_scheme_module),
585 ports.c (scm_port_for_each), print.c (scm_printer_apply),
586 properties.c (scm_primitive_property_ref), ramap.c (ramap,
587 ramap_cxr, rafe, scm_array_index_map_x, read.c (scm_lreadr),
588 scmsigs.c (sys_deliver_signals), sort.c (applyless), strports.c
589 (scm_object_to_string, scm_call_with_output_string,
590 scm_call_with_input_string), throw.c (scm_body_thunk,
591 scm_handle_by_proc, hbpca_body), unif.c (scm_make_shared_array,
592 scm_make_shared_array), vports.c (sf_flush, sf_write,
593 sf_fill_input, sf_close): Use one of the above functions.
594 * goops.c, hashtab.c, scmsigs.c, sort.c: #include "libguile/root.h".
595
36284627
DH
5962001-06-26 Dirk Herrmann <D.Herrmann@tu-bs.de>
597
598 * filesys.c (scm_close), ports.c (scm_close_port,
599 scm_port_closed_p), strop.c (scm_string_null_p): Use SCM_BOOL
600 instead of SCM_NEGATE_BOOL.
601
602 * filesys.c (scm_stat): Clean up type dispatch.
603
604 * filesys.c (scm_stat), ports.c (scm_input_port_p,
605 scm_output_port_p): Get rid of redundant IM type check.
606
607 * filesys.c (scm_readdir, scm_getcwd, scm_readlink), gh_data.c
608 (gh_str2scm), load.c (scm_primitive_load, scm_internal_parse_path,
609 scm_search_path), net_db.c (scm_gethost, scm_getnet, scm_getproto,
610 scm_return_entry), numbers.c (scm_number_to_string), objects.c
611 (scm_make_subclass_object), ports.c (scm_port_mode), read.c
612 (scm_lreadr), simpos.c (scm_getenv), socket.c (scm_inet_ntoa,
613 scm_addr_vector), stime.c (scm_strftime), strings.c
614 (scm_makfromstrs, scm_makfrom0str, scm_substring), strings.h
615 (SCM_STRING_COERCE_0TERMINATION_X), strop.c (string_copy,
616 scm_string_split), strports.c (scm_strport_to_string), symbols.c
617 (scm_symbol_to_string), vports.c (sf_write): Use scm_mem2string
618 instead of scm_makfromstr.
619
620 * net_db.c (scm_sethost, scm_setnet, scm_setproto, scm_setserv),
621 ports.c (scm_close_all_ports_except), read.c (scm_lreadr,
622 scm_read_hash_extend), stime.c (scm_strftime), strings.c
623 (scm_string_append, scm_string), strings.h (SCM_STRINGP,
624 SCM_STRING_COERCE_0TERMINATION_X, SCM_RWSTRINGP), strop.c
625 (string_capitalize_x): Prefer explicit type check over SCM_N?IMP,
626 !SCM_<pred> over SCM_N<pred>.
627
628 * strings.[ch] (scm_makfromstr): Deprecated.
629
630 (scm_mem2string): New function, replaces scm_makfromstr.
631
632 * strings.c (scm_substring), strop.c (string_copy,
633 scm_string_split), strports.c (scm_strport_to_string), symbols.c
634 (scm_symbol_to_string): Fix gc problem.
635
636 * strings.h (STRINGSH, SCM_STRINGS_H): Rename <foo>H to
637 SCM_<foo>_H.
638
639 * validate.h (SCM_VALIDATE_SUBSTRING_SPEC_COPY): Eliminate
640 warning about comparing signed and unsigned values. This fix is
641 not optimal, since it won't work reliably if sizeof (c_start) >
642 sizeof (size_t) or sizeof (c_end) > sizeof (size_t). A better
643 solution is to define this macro as an inline function, thus
644 allowing to specifiy the types of c_start and c_end.
645
13dcb666
DH
6462001-06-25 Dirk Herrmann <D.Herrmann@tu-bs.de>
647
648 * debug.h (SCM_DEBUGOBJ_FRAME): Deliver result as a
649 scm_t_debug_frame*.
650
651 * debug.h (DEBUGH, SCM_DEBUG_H), stacks.h (STACKSH, SCM_STACKSH):
652 Rename <foo>H to SCM_<foo>_H.
653
654 * stacks.c (NEXT_FRAME, narrow_stack): Prefer explicit type check
655 over SCM_N?IMP, !SCM_<pred> over SCM_N<pred>.
656
657 (narrow_stack): Make i unsigned. Don't use side-effecting
658 operations in conditions.
659
660 (narrow_stack, scm_make_stack, scm_stack_id,
661 scm_last_stack_frame): Get rid of redundant SCM_N?IMP checks.
662
663 (scm_make_stack, scm_stack_id, scm_last_stack_frame): Clean up
664 type dispatch. No need to cast result of SCM_DEBUGOBJ_FRAME any
665 more.
666
667 (scm_stack_ref, scm_frame_previous, scm_frame_next): Fix
668 signedness.
669
670