summaryrefslogtreecommitdiff
path: root/libguile/stacks.c
AgeCommit message (Collapse)AuthorFilesLines
2000-01-05* *.[ch]: Replace SCM_VALIDATE_INT w/ SCM_VALIDATE_INUM forGreg J. Badros1-1/+1
better consistency with the names of other SCM_VALIDATE_ macros and better conformance to guile naming policy.
2000-01-05* unif.c, symbols.c, strings.c, stacks.c, random.c, print.c,Greg J. Badros1-4/+2
posix.c: Eliminated a bunch of SCM_NIMP(..)s that are now redundant with the safer macros. Patch from Dirk Hermann applied by hand. Thanks Dirk! * scm_validate.h: Added SCM_VALIDATE_VECTOR_OR_DVECTOR for some uses in random.c. * ramap.c: whitespace change.
1999-12-16* coop-threads.c: Remove K&R function headers.Greg J. Badros1-6/+6
* scm_validate.h: Added SCM_VALIDATE_THREAD. * *.c: Remove SCM_NIMP(X) when it is an extraneous pre-test given that SCM_FOOP macros all now include SCM_NIMP in their expansion. This simplifies lots of code, making it far more readable.
1999-12-16* *.h: Use SCM_NIMP(X) && in all the FOOP macros.Greg J. Badros1-2/+2
* *.[ch]: Use do { ... } while (0) idiom in macros that expanded to a bare block.
1999-12-13* Makefile.am: Fix ETAGS_ARGS to recognize GUILE_PROC,Greg J. Badros1-2/+2
GUILE_PROC1. Build guile-procedures.txt, and add that file to pkgdata_DATA. * load.c: Added `pkgdata-dir', `site-dir', `library-dir' primitives. * guile-doc-snarf.awk: Drop trailing space when no arguments: e.g., "(foo )" is now "(foo)". * *.c: moved all the documentation for primitives from guile-doc/ref/{appendices,posix,scheme}.texi into the source code. This leaves about half of the primitives undocumented. Also, all the markup is currently still texinfo. I don't have a problem with texinfo per se, but the markup is not very descriptive or accurate.
1999-12-12* *.c, srcprop.h: Use SCM_BOOL(f) instead of (f? SCM_BOOL_T:Greg J. Badros1-1/+1
SCM_BOOL_F) and use SCM_NEGATE_BOOL(f) instead of (f? SCM_BOOL_F: SCM_BOOL_T).
1999-12-12* *.c, scm_validate.h: Use SCM_VALIDATE_NIM, not SCM_VALIDATE_NIMPGreg J. Badros1-2/+2
(none of the other validate macros have the trailing P).
1999-12-12* *.c: Pervasive software-engineering-motivated rewrite ofGreg J. Badros1-164/+122
function headers and argument checking. Switched SCM_PROC, SCM_PROC1 macros to be GUILE_PROC, GUILE_PROC1 (may change names later, but was useful to keep old versions around while migrate) that has docstrings and argument lists embedded in the GUILE_PROC macro invocations that expand into a function header. Use lots of new SCM_VALIDATE_* macros to simplify error checking and reduce tons of redundancy. This is very similar to what I did for Scwm. Note that none of the extraction of the docstrings, nor software engineering checks of Scwm is yet added to Guile. I'll work on that tomorrow, I expect. * Makefile.am: Added scm_validate.h to modinclude_HEADERS. * chars.c: Added docstrings for the primitives defined in here. * snarf.h: Added GUILE_PROC, GUILE_PROC1. Added SCM_REGISTER_PROC to be like old SCM_PROC, though old SCM_PROC still remains for now. Changed naming convention for the s_foo string name of the primitive to be s_scm_foo for ease of use with the macro. * scm_validate.h: Lots of new SCM_VALIDATE macros to simplify argument checking through guile. Maybe some of these should be folded into the header file for the types they check, but for now it was easiest to just stick them all in one place.
1999-09-27* stacks.c: Avoid compiler warning re: unitialized var.Greg J. Badros1-4/+4
* scmconfig.h.in: Added DEBUG_FREELIST * pairs.h: Fix macro that was not do-while(0) sandwiched. * gc.h, gc.c: Added scm_gc_set_debug_check_freelist_x, scm_map_free_list
1999-08-29* stacks.c (scm_sym_apply): Removed. (Thanks to Ken Raeburn.)Mikael Djurfeldt1-2/+0
1999-07-29* stacks.c (scm_init_stacks): Set name of stack type.Mikael Djurfeldt1-0/+2
1999-03-19* debug.c, eval.c, evalext.c, stacks.c: #include "modules.h".Mikael Djurfeldt1-0/+1
1999-03-12* stacks.c: #include "eval.h"; #include "procprop.h";Mikael Djurfeldt1-4/+59
(narrow_stack): Handle new narrowing specifier #t.
1998-11-10* stacks.c (read_frame): Bugfix: Removed lingering `else'Mikael Djurfeldt1-4/+33
statement. (read_frames): Use SCM_MACROEXPP.
1998-11-10* stacks.c (read_frame): Bugfix: Removed lingering `else'Mikael Djurfeldt1-7/+5
statement. (read_frames): Use SCM_MACROEXPP.
1998-11-09* stacks.c (read_frames): Skip gsubr frames in backtraces. (TheyMikael Djurfeldt1-5/+20
don't contain interesting information since all arguments are present in the frame which applies the compiled closure anyway.); Skip the transformer application frames.
1998-10-19* __scm.h, alist.c, async.c, async.h, backtrace.h, chars.c,Jim Blandy1-1/+1
continuations.c, debug.c, debug.h, dynl-dl.c, dynl.c, dynl.h, dynwind.c, dynwind.h, eq.c, error.c, error.h, eval.c, eval.h, feature.c, filesys.c, filesys.h, fports.c, fports.h, gc.c, gc.h, genio.c, genio.h, gh.h, gh_data.c, gsubr.c, gsubr.h, hash.c, hashtab.c, init.c, init.h, ioext.c, ioext.h, kw.c, libguile.h, list.c, list.h, load.c, load.h, mallocs.c, markers.c, mit-pthreads.c, net_db.c, numbers.c, numbers.h, options.c, ports.c, ports.h, posix.c, posix.h, print.c, print.h, procprop.c, procprop.h, procs.c, procs.h, ramap.c, ramap.h, regex-posix.c, regex-posix.h, root.c, root.h, scmsigs.c, scmsigs.h, script.c, script.h, simpos.c, simpos.h, smob.c, smob.h, snarf.h, socket.c, srcprop.c, stackchk.c, stackchk.h, stacks.c, stime.c, stime.h, strings.c, strings.h, strports.c, struct.c, struct.h, symbols.c, symbols.h, tags.h, threads.c, throw.h, unif.c, variable.c, vectors.c, vectors.h, version.h, vports.c, weaks.c: Update copyright years.
1997-12-02 * stacks.c (scm_frame_procedure): Reverse the logic in the returnTim Pierce1-2/+2
statement. (Thanks to Doug Evans for pointing this out.)
1997-08-14* stacks.c (scm_make_stack), coop-threads.c, mit-pthreads.cMikael Djurfeldt1-1/+4
(scm_call_with_new_thread): Bugfix: SCM_WNA should go as third argument to SCM_ASSERT. Furthermore, the name of the function should be passed as first argument when signalling SCM_WNA. (Thanks to Thomas Morgan)
1997-05-26* Lots of files: New address for FSF.Jim Blandy1-3/+3
1997-05-16* backtrace.c, backtrace.h, debug.c, debug.h, eq.c,Jim Blandy1-1/+1
gdb_interface.h, gdbint.c, gdbint.h, gh_data.c, gh_init.c, gh_io.c, gh_list.c, gh_predicates.c, gh_test_c.c, gh_test_repl.c, init.c, net_db.c, options.c, options.h, ports.c, print.c, read.c, script.h, snarf.h, srcprop.c, srcprop.h, stacks.c, stacks.h, throw.c: Update copyright years; these files have been worked on significantly in 1997, but only had copyright years for 1996. Also, change name of copyright holder on some from Mikael Djurfeldt to Free Software Foundation; he has signed papers assigning the changes to the FSF.
1996-12-19Don't use GCC extensions to allocate space for debugging frames.Jim Blandy1-22/+40
(Here he goes again! Why do we put up with this?!) * debug.h (scm_debug_frame): Make the 'vect' member a pointer to an scm_debug_info structure, not an in-line array of them. Add 'info' member, to say how many vect elements we've used, for eval frames. * eval.c (SCM_CEVAL): Use alloca to allocate space for vect. Use a new variable debug_info_end to mark the end of vect, instead of the address of the 'info' pointer itself. [DEVAL] (ENTER_APPLY, SCM_CEVAL, SCM_APPLY): Remove casts of &debug to scm_debug_frame *; debug is a real scm_debug_frame now. (SCM_APPLY): Explicitly allocate space for debug.vect. * debug.c (scm_m_start_stack): Same, for vframe.vect. * stacks.c: Adjusted for new debug frame structure. (RELOC_INFO, RELOC_FRAME): New macros. (stack_depth, read_frames): Use them, and new scm_debug_frame element 'info', instead of magically knowing that eval frames have an info pointer sitting after vect. (scm_make_stack, scm_stack_id, scm_last_stack_frame): Use RELOC_FRAME. (scm_init_stacks): Formatting tweaks.
1996-12-18Give GCC more control flow information, so it can be sure thatJim Blandy1-2/+10
variables aren't used uninitialized. * error.h (scm_error, scm_syserror, scm_syserror_msg, scm_sysmissing, scm_num_overflow, scm_out_of_range, scm_wrong_num_args, scm_wrong_type_arg, scm_memory_error, scm_misc_error): Tell GCC that these functions never return. * struct.c (scm_struct_ref, scm_struct_set_x): If we can't figure out the field type, call abort if SCM_ASSERT returns, to placate the optimizer. * stacks.c (scm_make_stack, scm_last_stack_frame): abort if scm_wta ever returns. We can't handle this case anyway, and this gives the optimizer more information. * unif.c (scm_uniform_vector_ref, scm_array_set_x): Abort if scm_wta ever returns.
1996-11-02* * stacks.c, stacks.h (scm_make_stack): Now takes arbitraryMikael Djurfeldt1-23/+44
number of stack narrowing specifier pairs. The first specifier in a pair controls inner border, the second the outer border. A number means cut that number of frames, a procedure object means cut until that object is found in operator position in a frame.
1996-10-17* stacks.c: Improve selection of relevant stack frames when makingMikael Djurfeldt1-71/+108
a stack object. Introduce one level of indirection in the stack object to make it possible to "narrow" to a certain region of the stack. This facilitates making use of more clever algorithms (not implemented) for selecting relevant frames and gives a cleaner design since selection of frames can be done independently of extraction of frames from the real stack. (scm_stack_id): Also take #t as argument which means look at current stack.
1996-10-14* stacks.c: Stacks are now represented as structs; Stacks have anMikael Djurfeldt1-27/+63
id given to them by `start-stack'. (scm_last_stack_frame): Added predicates `stack?' and `frame?'.
1996-10-14* continuations.c, continuations.h, debug.c, gc.c, init.c, root.c,Mikael Djurfeldt1-0/+578
stacks.c: Renamed regs --> scm_contregs. * Makefile.in: Added entries for new files: backtrace.c, backtrace.h, stacks.c and stacks.h.