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