bpt/guile.git
23 years ago* eval.c (scm_ceval, scm_deval): use `SIDEVAL' instead of
Marius Vollmer [Tue, 13 Feb 2001 01:09:00 +0000 (01:09 +0000)]
* eval.c (scm_ceval, scm_deval): use `SIDEVAL' instead of
SCM_CEVAL when evaluating subforms of `begin' forms.  SCM_CEVAL
can not deal with immediates.

23 years ago* boot-9.scm (define-public): Removed spurious call to
Marius Vollmer [Tue, 13 Feb 2001 01:07:45 +0000 (01:07 +0000)]
* boot-9.scm (define-public): Removed spurious call to
`interaction-evironment'.
(define-public, defmacro-public): Use `export' instead of explicit
module magic.
(eval-when): New macro.
(define-module, use-modules, use-syntax, export): Use it to
restrict the use of these forms to the top level.
(define-public, defmacro-public): Only export binding when on
top-level.
(process-define-module): Call `set-current-module' with the
defined module.
(define-module): Simply call `process-define-module' without any
fuss (but only on top-level).
(named-module-use!): New function.
(top-repl): Do not use `define-module'.  Use equivalent low-level
means instead.

23 years ago* list.c (scm_list_copy): Validate the first argument.
Keisuke Nishida [Mon, 12 Feb 2001 21:45:22 +0000 (21:45 +0000)]
* list.c (scm_list_copy): Validate the first argument.

23 years ago*** empty log message ***
Marius Vollmer [Sun, 11 Feb 2001 18:17:56 +0000 (18:17 +0000)]
*** empty log message ***

23 years ago* boot-9.scm (scm-style-repl): Use `primitive-eval' instead of
Marius Vollmer [Sun, 11 Feb 2001 18:16:58 +0000 (18:16 +0000)]
* boot-9.scm (scm-style-repl): Use `primitive-eval' instead of
`eval'.
(define-public): Do not use `eval'.

23 years ago* modules.h. modules.c (scm_current_module_lookup_closure): New
Marius Vollmer [Sun, 11 Feb 2001 18:14:34 +0000 (18:14 +0000)]
* modules.h. modules.c (scm_current_module_lookup_closure): New
function.

23 years ago* eval.c (scm_ceval, scm_deval): Recognize when `begin' is being
Marius Vollmer [Sun, 11 Feb 2001 18:13:07 +0000 (18:13 +0000)]
* eval.c (scm_ceval, scm_deval): Recognize when `begin' is being
evaluated at top-level and synronize lookup closure before
executing every subform.
(scm_primitve_eval_x, scm_primitive_eval): New functions.
(scm_eval_x, scm_eval): Reimplement in terms of
scm_primitive_eval_x and scm_primitive_eval, respectively.

23 years ago* eval.h (scm_primitive_eval, scm_primitive_eval_x): New
Marius Vollmer [Sun, 11 Feb 2001 18:04:31 +0000 (18:04 +0000)]
* eval.h (scm_primitive_eval, scm_primitive_eval_x): New
prototypes.
(scm_i_eval, scm_i_eval_x, scm_eval, scm_eval_x): Changed argument
names to better reflect their meaning.

23 years ago* dump.c (scm_store_bytes, scm_restore_bytes): Store/restore size.
Keisuke Nishida [Sat, 10 Feb 2001 07:09:45 +0000 (07:09 +0000)]
* dump.c (scm_store_bytes, scm_restore_bytes): Store/restore size.

23 years ago* dump.c: Use double cells for update schedule.
Keisuke Nishida [Fri, 9 Feb 2001 22:37:10 +0000 (22:37 +0000)]
* dump.c: Use double cells for update schedule.

23 years agoDocstring of port-for-each updated to new behaviour.
Marius Vollmer [Fri, 9 Feb 2001 14:38:27 +0000 (14:38 +0000)]
Docstring of port-for-each updated to new behaviour.

