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