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