summaryrefslogtreecommitdiff
path: root/libguile/init.c
AgeCommit message (Collapse)AuthorFilesLines
1996-10-25* feature.c (scm_set_program_arguments): New argument, FIRST.Jim Blandy1-1/+1
* feature.h: Update prototype. * init.c (scm_boot_guile_1): Pass new argument to scm_set_program_arguments.
1996-10-23* init.c (scm_start_stack): Don't initialize scm_progargs here.Jim Blandy1-225/+101
(scm_boot_guile): Call scm_set_program_arguments here, later than the old initialization. * init.c: (scm_boot_guile, scm_boot_guile_1): New, simplified initialization procedure. - Delete in, out, err arguments; there are other perfectly good ways to override these when desired. - Delete result argument; this function shouldn't ever return. - Rename init_func argument to main_func, for less confusion. - Delete boot_cmd argument; main_func is more general. -Add 'closure' argument, to help people pass data to main_func without resorting to global variables. - Abort if reentered; don't bother returning an error code. - Call scm_init_standard_ports to set up the default/current standard ports; no need to pass them to scm_start_stack. - Remove code to evaluate the boot_cmd, and start the repl; let the user do something like that in main_func if they want. - Remove code to package up a return value; main_func can do any of that as needed. - Call exit (0), instead of returning. (scm_start_stack): Don't initialize the I/O ports here; that's weird. Delete in, out, err arguments. Move guts to scm_init_standard_ports, scm_stdio_to_port. (scm_init_standard_ports): New function, to set up current and default standard ports. (scm_start_stack, scm_restart_stack): Make these static. * init.h (scm_boot_guile): Adjust declaration. (scm_start_stack, scm_restart_stack): Remove externally visible declarations for these. (enum scm_boot_status): Removed; now scm_boot_guile never returns.
1996-10-21Started moving gh.c to acknowledging conservative GC; gh_test core dumps,Mark Galassi1-2/+2
but at least it compiles for now.
1996-10-20* pairs.h, eval.c, gc.c, init.c, ioext.c, ports.c, ports.h,Mikael Djurfeldt1-5/+5
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.)
1996-10-14* init.c (scm_boot_guile_1): Moved scm_init_struct in front ofMikael Djurfeldt1-1/+1
scm_init_stacks.
1996-10-14* continuations.c, continuations.h, debug.c, gc.c, init.c, root.c,Mikael Djurfeldt1-4/+8
stacks.c: Renamed regs --> scm_contregs. * init.c: Added #include "backtrace.h" and #include "stacks.h". (scm_boot_guile_1): Added calls to scm_init_backtrace and scm_init_stacks. * init.c (scm_boot_guile_1): Moved scm_init_debug below scm_init_eval.
1996-10-14* __scm.h, alist.c, alist.h, append.c, append.h, appinit.c,Jim Blandy1-5/+4
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.)
1996-10-06* init.c (scm_boot_guile_1): Bugfix: i --> base in argument toMikael Djurfeldt1-1/+1
`scm_init_threads'.
1996-10-05* init.c (scm_boot_guile): Add level of indirection toJim Blandy1-3/+27
scm_boot_guile_1() to ensure that stack base pointer is properly initialized. There was no guarantee that variable i was the highest/lowest variable on stack (i.e. the call frame of scm_boot_guile was not completely protected from gc).
1996-10-05* continuations.c, debug.[ch], eval.c, gscm.c init.c, root.c,Mikael Djurfeldt1-2/+3
throw.c: Renamed last_debug_info_frame -> scm_last_debug_frame. * init.c (scm_start_stack): Set initial root continuation number to 0.
1996-10-01* init.c (scm_start_stack): Call `scm_make_root' to dynamicallyMikael Djurfeldt1-0/+8
allocate the basic dynamic root object. (scm_boot_guile): Added call to scm_init_root.
1996-09-22* init.c (scm_boot_guile): Moved scm_init_struct upwards soMikael Djurfeldt1-2/+2
that it will be called before scm_init_print.
1996-09-11* init.c: Uninitialized `SCM last' may be used.Jim Blandy1-1/+1
1996-09-10* files.c (scm_sys_delete_file): Moved to filesys.c.Jim Blandy1-2/+0
File is now empty; deleted. * files.h: Deleted. * filesys.c: scm_sys_delete_file is now here. Remove #if's; they seem to rely on remnants of an old portability regimen. If the problems come up again, solve them properly, using autoconf. Specifically: Don't test M_SYSV, and #define remove to be unlink if it's #defined; don't use remove just because HAVE_STDC_HEADERS is #defined. * filesys.h: Add declarations for scm_sys_delete_file. * Makefile.in (libobjs, inner_h_files, c_files, gen_c_files): Omit files.o, files.h, files.c, and files.x. * init.c: Don't #include "files.h", and don't call scm_init_files.
1996-09-10* init.c: Don't forget to #include smob.h and init.h.Jim Blandy1-0/+3
* Makefile.in: Dependencies updated.
1996-09-10C files should #include only the header files they need, notJim Blandy1-0/+64
libguile.h (which #includes all the header files); the pointless recompilation was wasting my time. * Makefile.in (all .o dependency lists): Regenerated. * libguile.h: Don't try to get a definition for size_t here... * __scm.h: Do it here. * _scm.h: Since this is the internal libguile header, put things here that all (or a majority) of the libguile files will want. Don't #include <libguile.h> here; that generates dependencies on way too much. Instead, get "__scm.h", "error.h", "pairs.h", "list.h", "gc.h", "gsubr.h", "procs.h", "numbers.h", "symbols.h", "boolean.h", "strings.h", "vectors.h", "root.h", "ports.h", and "async.h". * alist.c: Get "eq.h", "list.h", "alist.h". * append.c: Get "append.h", "list.h". * arbiters.c: Get "arbiters.h", "smob.h". * async.c: Get "async.h", "smob.h", "throw.h", "eval.h". * boolean.c: Get "boolean.h". * chars.c: Get "chars.h". * continuations.c: Get "continuations.h", "dynwind.h", "debug.h", "stackchk.h". * debug.c: Get "debug.h", "feature.h", "read.h", "strports.h", "continuations.h", "alist.h", "srcprop.h", "procprop.h", "smob.h", "genio.h", "throw.h", "eval.h". * dynwind.c: Get "dynwind.h", "alist.h", "eval.h". * eq.c: Get "eq.h", "unif.h", "smob.h", "strorder.h", "stackchk.h". * error.c: Get "error.h", "throw.h", "genio.h", "pairs.h". * eval.c: Get "eval.h", "stackchk.h", "srcprop.h", "debug.h", "hashtab.h", "procprop.h", "markers.h", "smob.h", "throw.h", "continuations.h", "eq.h", "sequences.h", "alist.h", "append.h", "debug.h". * fdsocket.c: Get "fdsocket.h", "unif.h", "filesys.h". * feature.c: Get "feature.h". * files.c: Get "files.h". * filesys.c: Get "filesys.h", "smob.h", "genio.h". * fports.c: Get "fports.h", "markers.h". * gc.c: Get "async.h", "unif.h", "smob.h", "weaks.h", "genio.h", "struct.h", "stackchk.h", "stime.h". * gdbint.c: Get "gdbint.h", "chars.h", "eval.h", "print.h", "read.h", "strports.h", "tag.h". * genio.c: Get "genio.h", "chars.h". * gsubr.c: Get "gsubr.h", "genio.h". * hash.c: Get "hash.h", "chars.h". * hashtab.c: Get "hashtab.h", "eval.h", "hash.h", "alist.h". * init.c: Get everyone who has an scm_init_mumble function: "weaks.h", "vports.h", "version.h", "vectors.h", "variable.h", "unif.h", "throw.h", "tag.h", "symbols.h", "struct.h", "strports.h", "strorder.h", "strop.h", "strings.h", "stime.h", "stackchk.h", "srcprop.h", "socket.h", "simpos.h", "sequences.h", "scmsigs.h", "read.h", "ramap.h", "procs.h", "procprop.h", "print.h", "posix.h", "ports.h", "pairs.h", "options.h", "objprop.h", "numbers.h", "mbstrings.h", "mallocs.h", "load.h", "list.h", "kw.h", "ioext.h", "hashtab.h", "hash.h", "gsubr.h", "gdbint.h", "gc.h", "fports.h", "filesys.h", "files.h", "feature.h", "fdsocket.h", "eval.h", "error.h", "eq.h", "dynwind.h", "debug.h", "continuations.h", "chars.h", "boolean.h", "async.h", "arbiters.h", "append.h", "alist.h". * ioext.c: Get "ioext.h", "fports.h". * kw.c: Get "kw.h", "smob.h", "mbstrings.h", "genio.h". * list.c: Get "list.h", "eq.h". * load.c: Get "load.h", "eval.h", "read.h", "fports.h". * mallocs.c: Get "smob.h", "genio.h". * markers.c: Get "markers.h". * mbstrings.c: Get "mbstrings.h", "read.h", "genio.h", "unif.h", "chars.h". * numbers.c: Get "unif.h", "genio.h". * objprop.c: Get "objprop.h", "weaks.h", "alist.h", "hashtab.h". * options.c: Get "options.h". * ports.c: Get "ports.h", "vports.h", "strports.h", "fports.h", "markers.h", "chars.h", "genio.h". * posix.c: Get "posix.h", "sequences.h", "feature.h", "unif.h", "read.h", "scmsigs.h", "genio.h", "fports.h". * print.c: Get "print.h", "unif.h", "weaks.h", "read.h", "procprop.h", "eval.h", "smob.h", "mbstrings.h", "genio.h", "chars.h". * procprop.c: Get "procprop.h", "eval.h", "alist.h". * procs.c: Get "procs.h". * ramap.c: Get "ramap.h", "feature.h", "eval.h", "eq.h", "chars.h", "smob.h", "unif.h". * read.c: Get "alist.h", "kw.h", "mbstrings.h", "unif.h", "eval.h", "genio.h", "chars.h". * root.c: Get "root.h", "stackchk.h". * scmsigs.c: Get "scmsigs.h". * sequences.c: Get "sequences.h". * simpos.c: Get "simpos.h", "scmsigs.h". * smob.c: Get "smob.h". * socket.c: Get "socket.h", "feature.h". * srcprop.c: Get "srcprop.h", "weaks.h", "hashtab.h", "debug.h", "alist.h", "smob.h". * stackchk.c: Get "stackchk.h", "genio.h". * stime.c: Get "stime.h"."libguile/continuations.h". * strings.c: Get "strings.h", "chars.h". * strop.c: Get "strop.h", "chars.h". * strorder.c: Get "strorder.h", "chars.h". * strports.c: Get "strports.h", "print.h", "eval.h", "unif.h". * struct.c: Get "struct.h", "chars.h". * symbols.c: Get "symbols.h", "mbstrings.h", "alist.h", "variable.h", "eval.h", "chars.h". * tag.c: Get "tag.h", "struct.h", "chars.h". * throw.c: Get "throw.h", "continuations.h", "debug.h", "dynwind.h", "eval.h", "alist.h", "smob.h", "genio.h". * unif.c: Get "unif.h", "feature.h", "strop.h", "sequences.h", "smob.h", "genio.h", "eval.h", "chars.h". * variable.c: Get "variable.h", "smob.h", "genio.h". * vectors.c: Get "vectors.h", "eq.h". * version.c: Get "version.h". * vports.c: Get "vports.h", "fports.h", "chars.h", "eval.h". * weaks.c: Get "weaks.h".
1996-09-05Move code to initialize and search %load-path from ice-9 to CJim Blandy1-0/+1
code, so we can use the load-path to find the ice-9 boot code; this makes it easier to run Guile without installing it. See corresponding changes in guile/Makefile.in. * feature.c: Move stuff concerned with the load path to load.c. (scm_compiled_library_path): Deleted. Don't #include libpath.h here. * feature.h: Don't mention scm_compiled_library_path. * load.c: #include "libpath.h" here, as well as <sys/types.h>, <sys/stat.h>, and <unistd.h> (if present). (R_OK): #define if the system hasn't deigned to. (scm_loc_load_path): New variable. (scm_init_load_path, scm_sys_search_load_path, scm_sys_try_load_path): New functions. (scm_init_load): Initialize scm_loc_load_path to point to the value cell of the Scheme %load-path variable. * load.h: Add declarations for scm_sys_search_load_path, scm_sys_try_load_path. * init.c: Call scm_init_load_path. * Makefile.in (feature.o, load.o): Dependencies updated.
1996-09-04* init.c (scm_boot_guile): Added scm_init_gdbint.Mikael Djurfeldt1-0/+1
1996-08-30* libguile.h: #include "version.h"Jim Blandy1-0/+1
* init.c (scm_boot_guile): Call scm_init_version. * gscm.c (gscm_run_scm): Call scm_init_version. * configure.in (GUILE_MAJOR_VERSION, GUILE_MINOR_VERSION, GUILE_VERSION): AC_DEFINE these. (acconfig.h): #undef the above symbols. * Makefile.in (libobjs): Add version.o. (installed_h_files): Add version.h. (c_files): Add version.c. (gen_c_files): Add version.x. (version.o): New rule. (alist.o, append.o, appinit.o, arbiters.o, async.o, boolean.o, chars.o, continuations.o, dynwind.o, eq.o, error.o, eval.o, fdsocket.o, feature.o, files.o, filesys.o, fports.o, gc.o, genio.o, gsubr.o, hash.o, hashtab.o, init.o, kw.o, list.o, load.o, mallocs.o, markers.o, marksweep.o, mbstrings.o, numbers.o, objprop.o, pairs.o, ports.o, posix.o, print.o, procprop.o, procs.o, ramap.o, read.o, root.o, scmsigs.o, sequences.o, simpos.o, smob.o, socket.o, stackchk.o, stime.o, strings.o, strop.o, strorder.o, strports.o, struct.o, symbols.o, tag.o, throw.o, unif.o, variable.o, vectors.o, version.o, vports.o, weaks.o): Add version.h to dependency lists. (markers.o): Remove duplicate rule. * version.h: New file. * version.c: New file.
1996-08-23* gscm.c, init.c, root.c, throw.c: Bug fixes:Mikael Djurfeldt1-0/+3
last_debug_info_frame is now updated in all cases.
1996-08-20* init.c (scm_restart_stack, scm_boot_guile): Added initializationMikael Djurfeldt1-1/+15
of SCM_DFRAME. Added calls to scm_init_{debug,options,srcprop}.
1996-08-15* init.c (scm_boot_guile): Don't call scm_init_rgx; it's a plugin,Jim Blandy1-20/+10
and should be called by the final client. * init.h (scm_start_stack, scm_restart_stack): Use PROTO; eliminate all the __STDC__ conditionals. (scm_boot_guile): Add declaration. * init.c (scm_start_stack, scm_restart_stack, scm_boot_guile): Remove __STDC__ conditionals around function definitions; the declarations in init.h will provide the same information, more usefully. * init.c (scm_boot_guile): Add init_func argument; call (*init_func) instead of calling scm_appinit; it's ucky to hard-code names for the user's procedures. * init.h (scm_boot_guile): Adjust declaration.
1996-08-07portability fixes for header inclusion etc.Gary Houston1-0/+6
1996-07-25maintainer changed: was lord, now jimb; first importJim Blandy1-0/+453