summaryrefslogtreecommitdiff
path: root/libguile/pairs.h
Commit message (Collapse)AuthorAgeFilesLines
...
* Fix my last commit -- DEBUG_FREELIST renamed to GUILE_DEBUG_FREELISTGreg J. Badros1999-09-281-1/+1
|
* * stacks.c: Avoid compiler warning re: unitialized var.Greg J. Badros1999-09-271-3/+3
| | | | | | | | | * 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
* * pairs.h (SCM_NEWCELL): When DEBUG_FREELIST is defined, don'tJim Blandy1998-12-051-1/+1
| | | | | | | | | take the address of _into; it might be a register. Just have scm_debug_newcell return the new cell. * gc.c (scm_debug_newcell): Just return the new cell, instead of taking the address of a place to store it as an argument. * gc.h (scm_debug_newcell): Change declaration. (Thanks to Greg Harvey.)
* * Lots of files: New address for FSF.Jim Blandy1997-05-261-3/+3
|
* * gc.c (which_seg, scm_map_free_list, scm_newcell_count,Jim Blandy1996-11-101-0/+4
| | | | | | | | scm_check_freelist, scm_debug_newcell): New functions and variables, for debugging freelist problems. * pairs.h (SCM_NEWCELL): New debugging version added. * gc.h (scm_debug_newcell): Added extern declaration, used by debugging version of SCM_NEWCELL.
* * pairs.h, eval.c, eval.h, feature.c, gc.c, list.c, load.c,Mikael Djurfeldt1996-10-201-2/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ramap.c, symbols.c: Added new selectors SCM_CARLOC and SCM_CDRLOC for obtaining the address of a car or cdr field. Motivation: &SCM_CXR make assumptions about the internal structure of the SCM_CXR selectors. * pairs.h, eval.c, gc.c, init.c, ioext.c, ports.c, ports.h, srcprop.h, tags.h, throw.c, unif.c: Added new selectors SCM_SETAND_CAR, SCM_SETAND_CDR, SCM_SETOR_CAR and SCM_SETOR_CDR. Motivation: Safer use. Some other macros are defined in terms of these operations. If these are defined using the SCM_SETCXR (<e1>, SCM_CXR (<e1>) <op> <e2>) pattern a complex <e1> will lead to inefficiency and an <e1> with side-effects could potentially break. Also, these particular operations are heavily utilized in the garbage collector. In unoptimized code there will be a measurable speedup. * alist.c, arbiters.c, continuations.c, debug.c, debug.h, eval.c, eval.h, feature.c, filesys.c, fports.c, gc.c, gsubr.c, init.c, ioext.c, kw.c, list.c, load.c, mallocs.c, numbers.c, numbers.h, pairs.c, pairs.h, ports.c, ports.h, posix.c, procprop.c, procs.c, procs.h, ramap.c, read.c, root.c, srcprop.c, srcprop.h, strports.c, symbols.c, tags.h, throw.c, unif.c, variable.c, vports.c: Cleaned up use of pairs: Don't make any special assumptions about the internal structure of selectors and mutators: SCM_CXR (<e1>) = <e2> --> SCM_SETCXR (<e1>, <e2>), SCM_CXR (<e1>) &= <e2> --> SCM_SETAND_CXR (<e1>, <e2>) etc. (Among other things, this change makes it easier to build Guile with certain compilers which have problems with casted lvalues.)
* * __scm.h, alist.c, alist.h, append.c, append.h, appinit.c,Jim Blandy1996-10-141-17/+8
| | | | | | | | | | | | | | | | | | | | | | | | arbiters.c, arbiters.h, async.c, async.h, boolean.c, boolean.h, chars.c, chars.h, continuations.c, continuations.h, debug.c, debug.h, dynwind.c, dynwind.h, eq.c, eq.h, error.c, eval.c, eval.h, extchrs.c, extchrs.h, fdsocket.c, fdsocket.h, filesys.c, filesys.h, fports.c, fports.h, gc.c, gdb_interface.h, gdbint.c, gdbint.h, genio.c, genio.h, gscm.c, gscm.h, gsubr.c, gsubr.h, hash.c, hash.h, hashtab.c, hashtab.h, init.c, ioext.c, ioext.h, kw.c, kw.h, libguile.h, mallocs.c, mallocs.h, markers.c, markers.h, mbstrings.c, mbstrings.h, numbers.c, numbers.h, objprop.c, objprop.h, options.c, options.h, pairs.c, pairs.h, ports.c, ports.h, posix.c, posix.h, print.c, print.h, procprop.c, procprop.h, procs.c, procs.h, ramap.c, ramap.h, read.c, read.h, root.c, scmsigs.c, scmsigs.h, sequences.c, sequences.h, simpos.c, simpos.h, smob.c, socket.c, socket.h, srcprop.c, srcprop.h, stackchk.c, stackchk.h, stime.c, stime.h, strings.c, strings.h, strop.c, strop.h, strorder.c, strorder.h, strports.c, strports.h, struct.c, struct.h, symbols.c, symbols.h, tag.c, tag.h, unif.c, unif.h, variable.c, variable.h, vectors.c, vectors.h, version.c, version.h, vports.c, vports.h, weaks.c, weaks.h: Use SCM_P to declare functions with prototypes. (Patch thanks to Marius Vollmer.)
* Distinguish #f and ().Jim Blandy1996-10-031-1/+0
| | | | | | | | * __scm.h: #undef SICP. * pairs.h (SCM_EOL): Delete this definition, equating it with SCM_BOOL_F. * tags.h (SCM_EOL): Give it a new definition here; I think I found the value it used to have. Doc fixes, too.
* * alist.h, append.h, arbiters.h, async.h, boolean.h, chars.h,Jim Blandy1996-09-051-1/+1
| | | | | | | | | | | | | | continuations.h, debug.h, dynwind.h, error.h, eval.h, fdsocket.h, feature.h, filesys.h, fports.h, gc.h, gdbint.h, genio.h, gsubr.h, hash.h, init.h, ioext.h, kw.h, list.h, markers.h, marksweep.h, mbstrings.h, numbers.h, objprop.h, options.h, pairs.h, ports.h, posix.h, print.h, procprop.h, procs.h, ramap.h, read.h, root.h, sequences.h, smob.h, socket.h, srcprop.h, stackchk.h, stime.h, strings.h, strop.h, strorder.h, strports.h, struct.h, symbols.h, tag.h, throw.h, unif.h, variable.h, vectors.h, version.h, vports.h, weaks.h: #include "libguile/__scm.h", not <libguile/__scm.h>. This allows 'gcc -MM' to determine which dependencies are within libguile properly.
* Don't install the unwashed masses of Guile header files in theJim Blandy1996-09-041-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | main #include path; put most of them in a subdirectory called 'libguile'. This avoids naming conflicts between Guile header files and system header files (of which there were a few). * Makefile.in (pkgincludedir): Deleted. (innerincludedir): New variable; this and $(includedir) are enough. (INCLUDE_CFLAGS): Search for headers in "-I$(srcdir)/..". (installed_h_files): Divide this up. Now this variable lists those header files which should go into $(includedir) (i.e. appear directly in the #include path), and ... (inner_h_files): ... this new variable says which files appear in a subdirectory, and are referred to as <libguile/mumble.h>. (h_files): List them both. (install): Create innerincludedir, not pkgincludedir. Put the installed_h_files and inner_h_files in their proper places. (uninstall): Corresponding changes. * alist.h, append.h, arbiters.h, async.h, boolean.h, chars.h, continuations.h, debug.h, dynwind.h, error.h, eval.h, fdsocket.h, feature.h, fports.h, gc.h, genio.h, gsubr.h, hash.h, init.h, ioext.h, kw.h, libguile.h, list.h, markers.h, marksweep.h, mbstrings.h, numbers.h, options.h, pairs.h, ports.h, posix.h, print.h, procprop.h, procs.h, ramap.h, read.h, root.h, sequences.h, smob.h, socket.h, srcprop.h, stackchk.h, stime.h, strings.h, strop.h, strorder.h, strports.h, struct.h, symbols.h, tag.h, throw.h, unif.h, variable.h, vectors.h, version.h, vports.h, weaks.h: Find __scm.h in its new location. * __scm.h: Find scmconfig.h and tags.h in their new locations (they're both "inner" files).
* maintainer changed: was lord, now jimb; first importjimbJim Blandy1996-07-251-0/+170