bpt/guile.git
27 years ago* load.c: change s_try_load and s_try_load_path to s_primitive_load
Gary Houston [Sun, 27 Oct 1996 02:38:39 +0000 (02:38 +0000)]
* load.c: change s_try_load and s_try_load_path to s_primitive_load
and s_primitive_load_path.

* eval.c, load.c, error.c (scm_wta): use scm_misc_error.

* error.h: don't declare error symbols.  prototype for scm_misc_error.

* stackchk.c (scm_stack_overflow_key): defined here instead of in
error.c.

* error.c: use SCM_SYMBOL to set up error keys.
scm_misc_error: new procedure.

27 years ago*** empty log message ***
Jim Blandy [Fri, 25 Oct 1996 08:40:27 +0000 (08:40 +0000)]
*** empty log message ***

27 years ago* boot-9.scm (%read-sharp): Don't recognize the `#!' syntax here;
Jim Blandy [Fri, 25 Oct 1996 08:35:36 +0000 (08:35 +0000)]
* boot-9.scm (%read-sharp): Don't recognize the `#!' syntax here;
that's now taken care of in libguile, and in a way compatible with
SCSH (which this isn't).

27 years ago* read.c (scm_lreadr): Recognize SCSH-style block comments; text
Jim Blandy [Fri, 25 Oct 1996 08:30:26 +0000 (08:30 +0000)]
* read.c (scm_lreadr): Recognize SCSH-style block comments; text
between `#!' and `!#' is ignored.
(skip_scsh_block_comment): New function.

27 years ago* feature.c (scm_set_program_arguments): New argument, FIRST.
Jim Blandy [Fri, 25 Oct 1996 08:30:06 +0000 (08:30 +0000)]
* feature.c (scm_set_program_arguments): New argument, FIRST.
* feature.h: Update prototype.
* init.c (scm_boot_guile_1): Pass new argument to
scm_set_program_arguments.

27 years ago*** empty log message ***
Jim Blandy [Wed, 23 Oct 1996 02:15:20 +0000 (02:15 +0000)]
*** empty log message ***

27 years ago* ports.c: Formatting tweak.
Jim Blandy [Wed, 23 Oct 1996 02:15:04 +0000 (02:15 +0000)]
* ports.c: Formatting tweak.

27 years ago* init.c: (scm_boot_guile, scm_boot_guile_1): New, simplified
Jim Blandy [Wed, 23 Oct 1996 02:14:52 +0000 (02:14 +0000)]
* 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.

27 years ago* init.c (scm_start_stack): Don't initialize scm_progargs here.
Jim Blandy [Wed, 23 Oct 1996 02:14:39 +0000 (02:14 +0000)]
* init.c (scm_start_stack): Don't initialize scm_progargs here.
(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.

27 years ago* * fports.c (scm_stdio_to_port): New function. Its guts used to be
Jim Blandy [Wed, 23 Oct 1996 02:14:18 +0000 (02:14 +0000)]
* * fports.c (scm_stdio_to_port): New function.  Its guts used to be
written out several times in scm_start_stack.
* fports.h: New declaration for the above.

27 years ago* * feature.c (scm_set_program_arguments): New function.
Jim Blandy [Wed, 23 Oct 1996 02:14:09 +0000 (02:14 +0000)]
* * feature.c (scm_set_program_arguments): New function.
* feature.h: New declaration for the above.

27 years ago*** empty log message ***
Jim Blandy [Mon, 21 Oct 1996 23:54:02 +0000 (23:54 +0000)]
*** empty log message ***

27 years ago* hashtab.h (scm_hashx_remove_x): Renamed `delete' parameter to
Jim Blandy [Mon, 21 Oct 1996 23:53:40 +0000 (23:53 +0000)]
* hashtab.h (scm_hashx_remove_x): Renamed `delete' parameter to
`del', for the sake of C++ compilers.  (Patch applied by JimB.)

27 years ago* boot-9.scm: Formatting tweaks.
Jim Blandy [Mon, 21 Oct 1996 23:53:01 +0000 (23:53 +0000)]
* boot-9.scm: Formatting tweaks.

27 years agoStarted moving gh.c to acknowledging conservative GC; gh_test core dumps,
Mark Galassi [Mon, 21 Oct 1996 17:28:13 +0000 (17:28 +0000)]
Started moving gh.c to acknowledging conservative GC; gh_test core dumps,
but at least it compiles for now.

27 years ago*** empty log message ***
Mikael Djurfeldt [Sun, 20 Oct 1996 03:31:40 +0000 (03:31 +0000)]
*** empty log message ***

27 years ago* alist.c, arbiters.c, continuations.c, debug.c, debug.h, eval.c,
Mikael Djurfeldt [Sun, 20 Oct 1996 03:31:08 +0000 (03:31 +0000)]
* 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.)

27 years ago* pairs.h, eval.c, eval.h, feature.c, gc.c, list.c, load.c,
Mikael Djurfeldt [Sun, 20 Oct 1996 03:30:16 +0000 (03:30 +0000)]
* pairs.h, eval.c, eval.h, feature.c, gc.c, list.c, load.c,
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.

* eval.h, eval.c: Added new selector SCM_GLOC_VAL_LOC.
Motivation: see SCM_CXRLOC.

* 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.)

27 years ago* pairs.h, eval.c, eval.h, feature.c, gc.c, list.c, load.c,
Mikael Djurfeldt [Sun, 20 Oct 1996 03:29:48 +0000 (03:29 +0000)]
* pairs.h, eval.c, eval.h, feature.c, gc.c, list.c, load.c,
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.

* eval.h, eval.c: Added new selector SCM_GLOC_VAL_LOC.
Motivation: see SCM_CXRLOC.

* 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.)

27 years ago* pairs.h, eval.c, eval.h, feature.c, gc.c, list.c, load.c,
Mikael Djurfeldt [Sun, 20 Oct 1996 03:29:38 +0000 (03:29 +0000)]
* pairs.h, eval.c, eval.h, feature.c, gc.c, list.c, load.c,
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.

* 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.)

27 years ago* pairs.h, eval.c, eval.h, feature.c, gc.c, list.c, load.c,
Mikael Djurfeldt [Sun, 20 Oct 1996 03:29:01 +0000 (03:29 +0000)]
* pairs.h, eval.c, eval.h, feature.c, gc.c, list.c, load.c,
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.)

27 years ago* pairs.h, eval.c, gc.c, init.c, ioext.c, ports.c, ports.h,
Mikael Djurfeldt [Sun, 20 Oct 1996 03:28:34 +0000 (03:28 +0000)]
* 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.)

27 years agoAdding more stuff to get the docs to work.
Mark Galassi [Fri, 18 Oct 1996 22:44:47 +0000 (22:44 +0000)]
Adding more stuff to get the docs to work.

27 years agoAdjustment of load-stack selection.
Mikael Djurfeldt [Fri, 18 Oct 1996 00:15:09 +0000 (00:15 +0000)]
Adjustment of load-stack selection.

27 years agoBugfix: arg-list --> args in error handler.
Mikael Djurfeldt [Thu, 17 Oct 1996 23:56:31 +0000 (23:56 +0000)]
Bugfix: arg-list --> args in error handler.

27 years ago*** empty log message ***
Mikael Djurfeldt [Thu, 17 Oct 1996 23:43:30 +0000 (23:43 +0000)]
*** empty log message ***

27 years ago* boot-9.scm (handle-system-error): Added hooks before-error-hook,
Mikael Djurfeldt [Thu, 17 Oct 1996 23:43:23 +0000 (23:43 +0000)]
* boot-9.scm (handle-system-error): Added hooks before-error-hook,
after-error-hook, before-backtrace-hook and after-backtrace-hook
to the error handler.  E.g.: fancy emacs support could plug into
these.
(save-stack): New function.  The stack is now made differently
depending on the stack id.  (The motivation is to make a better
choice regarding what stack frames to present to the user.)
(error-catching-loop): Stack handling code moved outside into
save-stack.

27 years agoOops!
Mikael Djurfeldt [Thu, 17 Oct 1996 23:43:00 +0000 (23:43 +0000)]
Oops!

27 years ago* backtrace.c (scm_display_error): Just a safety measure: Stacks
Mikael Djurfeldt [Thu, 17 Oct 1996 23:32:47 +0000 (23:32 +0000)]
* backtrace.c (scm_display_error): Just a safety measure: Stacks
aren't created with zero length, but should such a strange
creature suddenly turn up...

27 years ago* debug.c (scm_make_memoized): Made it available at scheme level.
Mikael Djurfeldt [Thu, 17 Oct 1996 23:32:40 +0000 (23:32 +0000)]
* debug.c (scm_make_memoized): Made it available at scheme level.
(scm_unmemoize, scm_memoized_environment): Bugfix: Check for
SCM_NIMP before applying heavier predicates in argument checking.
(scm_local_eval): Also take memoized object as argument.

27 years ago* ports.c (scm_port_line_x, scm_port_column_x): New mutators.
Mikael Djurfeldt [Thu, 17 Oct 1996 23:32:32 +0000 (23:32 +0000)]
* ports.c (scm_port_line_x, scm_port_column_x): New mutators.

27 years ago* stacks.c: Improve selection of relevant stack frames when making
Mikael Djurfeldt [Thu, 17 Oct 1996 23:32:25 +0000 (23:32 +0000)]
* stacks.c: Improve selection of relevant stack frames when making
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.

27 years ago* stacks.h: In struct scm_stack: Turn field frames into a pointer.
Mikael Djurfeldt [Thu, 17 Oct 1996 23:32:15 +0000 (23:32 +0000)]
* stacks.h: In struct scm_stack: Turn field frames into a pointer.
Turn n_tail into an integer directly representing current number
of frames in stack.  Add field tail.

27 years ago* Makefile.in (scm_files): add expect.scm.
Gary Houston [Thu, 17 Oct 1996 23:21:10 +0000 (23:21 +0000)]
* Makefile.in (scm_files): add expect.scm.

* expect.scm: new file ported from guile-iii.

27 years agoSecond thoughts, keep handle-system-error but call it from
Gary Houston [Thu, 17 Oct 1996 21:56:22 +0000 (21:56 +0000)]
Second thoughts, keep handle-system-error but call it from
error-catching-loop.

27 years ago* boot-9.scm: remove handle-system-error, after moving the code into
Gary Houston [Thu, 17 Oct 1996 21:45:04 +0000 (21:45 +0000)]
* boot-9.scm: remove handle-system-error, after moving the code into
error-catching-loop.
Don't set 'throw-handler-default property on error keys.
Just interpret (almost) any throw with 4 args as an error throw.
Delete some try-load stuff that was already commented out.

27 years agoFormatting niggles.
Jim Blandy [Wed, 16 Oct 1996 22:29:19 +0000 (22:29 +0000)]
Formatting niggles.

27 years agoadded gh and removed lgh; modified other stuff to reflect the new gh_
Mark Galassi [Wed, 16 Oct 1996 14:01:56 +0000 (14:01 +0000)]
added gh and removed lgh; modified other stuff to reflect the new gh_
prefix replacing the old lgh_ prefix.

27 years ago*** empty log message ***
Jim Blandy [Wed, 16 Oct 1996 02:22:21 +0000 (02:22 +0000)]
*** empty log message ***

27 years ago* variable.c (scm_make_variable): Make the name hint optional, as
Jim Blandy [Wed, 16 Oct 1996 02:20:47 +0000 (02:20 +0000)]
* variable.c (scm_make_variable): Make the name hint optional, as
documented.
(anonymous_variable_sym): Renamed from variable_sym.  All uses
changed.

27 years ago* boot-9.scm: Doc fixes.
Jim Blandy [Wed, 16 Oct 1996 02:18:33 +0000 (02:18 +0000)]
* boot-9.scm: Doc fixes.
(make-module): Rework for readability.
(make-root-module, make-scm-module): USES argument to make-module
should be '(), not #f.

27 years ago*** empty log message ***
Jim Blandy [Tue, 15 Oct 1996 22:31:06 +0000 (22:31 +0000)]
*** empty log message ***

27 years ago* load.c (scm_primitive_load, scm_primitive_load_path): Renamed
Jim Blandy [Tue, 15 Oct 1996 22:30:48 +0000 (22:30 +0000)]
* load.c (scm_primitive_load, scm_primitive_load_path): Renamed
from scm_sys_try_load and scm_sys_try_load_path.  The Scheme name
of scm_primitive_load_path was also changed to
"primitive-load-path", from "%try-load-path".  Callers changed.
We'd like to respect the convention that a function named
"try-mumble" should behave just like the function called "mumble",
but return #f instead of signalling some error.
* load.h: Rename prototypes.

27 years ago* boot-9.scm (try-load): %sys-load-path has been renamed to
Jim Blandy [Tue, 15 Oct 1996 22:29:46 +0000 (22:29 +0000)]
* boot-9.scm (try-load): %sys-load-path has been renamed to
primitive-load-path; adjust call here.

27 years ago*** empty log message ***
Jim Blandy [Tue, 15 Oct 1996 21:57:15 +0000 (21:57 +0000)]
*** empty log message ***

27 years ago* alist.c (scm_sloppy_assq, scm_sloppy_assv, scm_sloppy_assoc):
Jim Blandy [Tue, 15 Oct 1996 21:56:27 +0000 (21:56 +0000)]
* alist.c (scm_sloppy_assq, scm_sloppy_assv, scm_sloppy_assoc):
Don't crash when passed an improper list terminated by a
non-immediate value.

27 years ago*** empty log message ***
Mikael Djurfeldt [Tue, 15 Oct 1996 14:06:29 +0000 (14:06 +0000)]
*** empty log message ***

27 years ago*** empty log message ***
Mikael Djurfeldt [Tue, 15 Oct 1996 12:27:01 +0000 (12:27 +0000)]
*** empty log message ***

27 years ago* boot-9.scm ((signal-handler n)): Bugfix: Moved the recording of
Mikael Djurfeldt [Tue, 15 Oct 1996 12:26:49 +0000 (12:26 +0000)]
* boot-9.scm ((signal-handler n)): Bugfix: Moved the recording of
the stack to the correct place: when it is decided to generate an
error-signal.

27 years ago*** empty log message ***
Mikael Djurfeldt [Tue, 15 Oct 1996 03:40:31 +0000 (03:40 +0000)]
*** empty log message ***

27 years ago* print.c (make_print_state, grow_print_state), print.h: Modified
Mikael Djurfeldt [Tue, 15 Oct 1996 03:40:21 +0000 (03:40 +0000)]
* print.c (make_print_state, grow_print_state), print.h: Modified
the print state representation: Don't use a tail array for
recording of circular references.  Resizing of the print state
structure invalidates the print state pointer.  To avoid passing
around an indirect print state reference to all printing
functions, we instead let the print state reference a resizable
vector.

27 years ago*** empty log message ***
Jim Blandy [Tue, 15 Oct 1996 00:14:14 +0000 (00:14 +0000)]
*** empty log message ***

27 years agoAllocate data for structures on an eight-byte boundary, as
Jim Blandy [Tue, 15 Oct 1996 00:10:59 +0000 (00:10 +0000)]
Allocate data for structures on an eight-byte boundary, as
required by the tagging system.
* struct.c (alloc_struct): New function.
(scm_make_struct, scm_make_vtable_vtable): Call it.
* struct.h (scm_struct_n_extra_words): Bump to 3.
(scm_struct_i_ptr): New "field".
* gc.c (scm_gc_sweep): When we need to free the data, use the
information stored by alloc_struct to find the beginning of the
block allocated to the structure, so we can free it.

27 years ago*** empty log message ***
Mikael Djurfeldt [Mon, 14 Oct 1996 20:29:16 +0000 (20:29 +0000)]
*** empty log message ***

27 years ago* boot-9.scm (error-catching-loop, signal-handler,
Mikael Djurfeldt [Mon, 14 Oct 1996 20:28:39 +0000 (20:28 +0000)]
* boot-9.scm (error-catching-loop, signal-handler,
handle-system-error): Backtracing now works for signals aswell;
Backtracing mechanism can now identify the stack root created by
start-stack so that the user isn't exposed to system stack frames.

27 years ago* debug.c (scm_procedure_name): Try procedure property `name' for
Mikael Djurfeldt [Mon, 14 Oct 1996 20:28:18 +0000 (20:28 +0000)]
* debug.c (scm_procedure_name): Try procedure property `name' for
compiled closures aswell.

27 years ago* debug.h (SCM_VOIDFRAME, SCM_VOIDFRAMEP): New macros.
Mikael Djurfeldt [Mon, 14 Oct 1996 20:28:13 +0000 (20:28 +0000)]
* debug.h (SCM_VOIDFRAME, SCM_VOIDFRAMEP): New macros.
(scm_debug_info): New member: id.

27 years ago* eval.c: scm_i_name moved to gsubr.c
Mikael Djurfeldt [Mon, 14 Oct 1996 20:28:08 +0000 (20:28 +0000)]
* eval.c: scm_i_name moved to gsubr.c
(scm_m_define): Record names of all kinds of procedure
objects.  (Earlier, only closures were recorded.)

27 years ago* gc.c (scm_init_storage): Initialize scm_stand_in_procs to SCM_EOL.
Mikael Djurfeldt [Mon, 14 Oct 1996 20:27:51 +0000 (20:27 +0000)]
* gc.c (scm_init_storage): Initialize scm_stand_in_procs to SCM_EOL.

27 years ago* eval.c: scm_i_name moved to gsubr.c
Mikael Djurfeldt [Mon, 14 Oct 1996 20:27:45 +0000 (20:27 +0000)]
* eval.c: scm_i_name moved to gsubr.c
(scm_m_define): Record names of all kinds of procedure
objects.  (Earlier, only closures were recorded.)

* gsubr.c: Added global scm_i_name.  Added #include "procprop.h".
(scm_make_gsubr): Record names of compiled closures.

27 years ago* init.c (scm_boot_guile_1): Moved scm_init_struct in front of
Mikael Djurfeldt [Mon, 14 Oct 1996 20:27:39 +0000 (20:27 +0000)]
* init.c (scm_boot_guile_1): Moved scm_init_struct in front of
scm_init_stacks.

27 years ago* procprop.h: Added declaration of scm_i_name.
Mikael Djurfeldt [Mon, 14 Oct 1996 20:27:20 +0000 (20:27 +0000)]
* procprop.h: Added declaration of scm_i_name.

* gsubr.c: Added global scm_i_name.  Added #include "procprop.h".
(scm_make_gsubr): Record names of compiled closures.

27 years ago* stacks.c: Stacks are now represented as structs; Stacks have an
Mikael Djurfeldt [Mon, 14 Oct 1996 20:27:14 +0000 (20:27 +0000)]
* stacks.c: Stacks are now represented as structs; Stacks have an
id given to them by `start-stack'.
(scm_last_stack_frame): Added predicates `stack?' and `frame?'.

27 years ago* stacks.h: Added declarations of scm_stack_p and scm_frame_p;
Mikael Djurfeldt [Mon, 14 Oct 1996 20:27:07 +0000 (20:27 +0000)]
* stacks.h: Added declarations of scm_stack_p and scm_frame_p;
Changed stack representation.

27 years ago*** empty log message ***
Mikael Djurfeldt [Mon, 14 Oct 1996 04:08:01 +0000 (04:08 +0000)]
*** empty log message ***

27 years ago* Makefile.in: Added threads.scm.
Mikael Djurfeldt [Mon, 14 Oct 1996 04:07:53 +0000 (04:07 +0000)]
* Makefile.in: Added threads.scm.

27 years ago*** empty log message ***
Mikael Djurfeldt [Mon, 14 Oct 1996 03:44:37 +0000 (03:44 +0000)]
*** empty log message ***

27 years ago*** empty log message ***
Mikael Djurfeldt [Mon, 14 Oct 1996 03:28:57 +0000 (03:28 +0000)]
*** empty log message ***

27 years ago* debug.scm (make-enable, make-disable): Simplified.
Mikael Djurfeldt [Mon, 14 Oct 1996 03:28:35 +0000 (03:28 +0000)]
* debug.scm (make-enable, make-disable): Simplified.

27 years ago* boot-9.scm: Renamed %%throw-handler-default -->
Mikael Djurfeldt [Mon, 14 Oct 1996 03:28:26 +0000 (03:28 +0000)]
* boot-9.scm: Renamed %%throw-handler-default -->
throw-handler-default.
((handle-system-error key . arg-list)): Changed the way errors are
reported.
((scm-style-repl)): Wrap up the call to eval in a start-stack
acro.
((error-catching-loop thunk)): Introduce a lazy-catch into
error-catching-loop so that the stack can be captured.

27 years ago* symbols.c (scm_sym2ovcell): Fixed documentation.
Mikael Djurfeldt [Mon, 14 Oct 1996 03:27:11 +0000 (03:27 +0000)]
* symbols.c (scm_sym2ovcell): Fixed documentation.

27 years ago* init.c: Added #include "backtrace.h" and #include "stacks.h".
Mikael Djurfeldt [Mon, 14 Oct 1996 03:26:57 +0000 (03:26 +0000)]
* init.c: Added #include "backtrace.h" and #include "stacks.h".
(scm_boot_guile_1): Added calls to scm_init_backtrace and
scm_init_stacks.

* Makefile.in: Added entries for new files: backtrace.c,
backtrace.h, stacks.c and stacks.h.

27 years ago* continuations.c, continuations.h, debug.c, gc.c, init.c, root.c,
Mikael Djurfeldt [Mon, 14 Oct 1996 03:26:51 +0000 (03:26 +0000)]
* continuations.c, continuations.h, debug.c, gc.c, init.c, root.c,
stacks.c: Renamed regs --> scm_contregs.

* Makefile.in: Added entries for new files: backtrace.c,
backtrace.h, stacks.c and stacks.h.

27 years ago* srcprop.c, srcprop.h: Made scm_i_filename, scm_i_copy,
Mikael Djurfeldt [Mon, 14 Oct 1996 03:26:44 +0000 (03:26 +0000)]
* srcprop.c, srcprop.h: Made scm_i_filename, scm_i_copy,
scm_i_line, scm_i_column and scm_i_breakpoint global.

27 years ago* srcprop.c (scm_source_properties, scm_set_source_properties_x,
Mikael Djurfeldt [Mon, 14 Oct 1996 03:26:37 +0000 (03:26 +0000)]
* srcprop.c (scm_source_properties, scm_set_source_properties_x,
s_set_source_property_x): Check that first argument is a pair or a
memoized object.

* srcprop.c, srcprop.h: Made scm_i_filename, scm_i_copy,
scm_i_line, scm_i_column and scm_i_breakpoint global.

27 years ago* continuations.c, continuations.h, debug.c, gc.c, init.c, root.c,
Mikael Djurfeldt [Mon, 14 Oct 1996 03:26:29 +0000 (03:26 +0000)]
* continuations.c, continuations.h, debug.c, gc.c, init.c, root.c,
stacks.c: Renamed regs --> scm_contregs.

27 years ago* print.h: Added selector SCM_PRINT_STATE.
Mikael Djurfeldt [Mon, 14 Oct 1996 03:26:21 +0000 (03:26 +0000)]
* print.h: Added selector SCM_PRINT_STATE.

* print.h: Added declarations for scm_make_print_state,
scm_free_print_state.

27 years ago* print.c (scm_free_print_state): Cleanup print state before
Mikael Djurfeldt [Mon, 14 Oct 1996 03:26:13 +0000 (03:26 +0000)]
* print.c (scm_free_print_state): Cleanup print state before
returning it to pool.  It is better to do it here than in
scm_prin1 since scm_prin1 is called often.

* print.c (make_print_state): Bugfix: Initialize pstate->ceiling.

* print.c: New functions: scm_make_print_state,
scm_free_print_state.

27 years ago* continuations.c, continuations.h, debug.c, gc.c, init.c, root.c,
Mikael Djurfeldt [Mon, 14 Oct 1996 03:25:59 +0000 (03:25 +0000)]
* continuations.c, continuations.h, debug.c, gc.c, init.c, root.c,
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.

27 years ago* eval.c: Added new debug options `maxdepth' and `indent'.
Mikael Djurfeldt [Mon, 14 Oct 1996 03:25:40 +0000 (03:25 +0000)]
* eval.c: Added new debug options `maxdepth' and `indent'.

27 years ago* debug.c, debug.h: Removed obsolete code.
Mikael Djurfeldt [Mon, 14 Oct 1996 03:25:31 +0000 (03:25 +0000)]
* debug.c, debug.h: Removed obsolete code.

* debug.h: Added debug object smob declaration and macro
definitions.

* debug.h: New debug options SCM_BACKTRACE_MAXDEPTH and
SCM_BACKTRACE_INDENT.

* debug.h: Small cleanup.

27 years ago * debug.c, debug.h: Removed obsolete code.
Mikael Djurfeldt [Mon, 14 Oct 1996 03:25:21 +0000 (03:25 +0000)]
* debug.c, debug.h: Removed obsolete code.

* continuations.c, continuations.h, debug.c, gc.c, init.c, root.c,
stacks.c: Renamed regs --> scm_contregs.

* * debug.c (scm_m_start_stack): New acro.

27 years ago* configure.in: Build with backtrace.o and stacks.o if debug
Mikael Djurfeldt [Mon, 14 Oct 1996 03:24:57 +0000 (03:24 +0000)]
* configure.in: Build with backtrace.o and stacks.o if debug
support enabled.

27 years ago* Makefile.in: Added entries for new files: backtrace.c,
Mikael Djurfeldt [Mon, 14 Oct 1996 03:24:16 +0000 (03:24 +0000)]
* Makefile.in: Added entries for new files: backtrace.c,
backtrace.h, stacks.c and stacks.h.

27 years ago* async.c: Moved `min' macro to _scm.h.
Mikael Djurfeldt [Mon, 14 Oct 1996 03:24:09 +0000 (03:24 +0000)]
* async.c: Moved `min' macro to _scm.h.

27 years ago* _scm.h (min, max): Added.
Mikael Djurfeldt [Mon, 14 Oct 1996 03:24:01 +0000 (03:24 +0000)]
* _scm.h (min, max): Added.

* async.c: Moved `min' macro to _scm.h.

27 years ago* __scm.h, alist.c, alist.h, append.c, append.h, appinit.c,
Jim Blandy [Mon, 14 Oct 1996 01:33:50 +0000 (01:33 +0000)]
* __scm.h, alist.c, alist.h, append.c, append.h, appinit.c,
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.)

27 years ago* __scm.h, alist.c, alist.h, append.c, append.h, appinit.c,
Jim Blandy [Mon, 14 Oct 1996 01:28:01 +0000 (01:28 +0000)]
* __scm.h, alist.c, alist.h, append.c, append.h, appinit.c,
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.)

More prototype-related changes from Marius Vollmer:
* gdb_interface.h: Wrapped header file in #ifdef/#endif
* gscm.h (gscm_run_scm): Added prototype for `initfn' paramter.
* ports.h (ptobfuns): Added prototypes. This means some casting in
fports.c.
* fports.c: Added casts for initializations, since the functions
are defined to take FILE * as their stream argument, not SCM.
* fdsocket.c, fdsocket.h: Made `init_addr_buffer' static.
* genio.c (scm_gen_puts): Changed `unsigned char *str_data' parameter
to `char *str_data' to conform to prototype.

27 years ago*** empty log message ***
Jim Blandy [Mon, 14 Oct 1996 00:58:55 +0000 (00:58 +0000)]
*** empty log message ***

27 years ago* eval.c (scm_nconc2last): Don't accept an empty list; apply must
Jim Blandy [Mon, 14 Oct 1996 00:58:30 +0000 (00:58 +0000)]
* eval.c (scm_nconc2last): Don't accept an empty list; apply must
be given at least two arguments.  Insist that lst's last element
be a list, but don't make any requirements of its predecessors.

27 years ago* error.c, eval.c, load.c, stackchk.c: use scm_error not lgh_error.
Gary Houston [Sat, 12 Oct 1996 21:59:40 +0000 (21:59 +0000)]
* error.c, eval.c, load.c, stackchk.c: use scm_error not lgh_error.

* __scm.h (lgh_error): removed, lgh shouldn't be in libguile.

* stime.c, stime.h: use SCM_P method.

27 years ago*** empty log message ***
Jim Blandy [Fri, 11 Oct 1996 20:14:11 +0000 (20:14 +0000)]
*** empty log message ***

27 years ago*** empty log message ***
Jim Blandy [Fri, 11 Oct 1996 08:59:59 +0000 (08:59 +0000)]
*** empty log message ***

27 years ago* eval.c (scm_nconc2last): Revert last change; there seems to be
Jim Blandy [Fri, 11 Oct 1996 08:59:38 +0000 (08:59 +0000)]
* eval.c (scm_nconc2last): Revert last change; there seems to be
other stuff going on here.

27 years ago*** empty log message ***
Jim Blandy [Fri, 11 Oct 1996 07:58:43 +0000 (07:58 +0000)]
*** empty log message ***

27 years ago* vectors.c (scm_make_vector): Fill vectors with the undefined
Jim Blandy [Fri, 11 Oct 1996 07:58:13 +0000 (07:58 +0000)]
* vectors.c (scm_make_vector): Fill vectors with the undefined
value, to help make Guile Scheme code more portable to other
Schemes.

27 years ago* unif.c (scm_ra_set_contp): Localize `inc' declaration.
Jim Blandy [Fri, 11 Oct 1996 07:58:00 +0000 (07:58 +0000)]
* unif.c (scm_ra_set_contp): Localize `inc' declaration.
Clarifies flow.

27 years ago* symbols.c (scm_intern_obarray_soft, scm_sysintern): Doc fixes.
Jim Blandy [Fri, 11 Oct 1996 07:57:35 +0000 (07:57 +0000)]
* symbols.c (scm_intern_obarray_soft, scm_sysintern): Doc fixes.
* symbols.h, tags.h: Doc fixes.

27 years ago* struct.c (scm_make_struct, scm_make_vtable_vtable): Use the
Jim Blandy [Fri, 11 Oct 1996 07:56:34 +0000 (07:56 +0000)]
* struct.c (scm_make_struct, scm_make_vtable_vtable): Use the
symbolic name for the tag, scm_tc3_cons_gloc, instead of just
saying "1".

27 years ago* eval.c (scm_nconc2last): Make sure that each element of lst
Jim Blandy [Fri, 11 Oct 1996 07:56:11 +0000 (07:56 +0000)]
* eval.c (scm_nconc2last): Make sure that each element of lst
(which is a list of argument lists, except for the tail) is a
proper list, i.e., finite and terminated by '().