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