guile/libguile/ChangeLog

1473 lines
51 KiB
Text
Raw Normal View History

Sun Sep 15 03:58:29 1996 Gary Houston <ghouston@actrix.gen.nz>
* debug.c, unif.c: use scm_out_of_range instead of
wta for range errors (ASSERT still needs work).
* error.c, error.h (scm_out_of_range): new procedure.
* error.c, error.h (scm_out_of_range_key): new key.
* posix.c (scm_sync): #else was missing.
* error.c, error.h: append _key to names scm_num_overflow and
scm_system_error.
* __scm.h (SCM_SYSMISSING, SCM_NUM_OVERFLOW): use SCM_BOOL_F instead
of consing an empty list.
(SCM_SYSERROR etc.): move into error.c, make them procedures instead
of macros, saves code and string space.
error.c, fports.c, numbers.c, posix.c, ioext.c, filesys.c, socket.c,
fdsocket.c, simpos.c: change names of SCM_SYSERROR etc., to
lower case. Rename scm_syserror_m to scm_syserror_msg.
error.h: prototypes for new procedures.
Sat Sep 14 03:35:41 1996 Gary Houston <ghouston@actrix.gen.nz>
* numbers.c: use SCM_NUM_OVERFLOW instead of scm_wta or ASSERT.
* error.c, error.h: setup scm_num_overflow key.
* __scm.h: SCM_NUM_OVERFLOW: macro for reporting numerical overflow.
Remove definition of SCM_OVSCM_FLOW.
* fports.c (scm_open_file): use SCM_SYSERROR_M.
* __scm.h: SCM_SYSERROR_M: new macro for system errors with an
explicit message and args.
* error.c, error.h, __scm.h: change system_error_sym to
scm_system_error.
* error.c (system_error_sym): remove leading %% from the Scheme name
"%%system-error".
* __scm.h (SCM_SYSMISSING): Redefine using lgh_error.
1996-09-13 13:32:46 +00:00
Fri Sep 13 12:58:08 1996 Mikael Djurfeldt <mdj@woody.nada.kth.se>
* __scm.h, chars.c, debug.c, eval.c, eval.h, extchrs.c, extchrs.h,
fdsocket.c, feature.c, mbstrings.c, mbstrings.h, numbers.c,
numbers.h, print.c, scmhob.h, simpos.h, symbols.c, symbols.h,
tags.h, throw.c, variable.h: Name cleanup. Lots of xxxSCM_yyy
renamed. (These were introduced by unsupervised name
substitution.)
1996-09-12 23:44:46 +00:00
Fri Sep 13 01:19:08 1996 Mikael Djurfeldt <mdj@woody.nada.kth.se>
* * print.c: Added code for detection of circular references during
printing. (init_ref_stack, grow_ref_stack): New functions. Added
a hook for printing of closures (accessible via print options).
This leads to a split of calls to scm_iprin1 into two classes:
elementary print operations (e. g. the code which prints a smob)
still use scm_iprin1 while top level calls (like scm_display) use
scm_prin1. scm_prin1 begins by clearing the data structure used
to record reference information.
* print.h: Added declarations of scm_prin1 and scm_prlist.
* strports.c (scm_strprint_obj): scm_iprin1 --> scm_prin1
* gscm.c (gscm_portprint_obj): scm_iprin1 --> scm_prin1
* gscm.h (gscm_print_obj): scm_iprin1 --> scm_prin1
* error.c (err_head): scm_iprin1 --> scm_prin1
* debug.c: Adjusted header comment.
* tags.h: Typo.
1996-09-11 22:56:24 +00:00
Wed Sep 11 17:55:59 1996 Jim Blandy <jimb@totoro.cyclic.com>
* strerror.c: Doc fix.
1996-09-11 22:05:14 +00:00
Thu Sep 12 00:00:32 1996 Mikael Djurfeldt <mdj@woody.nada.kth.se>
* gdbint.c (gdb_read): Now possible to run during GC.
(unmark_port, remark_port): New functions.
* symbols.h (SCM_SETLENGTH): Use SCM_SETCAR.
* read.c (scm_grow_tok_buf): Use scm_vector_set_length_x instead
of allocating a new string object. Also, increase size by
the factor 2 instead of 1.5.
1996-09-11 20:30:27 +00:00
Wed Sep 11 15:10:38 1996 Petr Adamek <jimb@floss.cyclic.com>
* __scm.h (SCM_P): Corrected to run under traditional C.
* _scm.h (SCM_PROC): Extraneous semicolon (outside functions)
removed.
* async.c: Calls to scm_sysintern corrected.
* async.h (scm_async_clock): Redundant declaration removed.
* continuations.c (scm_dynthrow): Redundant declaration removed.
* debug.c (scm_single_step, scm_memoized, scm_lookup_soft):
Definition typos corrected.
* debug.h: Missing declarations of functions in debug.c added
(lots).
* eval.h (scm_eval_args, scm_deval_args, scm_m_undefine):
Missing declarations to functions in eval.c added.
* filesys.c: Possibly uninitialized variable rv.
* gc.h (scm_object_addr, scm_unhash_name): Missing
declarations of functions defined in gc.c added.
* genio.c: Possible typos str_data -> wstr_data. ???
* genio.c: Possibly unintended shadowing of local variable
`int c' (gotos out of scope of inner `c'). ???
* init.c: Uninitialized `SCM last' may be used.
* ioext.h: (scm_sys_isatty_p): Typo.
* list.h (scm_list_head): Missing prototype for function in
list.c added.
* numbers.c (scm_two_doubles): Changed from extern to static
(is used only within numbers.c).
* numbers.h: Repeated declarations removed.
* ports.h (scm_close_all_ports_except): Declaration for the
function defined in ports.c added.
* posix.h: Missing declarations added.
* procs.h (scm_make_subr_opt): Missing declaration added.
* socket.h (scm_sys_gethost): Missing declaration added.
* socket.h: Redundant declarations removed (they are in fdsocket.h).
* srcprop.h (scm_set_source_property_x, scm_finish_srcprop):
Missing declarations added.
* stime.h (scm_get_internal_real_time): Repeated declarations removed.
* struct.c: Uninitialized variable `SCM answer' may be used.
* unif.c (l2ra): Declaration prototype.
* unif.c (scm_array_equal_p): Dummy definition removed (it is
defined in ramap.c).
* unif.h (scm_raprin1, scm_istr2bve, scm_array_equal_p):
Redundant declarations removed (they are in ramap.h).
* variable.h (scm_make_udvariable,
scm_make_undefined_variable): Declaration corrected to
correspond variable.c.
* vectors.h (scm_vector_move_left_x, scm_vector_move_right_x):
Missing declarations added.
1996-09-11 19:56:41 +00:00
Wed Sep 11 14:38:50 1996 Jim Blandy <jimb@floss.cyclic.com>
* Makefile.in (distclean): Don't forget to delete fd.h.
1996-09-10 19:09:18 +00:00
Tue Sep 10 14:01:46 1996 Jim Blandy <jimb@floss.cyclic.com>
1996-09-10 22:01:48 +00:00
* fd.h.in, tags.h: Trivial cleanups.
1996-09-10 20:01:57 +00:00
* marksweep.c, marksweep.h: Deleted; marksweep.c was empty, and
marksweep.h just declared functions from gc.c.
* gc.h, libguile.h: Don't #include "marksweep.h".
* Makefile.in (libobjs, inner_h_files, c_files, gen_c_files): Omit
marksweep.o, marksweep.h, marksweep.c, and marksweep.x. Other
dependencies updated.
* libguile.h: Don't #include "files.h"; it's been deleted.
1996-09-10 19:44:47 +00:00
* files.c (scm_sys_delete_file): Moved to filesys.c.
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 19:23:47 +00:00
Use SCM_P instead of PROTO; the latter intrudes on the user's
namespace.
* params.h: Deleted; definition of SCM_P moved to...
* __scm.h: ... here, where it replaces PROTO macro.
* libguile.h, smob.h: Don't #include "params.h".
* continuations.c, error.h, feature.h, gc.c, gc.h, init.h, load.h,
smob.h: Fix prototypes accordingly.
* Makefile.in: Update dependencies.
(inner_h_files): Remove params.h.
1996-09-10 19:09:18 +00:00
* gc.c: #include "gc.h"; every module should include its header,
to let the compiler cross-check the declarations against the
definitions.
* eq.h, files.h, hashtab.h, load.h, mallocs.h, scmsigs.h,
simpos.h: #include "libguile/__scm.h".
1996-09-10 02:33:23 +00:00
Mon Sep 9 20:00:15 1996 Jim Blandy <jimb@floss.cyclic.com>
1996-09-10 02:45:38 +00:00
* init.c: Don't forget to #include smob.h and init.h.
* Makefile.in: Dependencies updated.
1996-09-10 02:33:23 +00:00
* smob.h: Use PROTO instead of #if __STDC__.
* continuations.c (scm_dynthrow): Use PROTO, not SCM_P.
* __scm.h: Doc fixes.
* __scm.h, libguile.h: Use "quotes" in the #includes, not
<angles>; this allows `make depends' to work properly.
* libguile.h: #include smob.h and pairs.h before the others; they
define typedefs used by other headers.
C files should #include only the header files they need, not
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".
* stackchk.h: #include "libguile/debug.h",
* print.h, read.h: #include "options.h", since everyone who uses
either of these files will need that.
* smob.h: #include "ports.h", "genio.h", and "print.h", since
anyone who uses this file will need them to define the smob
printing functions. Also, get markers.h, since people will need
to #define the mark functions.
* smob.h (scm_ptobfuns, SCM_PTOBNUM): Definitions moved...
* ports.h: ... to here.
* ports.h (scm_port_table_size): Explicitly give type as 'int';
don't rely on archaic C default type rules.
* fports.h: #include "libguile/ports.h", since you need that in
order to parse this.
* genio.h: #include "libguile/print.h", because you need that to
parse this; don't bother #including "ports.h", since print.h gets
that.
* error.h: Don't #include "pairs.h"; _scm.h will do that now.
* eval.h (scm_top_level_lookup_thunk_var): Remove declaration for
this; it's now a reference to an element of *scm_root.
* debug.h: Don't #include "options.h"; the compiler won't be able
to find that once the headers are installed; instead, #include
"libguile/options.h".
* gc.h: Same, with marksweep.h.
* mbstrings.h: Same, with symbols.h.
* scmhob.h: Same, with _scm.h.
* smob.h: Same, with params.h.
* Makefile.in (depends): Don't nuke scmconfig.h and the generated
C files; there's no need for this, and it forces recompilations
unnecessarily.
Sat Sep 7 06:57:23 1996 Gary Houston <ghouston@actrix.gen.nz>
* error.c (scm_error): declare scm_error_callback.
* error.h: prototype for scm_error_callback.
* __scm.h: define lgh_error.
(SCM_SYSERROR): redefine using lgh_error.
Thu Sep 5 22:40:06 1996 Gary Houston <ghouston@actrix.gen.nz>
* error.c (scm_error): new procedure.
* error.h: prototype for scm_error.
* Makefile.in (install): install scmconfig.h from the current
directory, not $(srcdir).
1996-09-10 02:33:23 +00:00
Thu Sep 5 11:38:07 1996 Jim Blandy <jimb@floss.cyclic.com>
* 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, 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.
1996-09-05 16:53:17 +00:00
Thu Sep 5 11:38:07 1996 Jim Blandy <jimb@floss.cyclic.com>
1996-09-05 19:32:48 +00:00
* Makefile.in (.c.x): Simplify; there's no need to run this rule
when scmconfig.h doesn't exist.
1996-09-05 16:53:17 +00:00
* load.c (scm_sys_try_load): Correct spelling.
* feature.c (scm_loc_features): Make this static.
* Makefile.in (libpath.h): Omit trailing slash from path. We
shouldn't require it of users, so why put it here?
Move code to initialize and search %load-path from ice-9 to C
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.
1996-09-10 02:33:23 +00:00
(scm_compiled_library_path): Deleted.
1996-09-05 16:53:17 +00:00
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.
1996-09-10 02:33:23 +00:00
(scm_init_load_path, scm_sys_search_load_path,
1996-09-05 16:53:17 +00:00
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.
* load.c, load.h: Rewrite using PROTO macro.
1996-09-05 00:00:41 +00:00
Thu Sep 5 01:54:33 1996 Mikael Djurfeldt <mdj@woody.nada.kth.se>
* gc.c (scm_cellp): New function: C predicate to determine if an
SCM value can be regarded as a pointer to a cell on the heap.
* gc.h: Added declaration of scm_cellp.
* gdb_interface.h: New file: The GDB interface header from the GDB
distribution.
* gdbint.c: New file: GDB interface.
* gdbint.h: New file: GDB interface.
* libguile.h: Added #include <libguile/gdbint.h>.
* init.c (scm_boot_guile): Added scm_init_gdbint.
* Makefile.in: Added gdb_interface.h, gdbint.[hc].
Added -I.. to INCLUDE_CFLAGS (otherwise the include files won't be
found if object files and source are kept separate).
1996-09-05 16:53:17 +00:00
Wed Sep 4 14:35:02 1996 Jim Blandy <jimb@floss.cyclic.com>
* feature.h, feature.c: Use PROTO macro, instead of #if __STDC__.
1996-09-04 06:34:50 +00:00
Wed Sep 4 01:30:47 1996 Jim Blandy <jimb@totoro.cyclic.com>
* configure.in: Don't substitute the values of TCL_SRC_DIR and
TK_SRC_DIR; they're not relevant any more.
* Makefile.in (CC): Don't list -Wall here; it's a GCC-specific flag.
* configure.in: Instead, put it in CFLAGS here, iff we're using GCC.
1996-09-04 06:24:25 +00:00
Wed Sep 4 00:55:49 1996 Jim Blandy <jimb@floss.cyclic.com>
* PLUGIN/guile.config (xtra_cflags): Include .. in the header
search path, so we can find the <libguile/MUMBLE.h> headers.
* Makefile.in (ancillary): List aclocal.m4, for 'make dist'.
* Makefile.in (ALL_CFLAGS): Don't mention CFLAGS here; it's
implicit in the .c.o rule.
(.c.x): Don't mention ALL_CFLAGS here; its value is included in
$(CC) already.
Put the library path in a header file, instead of passing it on
the command line in every compilation.
* Makefile.in (libpath.h): New target.
(feature.o): Depend on libpath.h.
(clean): Delete libpath.h.
(ALL_CFLAGS): Don't use -DLIBRARY_PATH here. Instead ...
* feature.c: ... #include "libpath.h" here.
* .cvsignore: Ignore libpath.h.
1996-09-05 20:20:34 +00:00
* Don't install the unwashed masses of Guile header files in the
1996-09-04 06:24:25 +00:00
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).
Tue Sep 3 20:27:35 1996 Jim Blandy <jimb@floss.cyclic.com>
* Makefile.in (.c.x): Remove duplicate use of $(ALL_CFLAGS).
1996-09-04 07:07:43 +00:00
Tue Sep 3 19:53:00 1996 Jim Blandy <jimb@totoro.cyclic.com>
* posix.c: Doc fixes.
1996-09-03 04:49:00 +00:00
Mon Sep 2 15:22:40 1996 Jim Blandy <jimb@totoro.cyclic.com>
* socket.c: Don't include a prototype for inet_aton; just use a
K&R style declaration, to avoid warnings but minimize the chance
of conflicts with the system.
On NextStep, <utime.h> doesn't define struct utime, unless we
#define _POSIX_SOURCE before #including it.
* aclocal.m4 (GUILE_STRUCT_UTIMBUF): New test.
* acconfig.h: New comment text for above CPP symbol.
* configure.in: Call it.
* posix.c: #define _POSIX_SOURCE if it seems necessary.
* configure.in (AC_CHECK_HEADERS): Include sys/utime.h and utime.h
in the list.
* posix.c: Check HAVE_SYS_UTIME_H and HAVE_UTIME_H, instead of
testing for __EMX__.
* posix.c: #include <libc.h>, if it exists.
* posix.c: Cast the return result to GETGROUPS_T, not gid_t; we
don't even know if the latter exists.
* posix.c (s_sys_setpgid, s_sys_setsid, s_sys_ctermid,
s_sys_tcgetpgrp, s_sys_tcsetpgrp): Renamed from s_setpgid,
s_setsid, s_ctermid, s_tcgetpgrp, s_tcsetpgrp, for consistency.
* posix.c (R_OK, W_OK, X_OK, F_OK): #define these if the system's
header files don't.
(scm_init_posix): Use them when initializing the Scheme constants
of the same name.
1996-08-30 21:15:31 +00:00
Fri Aug 30 16:01:30 1996 Jim Blandy <jimb@floss.cyclic.com>
* Makefile.in (libdir, includedir, bindir): Use the
autoconf-supplied values, instead of deriving them ourselves.
(pkgincludedir, datadir, pkgdatadir): New variables.
(install, uninstall): Put the header files in a special
subdirectory, not in the main search path.
1996-08-30 21:27:24 +00:00
* Makefile.in (ALL_CFLAGS): Provide the proper value for
LIBRARY_PATH --- use $(pkgdatadir) instead of $(libdir).
1996-08-30 21:15:31 +00:00
* Makefile.in (IMPLPATH): Deleted; never used.
* Makefile.in (TCL_SRC_DIR, TK_SRC_DIR): Deleted; we don't depend
on the Tcl/Tk source any more.
(INCLUDE_CFLAGS): Remove references to the above.
* Makefile.in (version.o): Corrected dependencies.
1996-08-30 04:35:06 +00:00
Thu Aug 29 23:06:19 1996 Thomas Morgan <tmorgan@gnu.ai.mit.edu>
* libguile.h: #include "version.h"
* 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-30 03:36:49 +00:00
Thu Aug 29 15:21:39 1996 Jim Blandy <jimb@totoro.cyclic.com>
* symbols.c (scm_strhash): scm_downcase is now a function, not an
array; use it appropriately. Since GCC is quite happy to
subscript functions, it never warned us about this; we should use
-Wpointer-arith in the future. I guess we never tested
case-insensitivity.
Wed Aug 28 18:52:22 1996 Jim Blandy <jimb@totoro.cyclic.com>
* socket.c: Doc and copyright fixes.
1996-08-24 03:31:29 +00:00
Sat Aug 24 05:29:19 1996 Mikael Djurfeldt <mdj@woody.nada.kth.se>
* debug.c: Fixed and improved gdb support.
1996-08-23 16:18:21 +00:00
Fri Aug 23 18:00:16 1996 Mikael Djurfeldt <mdj@woody.nada.kth.se>
* socket.c: Added declaration of inet_aton to avoid compiler
warning. (Hope this solution is correct.)
* stime.c: Added declaration of ftime. (This is missing in
Solaris 2 headers.)
Fri Aug 23 02:03:32 1996 Gary Houston <ghouston@actrix.gen.nz>
* configure, scmconfig.h.in: Updated, using autoconf and autoheader.
* Makefile.in (c_files): add strerror.c.
* strerror.c: new file from Emacs' sysdep.c.
maybe configure should also check for sys_errlist.
* configure.in (AC_REPLACE_FUNCS): add strerror.
1996-08-23 01:16:02 +00:00
Fri Aug 23 03:02:46 1996 Mikael Djurfeldt <mdj@woody.nada.kth.se>
1996-08-23 04:43:24 +00:00
* debug.c (scm_init_debug): Added initialization for
scm_evaluator_traps.
1996-08-23 01:16:02 +00:00
* debug.h, debug.c: Various name changes.
(Mostly prefixing with SCM_.) Renamed "debug-options" -->
"debug-options-interface". See commentary in options.c.
* options.h, options.c: Options now have documentation strings.
Also added a long explanatory commentary.
* eval.c, print.h, print.c, read.h, read.c: Modifications to
run-time options.
* gscm.c, init.c, root.c, throw.c: Bug fixes:
last_debug_info_frame is now updated in all cases.
1996-08-23 01:22:39 +00:00
* __scm.h, stackchk.h, stackchk.c: Guile now performs stack
checking.
1996-08-23 01:16:02 +00:00
1996-08-22 15:37:35 +00:00
Thu Aug 22 17:34:17 1996 Mikael Djurfeldt <mdj@woody.nada.kth.se>
1996-08-23 01:16:02 +00:00
* __scm.h: SCM_STACK_LIMIT removed (now a run-time option).
Added option STACK_CHECKING.
1996-08-22 15:37:35 +00:00
1996-08-20 16:57:13 +00:00
Tue Aug 20 18:48:40 1996 Mikael Djurfeldt <djurfeldt@nada.kth.se>
* Makefile.in: Added {debug,options,srcprop}.{h,c}
* __scm.h: Removed symbols for debugging support.
* acconfig.h: Added symbols for debugging support.
* * configure.in: Added user option for debugging support.
--enable-debug will include the debugging code into libguile.a.
* continuations.c (scm_make_cont): Enlarged the #if 0 around
scm_relocate_chunk_to_heap.
* * debug.c: New file: low-level debugging support. It also
includes support for debugging with gdb. (The extensions to gdb
are written by Per Bothner at Cygnus.)
* debug.h: New file: low-level debugging support.
* * eval.c: scm_m_set and SCM_IM_SET no longer supports multiple
argument pairs. Extensive modifications to the debugging
evaluator. Added "SECTION:" commentaries to clarify what happens
when, during double compilation. Renamed EVALIMP --> EVALIM.
Renamed EVAL --> XEVAL. Removed function evalcar. Defined
evalcar to scm_eval_car. Added explanation of "EVAL" symbols to
the beginning of the file. New procedure: scm_unmemocopy.
Added some global state variables needed by the debugging
evaluator: scm_ceval_ptr, last_debug_info_frame, debug_mode,
check_entry, check_apply, check_exit, debug_options and
evaluator_traps. New acro: undefine.
* eval.h: Renamed EVAL --> XEVAL.
* gc.c (scm_init_storage): Renamed scm_make_weak_hash_table
--> scm_make_weak_key_hash_table.
* init.c (scm_restart_stack, scm_boot_guile): Added initialization
of SCM_DFRAME. Added calls to scm_init_{debug,options,srcprop}.
* libguile.h: Conditionally include debug.h
* * objprop.c (scm_object_properties, scm_set_object_properties_x):
scm_object_properties shouldn't return handle. `handle' now gets
initialized in scm_set_object_properties_x. scm_object_properties
doesn't any longer create an entry in scm_object_whash.
* * options.c: New file: handling of run time options.
* options.h: New file: handling of run time options.
* posix.c (scm_getpgrp): Cast pointer to getpgrp.
* * print.c: New procedure: scm_print_options
* print.h: Defines for print options.
* * read.c: New procedure: scm_read_options
* read.h: Defines for reader options.
* root.h: Added scm_source_whash among scm_sys_protects.
* * srcprop.c: New file: source properties.
* srcprop.h: New file: source properties.
* throw.c (jbsmob): Jump buffers are now correctly allocated.
(Bug found by A. Green.)
* * weak.c: Renamed scm_weak_hash_table --> scm_weak_key_hash_table.
* weak.h: Renamed scm_weak_hash_table --> scm_weak_key_hash_table.
1996-08-15 07:25:53 +00:00
Thu Aug 15 02:05:14 1996 Jim Blandy <jimb@totoro.cyclic.com>
* libguile.h: #include "objprop.h"; I guess this was forgotten.
* init.c (scm_boot_guile): Don't call scm_init_rgx; it's a plugin,
and should be called by the final client.
Wed Aug 14 21:41:37 1996 Jim Blandy <jimb@totoro.cyclic.com>
* gc.h: Use the PROTO macro when declaring functions.
* gc.c: Use the PROTO macro when declaring static functions.
Remove the CPP hair around function definitions.
* gc.c (scm_init_storage): Initialize scm_asyncs.
* libguile.h: #include "__scm.h" before testing the STDC_HEADERS
preprocessor symbol; "__scm.h" is where it might get #defined.
* __scm.h: Similar: #include <scmconfig.h> before testing
HAVE_LIMITS_H.
* __scm.h: It's HAVE_LIMITS_H, not HAVE_LIMITSH.
Fri Aug 9 11:09:28 1996 Jim Blandy <jimb@totoro.cyclic.com>
* * 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.
* __scm.h (PROTO): New macro, for declaring functions with
prototypes.
* 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.
* __scm.h (SCM_SYSMISSING): When we don't have ENOSYS, don't
complain about it in the error message; the error message is
adequate without that note, and there's nothing the user can do
about it.
1996-08-07 21:54:30 +00:00
Wed Aug 7 14:14:46 1996 Jim Blandy <jimb@totoro.cyclic.com>
* Makefile.in (ancillary): Drop def.sed.
* posix.c (scm_init_posix): Use numeric values, rather than
CPP symbols, when defining the scheme values R_OK, W_OK, X_OK, and
F_OK. The symbols aren't available on some systems, and I'm
pretty sure their values are fixed by common widespread practice.
* ioext.c (scm_init_ioext): Code here defined them too; remove it.
More functions unavailable on some systems.
* configure.in (AC_CHECK_FUNCS): Add ctermid, setpgid, setsid,
tcgetpgrp, tcsetpgrp, and waitpid to the list of functions to
check for.
* configure, scmconfig.h.in: Updated, using autoconf and autoheader.
* posix.c (scm_sys_ctermid, scm_sys_setpgid, scm_sys_setsid,
scm_sys_tcgetpgrp, scm_sys_tcsetpgrp, scm_sys_waitpid): Put the
bodies of these functions in "#ifdef HAVE_MUMBLE" clauses, with a
stub that signals an error as the #else.
* Makefile.in (ancillary): Drop acconfig-1.5.h; add acconfig.h.
Wed Aug 7 06:28:42 1996 Gary Houston <ghouston@actrix.gen.nz>
* Fixes motivated by Petr Adamek <adamek@mit.edu>:
* unif.c: include ramap.h.
* read.c (endif): case_insensative_p renamed case_insensitive_p.
* ramap.h: rename scm_array_copy prototypes to scm_array_copy_x.
* ports.c: include sys/ioctl.h.
* scmconfig.h.in: add HAVE_SYS_IOCTL_H.
* configure.in: check for sys/ioctl.h.
* ports.c: include <malloc.h> not "malloc.h".
* mallocs.c: include <malloc.h> not "malloc.h", likewise for unistd.h.
* fports.c: remove ttyname and tmpnam declarations.
* posix.c: fewer ttyname declarations.
* fports.c: include <string.h> not "string.h".
* init.c, ioext.c: include string.h and unistd.h.
* gc.c: include <malloc.h> not "malloc.h", likewise for unistd.h.
1996-08-07 21:54:30 +00:00
* async.c, strings.h, strports.c, struct.c, symbols.c, feature.c,
genio.c, simpos.c, vports.c: include string.h.
* socket.c, fdsocket.c: include string.h only if HAVE_STRING_H.
* fdsocket.c (getsockopt, setsockopt): change type of optlen from
scm_sizet to int.
(scm_addr_buffer_size): change type from scm_sizet to int.
(accept, getsockname, getpeername, recvfrom): change type of tmp_size
from scm_sizet to int.
* error.c: include unistd.h.
* __scm.h: (SCM_SYSMISSING): another version in case ENOSYS isn't
defined.
* Makefile.in: remove references to .hd, .cd suffix and __scm.hd.
* __scm.hd, def.sed: deleted.
1996-08-07 00:10:52 +00:00
Tue Aug 6 14:49:08 1996 Jim Blandy <jimb@totoro.cyclic.com>
Changes for NeXT, suggested by Robert Brown.
* configure.in: Call AC_TYPE_MODE_T.
(AC_CHECK_HEADERS): Add libc.h, to get more prototypes on the
NeXT. Put header file list in alphabetical order.
* configure, scmconfig.h.in: Regenerated.
* filesys.c [HAVE_LIBC_H]: #include <libc.h>.
* filesys.c [HAVE_STRING_H]: #include <string.h>, to get prototype
for strerror.
* acconfig.h: New file, providing documentation for the CPP
symbols defined in configure.in
* acconfig-1.5.h: Removed; superceded by the above.
Sat Aug 3 01:27:14 1996 Gary Houston <ghouston@actrix.gen.nz>
1996-08-04 22:32:07 +00:00
* ioext.c (scm_sys_fdopen): fix the port-table assignment.
1996-08-15 07:25:53 +00:00
* * fports.c (scm_open_file): don't return #f, throw error.
1996-08-04 22:32:07 +00:00
1996-08-15 07:25:53 +00:00
* * ioext.c (fileno): renamed from %fileno.
1996-08-04 22:32:07 +00:00
(soft-fileno): deleted.
* ports.c (scm_port_revealed): don't need to check for -1 from
scm_revealed_count.
(scm_set_port_revealed_x): return unspecified, not #f.
1996-08-15 07:25:53 +00:00
* * ioext.c (primitive-move->fdes): return #t or #f, not 1 or 0.
1996-08-04 22:32:07 +00:00
* fdsocket.c: getsockopt, setsockopt: use HAVE_STRUCT_LINGER.
* scmconfig.h.in: add HAVE_STRUCT_LINGER.
* configure.in: check for struct linger, set HAVE_STRUCT_LINGER.
1996-08-01 08:38:52 +00:00
Thu Aug 1 02:58:39 1996 Jim Blandy <jimb@totoro.cyclic.com>
1996-08-01 10:55:47 +00:00
* filesys.c, posix.c: #include <sys/types.h> before <sys/stat.h>.
This is necessary on Ultrix, and doesn't hurt portability.
1996-08-01 08:38:52 +00:00
* Makefile.in (dist-dir): New target, implementing a new dist system.
(installed_h_files): Put in alphabetical order.
Remove duplicate entries for markers.h and unif.h.
(c_files): Remove duplicate entries for markers.c.
(ancillary): Renamed from anillery; all uses changed. Remove
PLUGIN; it's a directory, and needs special treatment in dist-dir.
Remove all the ../doc/* files; doc/Makefile.in handles that.
1996-08-01 10:55:47 +00:00
* Makefile.in (libobjs): Remove duplicate entry for markers.o.
1996-08-01 10:30:22 +00:00
* Makefile.in (.c.x): Compensate for Ultrix's broken Bourne shell:
every if must have an else, or else the whole command has a
non-zero exit code whenever the if's condition is false.
Thu Aug 1 08:22:24 1996 Gary Houston <ghouston@actrix.gen.nz>
* posix.c: include string.h.
Wed Jul 31 23:43:05 1996 Gary Houston <ghouston@actrix.gen.nz>
1996-08-15 07:25:53 +00:00
* * numbers.c: rename %expt -> $expt, %atan2 -> $atan2, as it must
have been once.
1996-08-15 07:25:53 +00:00
* * posix.c, ioext.c, socket.c, fdsocket.c, files.c, filesys.c, simpos.c:
Remove leading % from scheme names.
Do not return error values, call SCM_SYSERROR or similar.
* __scm.h (SCM_SYSERROR, SCM_SYSMISSING): new macros.
Wed Jun 12 00:28:31 1996 Tom Lord <lord@beehive>
* struct.c (scm_init_struct): new file.
Fri Jun 7 14:02:00 1996 Tom Lord <lord@beehive>
* list.c (scm_list_tail): list-cdr-ref is the same as list-tail.
(scm_list_head): added list-head for rapidly chopping argument
lists off of longer lists (and similar).
Tue Jun 4 09:40:33 1996 Tom Lord <lord@beehive>
* objprop.c (scm_object_property): assq the cdr of the whash
handle for obj, not the handle itself.
Mon Jun 3 17:19:30 1996 Tom Lord <lord@beehive>
* gc.c (scm_mark_weak_vector_spines): Mark the spines (alists) of
weak hash tables last of all marking to avoid an obscure gc bug.
WARNING: circular lists stored in a weak hash table will hose us.
Fri May 24 09:53:39 1996 Tom Lord <lord@beehive>
* vectors.c (scm_vector_move_left_x, scm_vector_move_right_x):
new functions similar to scm_substring_move_left_x and
scm_substring_move_right_x.
Wed May 22 20:07:01 1996 Tom Lord <lord@beehive>
* init.c (scm_boot_guile): prevent gc with scm_block_gc not
scm_gc_heap_lock!
Wed May 15 16:13:29 1996 Tom Lord <lord@beehive>
* ports.c (scm_unread_char): scm_gen_ungetc as a scheme procedure.
Thu May 9 09:33:17 1996 Tom Lord <lord@beehive>
* strports.c (scm_strprint_obj): convenience function. C for
(lambda (obj) (call-with-output-string (lambda (p) (write obj p))))
* guile-{tcl,tk}.[ch], events.[ch], keysyms.[ch], tcl-channels.[ch]
removed to a separate library
* init.c (scm_boot_guile): copied from guile-tcl.c.
Initialization specific to tcl interpreters removed.
Wed May 8 15:07:37 1996 Tom Lord <lord@beehive>
* ports.c (scm_ports_prehistory): size malloced here doesn't
matter so long as it is non-0 (got rid of "* 4").
Tue May 7 11:43:37 1996 Tom Lord <lord@beehive>
* gscm.h: gscm_mkarray eliminated (presumably was not being used
since its definition was bogus).
Mon May 6 13:02:56 1996 Tom Lord <lord@beehive>
* mallocs.[ch]: back again (for rx at least).
Wed Apr 17 08:54:20 1996 Tom Lord <lord@beehive>
* ports.c: removed functions relating to the mapping between ports
and descriptors. (That stuff is unix-specific and should be collected
in a separate library).
* ramap.c (scm_array_copy): return #<unspecified> not #<undefined>.
(Tom Mckay@avanticorp.com)
Mon Apr 15 14:16:55 1996 Tom Lord <lord@beehive>
* gc.c (scm_gc_sweep): Immediates in weak vectors were not
handled correctly (SCM_FREEP was applied to them) -- test for
NIMP. Keys in weak hash tables were spuriously (though harmlessly)
being overwritten with #f. (brown@grettir.bibliotech.com)
Tue Apr 2 22:25:00 1996 Tom Lord <lord@beehive>
* gc.c (scm_unhash_name): new procedure, unhash-name, flushes glocs
for a specific symbol or for all symbols.
Mon Apr 1 10:34:55 1996 Tom Lord <lord@beehive>
* gc.c (scm_gc_mark): mark weak hash tables correctly (was getting weak
keys and weak values confused).
Thu Mar 14 22:20:20 1996 Tom Lord <lord@beehive>
* list.c (scm_last_pair): map '()=>'()
Wed Mar 13 16:43:34 1996 Tom Lord <lord@beehive>
* pairs.c, hashtab.c, list.c, alist.c append.c, sequences.c:
Generalized assoc and hash-table functions.
Factored pairs.c into multiple files.
Fri Mar 8 14:44:39 1996 Tom Lord <lord@beehive>
* gscm.c (gscm_run_scm): got rid of objprop.
Fri Mar 1 10:39:52 1996 Tom Lord <lord@beehive>
* genio.c (scm_getc):
NOTE: fgetc may not be interruptable.
* procprop.c (scm_stand_in_scm_proc):
NOTE: don't use a alist here.
(scm_set_procedure_properties_x): fix type checking throughout this file.
* gc.c (scm_gc_sweep): free heap segments with free, not must_free.
* ports.c (scm_remove_from_port_table): adjust scm_mallocated
after freeing part of the port table.
Thu Feb 29 16:21:17 1996 Tom Lord <lord@beehive>
* strports.c (scm_mkstrport):
* vports.c (scm_make_soft_port): allocate a port table entry
(possibly triggering gc) before setting the tag of the corresponding
ports handle.
* pairs.c (scm_delq_x): never throw an error.
* vectors.c (scm_make_vector): made the default vector fill argument
into '() (much more useful than the previous value, "#unspecified")
Mon Feb 26 17:19:09 1996 Tom Lord <lord@beehive>
* ports.c (scm_add_to_port_table): Added fields
to port table entries: file_name, line_num, col.
Update these in open_file, gen_getc and gen_ungetc.
Added procedures to access those fields.
Sun Feb 25 00:10:36 1996 Tom Lord <lord@beehive>
* procs.c (scm_make_subr_opt): new entry point for making
anonymous subrs.
Sat Feb 24 17:11:31 1996 Tom Lord <lord@beehive>
* gc.h: SCM_STACK_GROWS_UP is now set by autoconf.
Fri Feb 23 10:26:29 1996 Tom Lord <lord@beehive>
* numbers.c (scm_exact_p): This function no longer
implements "integer?".
Thu Feb 22 20:56:16 1996 Tom Lord <lord@beehive>
* gc.c (scm_gc_end): simulate a signal at the end of each GC.
(scm_gc_stats): return an assoc of useful data. Replaces "room"
and the stats reporting formerlly built into repl.
* repl.[ch]: removed.
GC statistics keeping moved to gc.c.
Other statistics keeping can be done from Scheme.
REPLS are now written in Scheme.
Wed Feb 21 10:28:53 1996 Tom Lord <lord@beehive>
* cnsvobj.c (gscm_is_gscm_obj): new file for old functions (icky
conservatively marked objects).
* throw.c (scm_ithrow): Unwind up to the right catch during a throw!
* error.c (scm_init_error): init system_error_sym here, not in repl.c.
* feature.c (scm_compiled_library_path): moved here from repl.c.
This file is for stuff relating specifically to Scheme libraries
like slib.
* eval.c (scm_m_define): don't give warning about redefinition, don't
check verbosity.
NOTE: this should throw a resumable exception with parameters --
the name, the top-level env, the variable, the definition, #t/#f: redefining builtin?
* repl.c (scm_gc_begin/end): don't print a message, don't check verbosity.
* error.c: scm_warn eliminated.
* read.c (scm_lreadr): extra right paren gets an error, not a warning.
* repl.c, marksweep.c, gc.c (various):
lose exit_report, growth_mon.
* gscm.c: got rid of verbosity functions.
Tue Feb 20 00:19:10 1996 Tom Lord <lord@beehive>
* throw.c (scm_ithrow): guard against the bad-throw hook changing
between the call to procedurep and use.
* error.c (scm_everr):
* gc.c (fixconfig):
* gsubr.c (scm_make_gsubr): use exit, not scm_quit. still wrong,
but less so.
* strports.c: don't reveal the port's string to the caller
because it changes size.
(stputc stwrite): check/change the strings length with interrupts
blocked.
* objprop.c (scm_set_object_property_x &c): use the generic
hashing functions and be threadsafe.
* eval.c (scm_unmemocar): do this operation in a thread-safe way.
(per suggestion jaffer@gnu.ai.mit.edu).
* mbstrings.c (scm_multi_byte_string): guard against argument list
changing length.
* strings.c (scm_make_string): loop cleanup
* unif.c (scm_vector_set_length_x): scm_vector_set_length_x no longer
a scheme function.
* weaks.c (scm_weak_vector): guard against argument list
changing length.
* variable.c (scm_builtin_variable): check for/make a built-in
variable automicly.
* vectors.c (scm_vector): while filling the new array,
guard against a list of fill elements that grows after
the vector is allocated.
* hashtab.c -- new file: general hash table
functions. hash, hashq, hashv, hashx.
* tags.h: made wvect an option bit of vector.
Mon Feb 19 09:38:05 1996 Tom Lord <lord@beehive>
* symbols.c: made the basic symbol table operations atomic.
* root.c &c.: collected stack-specific global state.
linum/colnum etc *should* be port-specific state.
* struct.c (scm_init_struct): init the first struct type during
initialization to fix a race condition.
* continuations.c (scm_dynthrow): pass throwval in the 'regs'
object, not in a global.
(suggested by green@cygnus, jaffer@gnu.ai.mit.edu)
* throw.c (_scm_throw): Pass throwval on the stack, not in a global
(suggested by green@cygnus, jaffer@gnu.ai.mit.edu)
* *.[ch]: namespace cleanup. Changed all (nearly) exported CPP
and C symbols to begin with SCM_ or scm_.
Sun Feb 18 15:55:38 1996 Tom Lord <lord@beehive>
* gsubr.c (scm_gsubr_apply): statically allocate the
array of arguments (bothner@cygnus.com).
Sat Feb 17 20:20:40 1996 Tom Lord <lord@beehive>
* scmsigs.c: Simplified to use async rountines.
* async.c: New support for interrupt handlers.
Thu Feb 15 11:39:09 1996 Tom Lord <lord@beehive>
* symbols.c (scm_string_to_symbol et al.): number of tweaky changes to
set the multi_byte flag correctly in symbols. This is wrong.
intern_obbary_soft and msymbolize should take an extra parameter.
Also, weird multibyte symbols don't print correctly.
The weird symbol syntax is also a bit bogus (emacs doesn't quite
cope).
Tue Feb 13 11:39:37 1996 Tom Lord <lord@beehive>
* symbols.c (scm_string_to_obarray_symbol): obarray == #f means
use the system symhash. == #t means create an uninterned symbol.
Wed Feb 7 09:28:02 1996 Tom Lord <lord@beehive>
* strings.c (scm_make_shared_substring): build'em.
It might better to keep a table of these and use one
less cons-pair per shared-substring.
Tue Feb 6 17:45:21 1996 Tom Lord <lord@beehive>
* strings.c (scm_string_shared_substring): create shared
substrings. (Doesn't handle mb strings yet).
* mbstrings.c (scm_print_mb_string): handle RO strings.
* print.c (scm_iprin1): print substrings as their non-substring
counterparts (dubious).
* marksweep.c (scm_gc_mark scm_gc_sweep): handle RO and MB
strings.
* hash.c (scm_hasher): hash RO and MB strings as bytestrings.
* eval.c (SCM_CEVAL): self-evaluate RO and MB strings.
* eq.c (scm_equal_p): handle RO and MB strings.
* symbols.c (scm_string_to_symbol):
(scm_string_to_obarray_symbol):
* strop.c (scm_i_index):
(scm_i_rindex):
(scm_string_null_p):
(scm_string_to_list):
* strings.c (scm_string_length):
(scm_string_ref):
(scm_substring):
(scm_string_append):
* simpos.c (scm_system):
(scm_getenv):
* fports.c (scm_open_file):
* strorder.c (scm_string_equal_p):
(scm_string_ci_equal_p):
(scm_string_less_p):
(scm_string_ci_less_p):
* pairs.c (scm_obj_length):
* mbstrings.c (scm_multi_byte_string_length):
Use RO string macros for RO strings.
Tue Jan 30 09:19:08 1996 Tom Lord <lord@beehive>
* Makefile.in (CFLAGS ALL_CFLAGS): be more standard.
* strop.c (scm_i_rindex, scm_i_index): Don't use the BSD functions
index/rindex. Do handle embedded \000 characters.
Sun Jan 28 13:16:18 1996 Tom Lord <lord@beehive>
* error.c (def_err_response): (int)scm_err_pos => (long)scm_err_pos
Eliminate a (presumed) warning on some systems.
* gscm.c (gscm_run_scm): SCM_INIT_PATH => GUILE_INIT_PATH
(Mikael Djurfeldt <mdj@nada.kth.se>)
Sat Jan 27 12:36:55 1996 Tom Lord <lord@beehive>
* eval.c (scm_map): added argument type checking.
(kawai@sail.t.u-tokyo.ac.jp)
* gscm.c (gscm_set_procedure_properties_x): parameter "new" => "new_val"
for C++. (Seth Alves <alves@gryphon.com>)
(gscm_cstr): uses an uninitialized local variable causing
segv. (kawai@sail.t.u-tokyo.ac.jp)
* lvectors.c (scm_get_lvector_hook):
In guile-ii, the lvector code was broken. It was fixed in guile-iii.
It seems to me like if it is broken again in guile-iv...Here is a patch.
"! || (LENGTH (keyvec) == 0))"
(From: Mikael Djurfeldt <mdj@nada.kth.se>)
* gscm.c (gscm_sys_default_verbosity):
incorrectly declared for non-__STDC__
(Tom_Mckay@avanticorp.com)
* ports.c (scm_setfileno): Tweak the macro a bit
to make it easier to port to systems that use
more than a single structure field to hold a descriptor.
* debug.c (change_mode): Avoid GNUCism "int foo[n];"
Give a warning, not an error, for unrecognized modes.
* eval.c (SCM_CEVAL):
static char scm_s_for_each[];
static char scm_s_map[];
not needed.
* strings.c (scm_string_p):
static char s_string[];
(see next entry)
* struct.c (scm_sys_struct_set_x):
static char s_sys_make_struct[];
static char s_sys_struct_ref[];
static char s_sys_struct_set_x[];
Rearrange code to eliminate those forward decls for the sake of
broken compilers.
* variable.c (make_vcell_variable): static char s_make_variable[];
isn't needed.
* fports.c (scm_port_mode):
chars modes[3] = "";
to
chars modes[3];
modes[0] = '\0';
(Tom_Mckay@avanticorp.com)
* pairs.c (scm_set_cdr_x): non-__STDC__ declaration of
scm_cons2(), scm_acons(), and scm_set_cdr_x() missing semicolon
(Tom_Mckay@avanticorp.com)
* numbers.c (scm_num_eq_p): Non-__STDC__ declaration of
scm_num_eq_p() was scm_equal_p().
(Tom_Mckay@avanticorp.com)
* symbols.c (msymbolize): "CHARS(X) = " => "SETCHARS..."
(Tom_Mckay@avanticorp.com)
Fri Jan 26 14:03:01 1996 Tom Lord <lord@beehive>
* weaks.c (scm_make_weak_vector): "VELTS(X) =" => "SETVELTS..."
(Tom_Mckay@avanticorp.com)
* strop.c (scm_substring_fill_x):
Non-__STDC__ declaration of scm_substring_fill_x() missing semicolon
(Tom_Mckay@avanticorp.com)
* eval.c (SCM_APPLY): variables "debug_info" -> dbg_info.
Works around a compiler bug on some machines. (Tom_Mckay@avanticorp.com)
* _scm.h (CxR functions): #define CxR SCM_CxR => #define CxR(X) SCM_CxR(X)
Works around a compiler bug on some machines. (Tom_Mckay@avanticorp.com)
* lvectors.c (scm_lvector_set_x): avoid VELTS (VELTS (...)[..]) which
can turn into an obscure gc bug.
* chars.c (scm_char_p): fixed PROC call.
* gscm.h (gscm_vset): use scm_vector_set_x not (the missing)
scm_vector_set.
Tue Jan 23 13:29:40 1996 Tom Lord <lord@beehive>
* elisp.c (new file): dynamic scoping and other bits for
elisp. Don't use this yet unless you specificly want to
hack on elisp emulation.
* dynwind.c (scm_dowinds): When entering or leaving a dynamic
scope created by scm_with_dynamic_bindings_operation_x, swap
the bindings of that scope with the corresponding globals.
* continuations.c (scm_make_cont): when a continuation is captured,
relocate the continuation stack chunks registered on the wind chain
to the heap.
Sun Jan 21 19:31:17 1996 Tom Lord <lord@beehive>
* eval.c (SCM_CEVAL): if the function position evaluates
to a macro, process it accordingly. (Previously, macros were
handled only if the function position was a symbol naming a
variable bound to a macro).
Sat Jan 20 23:21:37 1996 Tom Lord <lord@beehive>
* eval.c (scm_m_set): allow multi-variable set! like
(set! x 1 y 2 z 3).
Wed Dec 6 02:40:49 1995 Tom Lord <lord@beehive>
1996-08-30 03:36:49 +00:00
* ports.h fports.c vports.c marksweep.c gc.c strports.c: moved the
STREAM of ports into the port table and replaced it with a
port-table index.
* repl.c (iprin1): added tc7_mb_string -- same as tc7_string.
* marksweep.c (scm_gc_mark): added tc7_mb_string -- same as tc7_string.
* mbstrings.c (new file): functions on multi-byte strings.
* tags.h (scm_typ7_string, scm_typ7_mb_string): added a tag
for multi-byte strings. Moved the string tag.
1996-08-30 03:36:49 +00:00
* chars.h chars.c repl.c (many functions): made scm_upcase and
scm_downcase functions that are safe for extended character sets.
Changed the range of integer->char.
1996-09-10 02:33:23 +00:00
Changed the type of SCM_ICHR.
Tue May 16 17:49:58 1995 Mikael Djurfeldt <mdj@sanscalc.nada.kth.se>
* guile.c: Changed init file name from "SCM_INIT_PATH" to
"GUILE_INIT_PATH"
Sun Aug 6 15:14:46 1995 Andrew McCallum <mccallum@vein.cs.rochester.edu>
* guile.c (gscm_is_gscm_type): New function. (Without this how will we
know that it's safe to pass an object to gscm_get_type?)
(gscm_get_type): Fix tyop in error message.
* variable.c (scm_variable_ref): fixed assertion test.
(Robert STRANDH <strandh@labri.u-bordeaux.fr>)
* gscm.h: fixed several prototypes, notably gscm_vref.
Add gscm_is_eq and temporarily commented out gscm_eq (see
the note in gscm.h near gscm_eq if this change effects your
code).
(Reported by Mark Galassi <rosalia@sstcx1.lanl.gov>)
* pairs.c (scm_obj_length): see next entry.
* gscm.h (gscm_obj_length): A way to get an integer
length for lists, strings, symbols (treated as strings),
and vectors. Returns -1 on error.
* eq.c (scm_equal_p): fixed smob case.
(William Gribble <grib@arlut.utexas.edu>)
* Makefile.in (X_CFLAGS): defined.
(William Gribble <grib@arlut.utexas.edu>)
* gscm.h (gscm_2_double): provided now
(reported by Mark Galassi <rosalia@sstcx1.lanl.gov>)
Tue Jun 13 01:04:09 1995 gnu
* Vrooom!