23 years ago* macros.c (scm_macro_name, scm_macro_transformer): Use
Marius Vollmer [Fri, 9 Feb 2001 14:37:30 +0000 (14:37 +0000)]
* macros.c (scm_macro_name, scm_macro_transformer): Use
SCM_SMOB_DATA instead of SCM_CDR.  Provided by Martin Grabmueller.
Thanks!

23 years agoBlurb about new guarantee of port-for-each
Marius Vollmer [Fri, 9 Feb 2001 14:36:27 +0000 (14:36 +0000)]
Blurb about new guarantee of port-for-each

23 years agoBug fixed.
Keisuke Nishida [Fri, 9 Feb 2001 07:12:05 +0000 (07:12 +0000)]
Bug fixed.

23 years agos/open/existed/ in description of port-for-each change.
Marius Vollmer [Thu, 8 Feb 2001 18:53:48 +0000 (18:53 +0000)]
s/open/existed/ in description of port-for-each change.

23 years ago*** empty log message ***
Marius Vollmer [Thu, 8 Feb 2001 18:52:05 +0000 (18:52 +0000)]
*** empty log message ***

23 years ago* guile-test: Use (ice-9 and-let-star) instead of (ice-9
Marius Vollmer [Thu, 8 Feb 2001 18:50:50 +0000 (18:50 +0000)]
* guile-test: Use (ice-9 and-let-star) instead of (ice-9
and-let*).

23 years ago* modules.h (scm_selected_module, scm_current_module): Renamed
Marius Vollmer [Thu, 8 Feb 2001 18:49:52 +0000 (18:49 +0000)]
* modules.h (scm_selected_module, scm_current_module): Renamed
scm_selected_module to scm_current_module to synchronize Scheme
and C names.
(scm_select_module, scm_set_current_module): Likewise.  Changed
all uses.

23 years ago* ports.c (scm_port_for_each): Make a snapshot of the port table
Marius Vollmer [Thu, 8 Feb 2001 18:44:34 +0000 (18:44 +0000)]
* ports.c (scm_port_for_each): Make a snapshot of the port table
before iterating over it.  The table might change while the user
code is running.  With the snapshot, the user can depend on the
fact that each port that was open at teh start of the iteration is
encountered exactly once.  (ice-9 popen) depends on this.

23 years ago* and-let-star-compat.scm: Display the warning to the
Marius Vollmer [Thu, 8 Feb 2001 18:39:08 +0000 (18:39 +0000)]
* and-let-star-compat.scm: Display the warning to the
`current-error-port'.

23 years ago* Fixed parameter checking for make-string.
Dirk Herrmann [Thu, 8 Feb 2001 11:40:51 +0000 (11:40 +0000)]
* Fixed parameter checking for make-string.
* Corrected a bug introduced with the last patch.

23 years ago* Fixed parameter checking for make-vector.
Dirk Herrmann [Thu, 8 Feb 2001 10:48:01 +0000 (10:48 +0000)]
* Fixed parameter checking for make-vector.

23 years agoRemoved redundant code.
Keisuke Nishida [Tue, 6 Feb 2001 02:12:10 +0000 (02:12 +0000)]
Removed redundant code.

23 years agoMinor modifications.
Keisuke Nishida [Mon, 5 Feb 2001 19:14:20 +0000 (19:14 +0000)]
Minor modifications.

23 years ago*** empty log message ***
Keisuke Nishida [Mon, 5 Feb 2001 19:00:56 +0000 (19:00 +0000)]
*** empty log message ***

23 years agoNew dump/undump scheme.
Keisuke Nishida [Mon, 5 Feb 2001 08:46:21 +0000 (08:46 +0000)]
New dump/undump scheme.

23 years ago* and-let-star.scm, and-let*.scm: Renamed `and-let*.scm' to
Marius Vollmer [Sun, 4 Feb 2001 18:22:18 +0000 (18:22 +0000)]
* and-let-star.scm, and-let*.scm: Renamed `and-let*.scm' to
`and-let-star.scm'.  Updated module name as well.
* and-let-star-compat.scm: New file, installed as `and-let*.scm'.
* Makefile.am (ice9_sources): Replaced "and-let*.scm" with
"and-let-star.scm".
(install-data-local): Install "and-let-star-compat.scm" as
"and-let*.scm", ignoring errors.
(EXTRA_DIST): Distribute `and-let-star-compat.scm'.

23 years ago*** empty log message ***
Marius Vollmer [Sun, 4 Feb 2001 18:21:38 +0000 (18:21 +0000)]
*** empty log message ***

23 years ago*** empty log message ***
Marius Vollmer [Sun, 4 Feb 2001 17:30:00 +0000 (17:30 +0000)]
*** empty log message ***

23 years ago* data-rep.texi: Use SCM_SMOB_DATA instead of SCM_CDR. Also
Marius Vollmer [Sun, 4 Feb 2001 17:29:06 +0000 (17:29 +0000)]
* data-rep.texi: Use SCM_SMOB_DATA instead of SCM_CDR.  Also
things like SCM_SMOB_PREDICATE and SCM_NEWSMOB.  Thanks to Dale
P. Smith!

23 years agoSCM_DOUBLE_CELLP deprecated and made unused
Michael Livshin [Sat, 3 Feb 2001 12:26:38 +0000 (12:26 +0000)]
SCM_DOUBLE_CELLP deprecated and made unused

23 years ago*** empty log message ***
Keisuke Nishida [Sat, 3 Feb 2001 05:01:07 +0000 (05:01 +0000)]
*** empty log message ***

23 years agoNew files: dump.c, dump.h.
Keisuke Nishida [Sat, 3 Feb 2001 04:59:16 +0000 (04:59 +0000)]
New files: dump.c, dump.h.

23 years agoNew functions: scm_c_make_vector, scm_c_make_hash_table.
Keisuke Nishida [Fri, 2 Feb 2001 04:56:25 +0000 (04:56 +0000)]
New functions: scm_c_make_vector, scm_c_make_hash_table.

23 years ago* unif.c (rapr1): Don't apply scm_uniform_vector_length on arrays.
Mikael Djurfeldt [Wed, 31 Jan 2001 15:18:47 +0000 (15:18 +0000)]
* unif.c (rapr1): Don't apply scm_uniform_vector_length on arrays.

23 years agoAdded #include "libguile/rdelim.h".
Mikael Djurfeldt [Wed, 31 Jan 2001 15:14:53 +0000 (15:14 +0000)]
Added #include "libguile/rdelim.h".

23 years ago* Added docstrings by Martin Grabmueller.
Dirk Herrmann [Tue, 30 Jan 2001 14:53:20 +0000 (14:53 +0000)]
* Added docstrings by Martin Grabmueller.

23 years ago* eval.c (SCM_APPLY): Check that primitives which take 1 arg
Mikael Djurfeldt [Mon, 29 Jan 2001 18:23:34 +0000 (18:23 +0000)]
* eval.c (SCM_APPLY): Check that primitives which take 1 arg
really get that arg.

23 years ago*** empty log message ***
Marius Vollmer [Sun, 28 Jan 2001 17:56:46 +0000 (17:56 +0000)]
*** empty log message ***

23 years ago* readline.scm (make-readline-port): PROMPT becomes PROMPT2 as
Marius Vollmer [Sun, 28 Jan 2001 17:56:34 +0000 (17:56 +0000)]
* readline.scm (make-readline-port): PROMPT becomes PROMPT2 as
soon as GET-CHARACTER returns any character at all that was
previously read.  This makes the continuation prompt appear
properly for partial expressions.  Thanks to Neil Jerram!

23 years agogoops.c (s_scm_get_keyword): Bug fix.
Keisuke Nishida [Sat, 27 Jan 2001 00:13:55 +0000 (00:13 +0000)]
goops.c (s_scm_get_keyword): Bug fix.

23 years ago* Fix parameter error reporting and avoid redundant parameter checks.
Dirk Herrmann [Fri, 26 Jan 2001 18:04:32 +0000 (18:04 +0000)]
* Fix parameter error reporting and avoid redundant parameter checks.

23 years ago* Added missing includes of string.h.
Dirk Herrmann [Fri, 26 Jan 2001 17:30:54 +0000 (17:30 +0000)]
* Added missing includes of string.h.

23 years ago* Make readline run-time options accessible.
Dirk Herrmann [Fri, 26 Jan 2001 16:58:48 +0000 (16:58 +0000)]
* Make readline run-time options accessible.

23 years ago* Fixed things that I had broken with the last patch :-(
Dirk Herrmann [Fri, 26 Jan 2001 16:49:28 +0000 (16:49 +0000)]
* Fixed things that I had broken with the last patch :-(

23 years ago* Forgot to add the file check-guile.in with the latest commit.
Dirk Herrmann [Fri, 26 Jan 2001 13:47:53 +0000 (13:47 +0000)]
* Forgot to add the file check-guile.in with the latest commit.

23 years ago* Added Thien-Thi Nguyen's patch to support "make check".
Dirk Herrmann [Fri, 26 Jan 2001 13:44:57 +0000 (13:44 +0000)]
* Added Thien-Thi Nguyen's patch to support "make check".

23 years ago* On errors, show line and column information even for unnamed ports.
Dirk Herrmann [Thu, 25 Jan 2001 23:34:31 +0000 (23:34 +0000)]
* On errors, show line and column information even for unnamed ports.

23 years ago* Make sure that only open file ports are used as readline ports.
Dirk Herrmann [Thu, 25 Jan 2001 17:57:29 +0000 (17:57 +0000)]
* Make sure that only open file ports are used as readline ports.

23 years ago* Added a file-port? primitive.
Dirk Herrmann [Thu, 25 Jan 2001 17:40:50 +0000 (17:40 +0000)]
* Added a file-port? primitive.

23 years ago* Made the port implementations less tightly coupled within guile.
Dirk Herrmann [Thu, 25 Jan 2001 17:18:41 +0000 (17:18 +0000)]
* Made the port implementations less tightly coupled within guile.

23 years ago* Fix handling of (set-source-property! <obj> 'copy <datum>).
Dirk Herrmann [Thu, 25 Jan 2001 11:09:21 +0000 (11:09 +0000)]
* Fix handling of (set-source-property! <obj> 'copy <datum>).

23 years ago*** empty log message ***
Gary Houston [Wed, 24 Jan 2001 21:47:23 +0000 (21:47 +0000)]
*** empty log message ***

23 years ago * tests/ports.test: include (ice-9 rdelim) module.
Gary Houston [Wed, 24 Jan 2001 21:46:04 +0000 (21:46 +0000)]
* tests/ports.test: include (ice-9 rdelim) module.

23 years ago * boot-9.scm: don't import (ice-9 rdelim) here. it's done
Gary Houston [Wed, 24 Jan 2001 21:45:09 +0000 (21:45 +0000)]
* boot-9.scm: don't import (ice-9 rdelim) here.  it's done
in C for now.
* rdelim.scm: export the C primitives too.
* documentation.scm: use (ice-9 rdelim).

* filesys.c (scm_link): docstring fix.
* fports.h (scm_setfileno): obsolete declaration removed.
* posix.c: bogus popen declaration removed.

* rdelim.c: new file, split from ioext.c with new proc
scm_init_rdelim.
* rdelim.h: new file.
* Makefile.am: add rdelim.c and related files.
* init.c: call scm_init_rdelim.  include rdelim.h.

23 years ago*** empty log message ***
Gary Houston [Wed, 24 Jan 2001 21:31:39 +0000 (21:31 +0000)]
*** empty log message ***

23 years ago* Make sure that parameter errors are reported correctly.
Dirk Herrmann [Wed, 24 Jan 2001 18:07:29 +0000 (18:07 +0000)]
* Make sure that parameter errors are reported correctly.
  Thanks to Martin Grabmueller for sending this patch.

23 years ago* Ooops: Forgot to credit Neil for the bug report.
Dirk Herrmann [Wed, 24 Jan 2001 16:06:20 +0000 (16:06 +0000)]
* Ooops:  Forgot to credit Neil for the bug report.

23 years ago* Make sure that scm_display_error validates its port argument.
Dirk Herrmann [Wed, 24 Jan 2001 15:58:46 +0000 (15:58 +0000)]
* Make sure that scm_display_error validates its port argument.

23 years ago* eval.c (SCM_APPLY): Added # args check for application of
Mikael Djurfeldt [Wed, 24 Jan 2001 01:26:44 +0000 (01:26 +0000)]
* eval.c (SCM_APPLY): Added # args check for application of
procedures with arity 3.  (Thanks to Anders Holst.)

23 years ago* Separate the handling of OPEN flags between ports and directories.
Dirk Herrmann [Wed, 24 Jan 2001 00:02:43 +0000 (00:02 +0000)]
* Separate the handling of OPEN flags between ports and directories.

23 years ago* Move all real functionality from scm_eval into inner_eval.
Dirk Herrmann [Mon, 22 Jan 2001 13:32:08 +0000 (13:32 +0000)]
* Move all real functionality from scm_eval into inner_eval.
* Avoid to copy the evaluated expression twice.

23 years ago * rdelim.scm: new file implementing module (ice-9 rdelim).
Gary Houston [Sun, 21 Jan 2001 22:11:29 +0000 (22:11 +0000)]
* rdelim.scm: new file implementing module (ice-9 rdelim).
* ice-9.scm (scm-line-incrementors read-line! read-delimited!
read-delimited read-line): moved to rdelim.scm.
scm-line-incrementors is not exported.
* boot-9.scm: import (ice-9 rdelim) for backwards compatibility,
for now.
* lineio.scm: use module (ice-9 rdelim).
* Makefile.am (ice9_sources): add rdelim.scm.

23 years ago* Applied Martin Grabmueller's fix of case's handling of 'else.
Dirk Herrmann [Fri, 19 Jan 2001 17:16:52 +0000 (17:16 +0000)]
* Applied Martin Grabmueller's fix of case's handling of 'else.

23 years ago* Make the readline port input-only.
Neil Jerram [Fri, 19 Jan 2001 09:00:05 +0000 (09:00 +0000)]
* Make the readline port input-only.

23 years ago * ioext.c: further simplify scm_read_string_x_partial by defining
Gary Houston [Thu, 18 Jan 2001 22:54:54 +0000 (22:54 +0000)]
* ioext.c: further simplify scm_read_string_x_partial by defining
a macro SCM_EBLOCK.

23 years ago* Converted to real boundary testing.
Dirk Herrmann [Thu, 18 Jan 2001 17:24:10 +0000 (17:24 +0000)]
* Converted to real boundary testing.

23 years ago* Simplified gh_ints2scm by using SCM_FIXABLE.
Dirk Herrmann [Thu, 18 Jan 2001 15:12:51 +0000 (15:12 +0000)]
* Simplified gh_ints2scm by using SCM_FIXABLE.

23 years ago* Cleaned up some limits-definitions.
Dirk Herrmann [Thu, 18 Jan 2001 13:35:45 +0000 (13:35 +0000)]
* Cleaned up some limits-definitions.

23 years ago* Added tests for bit-operations.
Dirk Herrmann [Wed, 17 Jan 2001 18:22:26 +0000 (18:22 +0000)]
* Added tests for bit-operations.

23 years ago* Fixed a couple of bugs with quotient, remainder, bit-extract and logand.
Dirk Herrmann [Wed, 17 Jan 2001 18:15:30 +0000 (18:15 +0000)]
* Fixed a couple of bugs with quotient, remainder, bit-extract and logand.

23 years ago* Comment fixed.
Dirk Herrmann [Tue, 16 Jan 2001 11:19:36 +0000 (11:19 +0000)]
* Comment fixed.

23 years ago* Return type of scm_make_smob_type is scm_bits_t now.
Dirk Herrmann [Mon, 15 Jan 2001 17:15:13 +0000 (17:15 +0000)]
* Return type of scm_make_smob_type is scm_bits_t now.

23 years ago* objects.h (SCM_SET_ENTITY_SETTER): new macro. SCM_ENTITY_SETTER
Michael Livshin [Thu, 11 Jan 2001 21:03:18 +0000 (21:03 +0000)]
* objects.h (SCM_SET_ENTITY_SETTER): new macro.  SCM_ENTITY_SETTER
casts its result, so doesn't yield an lvalue per ANSI C.

* goops.c (s_scm_sys_set_object_setter_x): use
SCM_SET_ENTITY_SETTER.
(clear_method_cache): use SCM_SET_ENTITY_PROCEDURE.

* gc.h (SCM_GC_SET_CARD_BVEC): new macro.  SCM_GC_CARD_BVEC casts
its result, so doesn't yield an lvalue per ANSI C.
(SCM_GC_SET_CARD_FLAGS): ditto for SCM_GC_GET_CARD_FLAGS.
(SCM_GC_CLR_CARD_FLAGS): redefined in terms of
SCM_GC_SET_CARD_FLAGS.
(SCM_GC_SET_CARD_FLAG, SCM_GC_CLR_CARD_FLAGS): ditto.

* gc.c (INIT_CARD): use the explicit setter macro to set the bvec.

23 years ago * validate.h (SCM_VALIDATE_SUBSTRING_SPEC_COPY): new macro.
Gary Houston [Mon, 8 Jan 2001 23:10:06 +0000 (23:10 +0000)]
* validate.h (SCM_VALIDATE_SUBSTRING_SPEC_COPY): new macro.
* ioext.c (scm_read_string_x_partial, scm_read_delimited_x),
socket.c (scm_recvfrom): use the new macro, plus minor docstring
changes.
* ioext.c (scm_read_string_x_partial): don't crash if -1 is supplied
for fdes.  if current input port is used, check that it's a file
port.

23 years ago*** empty log message ***
Gary Houston [Sat, 6 Jan 2001 22:04:04 +0000 (22:04 +0000)]
*** empty log message ***

23 years ago * ioext.c (scm_read_string_x_partial): new procedure, implements
Gary Houston [Sat, 6 Jan 2001 22:03:07 +0000 (22:03 +0000)]
* ioext.c (scm_read_string_x_partial): new procedure, implements
read-string!/partial.
* ports.c (scm_take_from_input_buffers): new procedure used by
scm_read_string_x_partial.
(scm_drain_input): use scm_take_from_input_buffers.

23 years ago*** empty log message ***
Marius Vollmer [Sat, 6 Jan 2001 18:47:12 +0000 (18:47 +0000)]
*** empty log message ***

23 years ago* validate.h (SCM_VALIDATE_NUMBER): New.
Marius Vollmer [Sat, 6 Jan 2001 18:46:48 +0000 (18:46 +0000)]
* validate.h (SCM_VALIDATE_NUMBER): New.

23 years ago* Fix typos in entry about guardian semantic changes.
Neil Jerram [Fri, 5 Jan 2001 09:29:12 +0000 (09:29 +0000)]
* Fix typos in entry about guardian semantic changes.

23 years ago * guardians.c (F_GREEDY, F_LISTED, F_DESTROYED, GREEDY_P,
Michael Livshin [Thu, 4 Jan 2001 13:00:31 +0000 (13:00 +0000)]
* guardians.c (F_GREEDY, F_LISTED, F_DESTROYED, GREEDY_P,
  SET_GREEDY, LISTED_P, SET_LISTED, CLR_LISTED, DESTROYED_P,
  SET_DESTROYED): new defines/macros.
(GUARDIAN_LIVE, GUARDIAN_ZOMBIES, GUARDIAN_NEXT): deleted.
(add_to_live_list): takes a `guardian_t *' now, not SCM.
(guardian_print): print more info.
(guardian_apply): check if the guardian is destroyed, and throw an
  error if so.  take one more optional argument `throw_p'.
(scm_guard): depending on the value of `throw_p', return a boolean
  result.
(scm_get_one_zombie): remove redundant property test.
(guardian_t): represent the various (currently 3, I hope nothing
  more gets added) boolean fields as bit flags.
(scm_guardian_destroyed_p, scm_guardian_greedy_p): new predicates.
(scm_destroy_guardian_x): new procedure.

* guardians.h: added prototypes for `scm_guardian_greedy_p' and
`scm_guardian_destroyed_p'.  changed prototype for `scm_guard'.

23 years ago * fports.c (fport_write): bugfix: handle short writes for
Gary Houston [Tue, 2 Jan 2001 00:38:41 +0000 (00:38 +0000)]
* fports.c (fport_write): bugfix: handle short writes for
unbuffered ports too.  optimize the buffered case by minimizing
the number of write/flush calls.
(write_all): new helper procedure.

23 years ago* guardians.c (guardian_print): for sharing guardians, print that
Michael Livshin [Sat, 30 Dec 2000 19:26:37 +0000 (19:26 +0000)]
* guardians.c (guardian_print): for sharing guardians, print that
they are sharing.
(scm_guard, scm_get_one_zombie): place the critical section
barriers more correctly.

23 years ago * weaks.c (scm_scan_weak_vectors): move the calculation of the
Michael Livshin [Fri, 29 Dec 2000 22:18:06 +0000 (22:18 +0000)]
* weaks.c (scm_scan_weak_vectors): move the calculation of the
`weak_keys' and `weak_values' flags out of the inner loop.

* guardians.c: (greedily_guarded_prop): deleted.
(greedily_guarded_whash): new variable.  a doubly-weak hash table
used to keep the "greedily hashed" object property.  the previous
implementation (via primitive object properties) was incorrect due
to its only-the-key-is-weak semantics.
(scm_guard, get_one_zombie, scm_init_guardians): use/init
`greedily_guarded_whash'.

23 years ago* Remove calls to symbol-interned? which have always been useless, but now
Dirk Herrmann [Fri, 29 Dec 2000 15:47:16 +0000 (15:47 +0000)]
* Remove calls to symbol-interned? which have always been useless, but now
  have become wrong since symbols and bindings are separated.

23 years ago* Fixed the changelog entry regarding re-introduction of struct member
Dirk Herrmann [Thu, 28 Dec 2000 16:49:09 +0000 (16:49 +0000)]
* Fixed the changelog entry regarding re-introduction of struct member
  properties (I continuously talked of member 'documentation' instead)
* Replace calls to scm_remember with calls to scm_remember_upto_here_1.

23 years ago* Get rid of the annoying variable-gets-clobbered-by-longjmp warning.
Dirk Herrmann [Thu, 28 Dec 2000 16:06:56 +0000 (16:06 +0000)]
* Get rid of the annoying variable-gets-clobbered-by-longjmp warning.

23 years ago* Re-introduces the unused member "documentation" of struct scm_subr_entry.
Dirk Herrmann [Thu, 28 Dec 2000 15:09:56 +0000 (15:09 +0000)]
* Re-introduces the unused member "documentation" of struct scm_subr_entry.

23 years ago* guardians.c (mark_dependencies_in_tconc): new function.
Michael Livshin [Thu, 28 Dec 2000 14:26:12 +0000 (14:26 +0000)]
* guardians.c (mark_dependencies_in_tconc): new function.
(mark_dependencies): bug fix.  mark the dependencies of the known
zombies, too.  duh.

23 years ago* gc.c: (scm_gc_mark_dependencies): use SCM_EQ_P for SCMs, not
Michael Livshin [Sun, 24 Dec 2000 09:54:24 +0000 (09:54 +0000)]
* gc.c: (scm_gc_mark_dependencies): use SCM_EQ_P for SCMs, not
'=='.  also, return after calling `scm_gc_mark'.

23 years ago*** empty log message ***
Michael Livshin [Sun, 24 Dec 2000 00:41:14 +0000 (00:41 +0000)]
*** empty log message ***

23 years ago* gc.c: (scm_gc_mark_dependencies): new function. like
Michael Livshin [Sat, 23 Dec 2000 23:00:23 +0000 (23:00 +0000)]
* gc.c: (scm_gc_mark_dependencies): new function.  like
`scm_gc_mark', but doesn't mark the argument itself.  defined
using an arrangement similar to that in eval.c: `scm_gc_mark' and
`scm_gc_mark_dependencies' are derived from the same "template"
by ugly preprocessor magic.

* gc.h: added prototype for `scm_gc_mark_dependencies'.

* init.c (scm_init_guile_1): call the renamed
`scm_init_guardians'.

* guardians.h: changed prototypes for `scm_make_guardian' and
`scm_init_guardians'.

* guardians.c (guardian_t): added new fields `greedy_p' and
`listed_p'.
(GUARDIAN_P): predicate that says whether its argument is a
guardian.
(GUARDIAN_GREEDY_P, GUARDIAN_LISTED_P): new predicates.
(greedy_guardians, sharing_guardians): new variables.  hold the
greedy and sharing live guardian lists, respectively.
(first_live_guardian, current_link_field): removed.
(greedily_guarded_prop): new variable.  holds the "is greedily
guarded" object property.
(self_centered_zombies): new variable.  stores guarded objects
that are parts of cycles.
(add_to_live_list): new function, introduced to decouple marking a
guardian and adding it to the live list.
(guardian_mark): call `add_to_live_list'.
(guardian_print): print whether the guardian is greedy or not.
also change "live" and "zombie" to "reachable" and "unreachable"
respectively, to be less confusing.
(scm_guard): if the guardian is greedy, test whether the object is
already greedily marked.  throw an error if so.
(scm_get_one_zombie): if the guardian is greedy, remove the
"greedily guarded" property from the object.
(scm_make_guardian): add a new optional boolean argument which
says whether the guardian is greedy or sharing.
(guardian_gc_init): init the new live lists.
(mark_dependencies): new function.
(mark_and_zombify): new function.
(guardian_zombify): reworked to support the new guardian
semantics.  move some logic to `mark_dependencies' and
`mark_and_zombify'.
(whine_about_self_centered_zombies): new function.  installed in
the `after-gc-hook' to complain about guarded objects which are
parts of cycles.
(scm_init_guardians): init the new stuff.  renamed from
`scm_init_guardian'.

23 years agoDoc fixes from Martin Grabmüller.
Marius Vollmer [Sat, 23 Dec 2000 17:27:04 +0000 (17:27 +0000)]
Doc fixes from Martin Grabmüller.

23 years ago* Removed unused member "properties" from struct scm_subr_entry.
Dirk Herrmann [Sat, 23 Dec 2000 11:38:06 +0000 (11:38 +0000)]
* Removed unused member "properties" from struct scm_subr_entry.

23 years ago* Removed unused member "documentation" from struct scm_subr_entry.
Dirk Herrmann [Fri, 22 Dec 2000 16:46:17 +0000 (16:46 +0000)]
* Removed unused member "documentation" from struct scm_subr_entry.
* Eliminate use of scm_intern0/scm_sysintern0 in procs.c.

23 years ago* Make sure, re-entering the dynamic scope of an eval statement will
Dirk Herrmann [Thu, 21 Dec 2000 17:51:55 +0000 (17:51 +0000)]
* Make sure, re-entering the dynamic scope of an eval statement will
  restore the latest selected module.

23 years ago* Simplify the use of SCM_PUREGENERICP.
Dirk Herrmann [Thu, 21 Dec 2000 17:07:38 +0000 (17:07 +0000)]
* Simplify the use of SCM_PUREGENERICP.

23 years ago * continuations.c (continuation_apply): subtract the length of
Gary Houston [Wed, 20 Dec 2000 22:27:09 +0000 (22:27 +0000)]
* continuations.c (continuation_apply): subtract the length of
continuation->dynenv, not the dynenv itself.  I broke it last
time I changed this file.  thanks to Bernard Urban.

23 years ago* Remove some redundant SCM_N?IMP tests.
Dirk Herrmann [Mon, 18 Dec 2000 17:36:44 +0000 (17:36 +0000)]
* Remove some redundant SCM_N?IMP tests.

23 years ago*** empty log message ***
Mikael Djurfeldt [Sun, 17 Dec 2000 04:00:52 +0000 (04:00 +0000)]
*** empty log message ***