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