bpt/guile.git
15 years agoMerge commit '7337d56d5714227865aeca2b40b6bd97cce296d2' into boehm-demers-weiser-gc
Ludovic Courtès [Wed, 10 Sep 2008 20:44:31 +0000 (22:44 +0200)]
Merge commit '7337d56d5714227865aeca2b40b6bd97cce296d2' into boehm-demers-weiser-gc

Conflicts:
libguile/struct.c

15 years agoscm_gc_malloc: Handle zero-octet allocations.
Ludovic Courtes [Sun, 18 Feb 2007 13:55:40 +0000 (13:55 +0000)]
scm_gc_malloc: Handle zero-octet allocations.

* libguile/gc-malloc.c (scm_gc_malloc): Pass a non-zero size to
  `GC_MALLOC ()' when SIZE is zero.

git-archimport-id: lcourtes@laas.fr--2006-libre/guile-core--boehm-gc--0--patch-2

15 years agoMerge commit '032913739218c756f673bfb9c8f66ef9f8f02330' into boehm-demers-weiser-gc
Ludovic Courtès [Wed, 10 Sep 2008 20:33:40 +0000 (22:33 +0200)]
Merge commit '032913739218c756f673bfb9c8f66ef9f8f02330' into boehm-demers-weiser-gc

Conflicts:
libguile/gc.c
libguile/srcprop.c
libguile/srcprop.h

15 years agoReverted inappropriate merge in `gc.c'.
Ludovic Court`es [Tue, 12 Dec 2006 16:23:36 +0000 (16:23 +0000)]
Reverted inappropriate merge in `gc.c'.

git-archimport-id: lcourtes@laas.fr--2005-libre/guile-core--boehm-gc--1.9--patch-53

15 years agoMerge commit 'f30e1bdf97ae8b2b2918da585f887a4d3a23a347' into boehm-demers-weiser-gc
Ludovic Courtès [Wed, 10 Sep 2008 20:27:30 +0000 (22:27 +0200)]
Merge commit 'f30e1bdf97ae8b2b2918da585f887a4d3a23a347' into boehm-demers-weiser-gc

Conflicts:
libguile/Makefile.am
libguile/coop-pthreads.c
libguile/gc-freelist.c
libguile/gc-segment.c
libguile/gc.c
libguile/private-gc.h
test-suite/tests/environments.nottest

15 years agoUse thread-local allocation (significant perf. improvement!); added the `boehm-gc...
Ludovic Courtes [Sun, 3 Dec 2006 21:59:02 +0000 (21:59 +0000)]
Use thread-local allocation (significant perf. improvement!); added the `boehm-gc.h' header.

* libguile/Makefile.am (modinclude_HEADERS): Added `boehm-gc.h'.

* libguile/coop-defs.h: Use "libguile/boehm-gc.h" instead of <gc/gc.h>.

* libguile/coop-threads.h: Likewise.

* libguile/coop.c: Likewise.

* libguile/gc.c: Likewise.
  (scm_storage_prehistory): Invoke `GC_init ()'.

* libguile/guardians.c: Use "libguile/boehm-gc.h" instead of <gc/gc.h>.

* libguile/inline.h: Likewise.
  (scm_double_cell): Use `GC_MALLOC' instead of `GC_malloc'.

* libguile/pthread-threads.h: Use "libguile/boehm-gc.h" instead of
  <gc/gc.h>.

* libguile/smob.c: Likewise.

* libguile/smob.h: Likewise.

* libguile/struct.c: Likewise.

* libguile/threads.c: Likewise.

* libguile/weaks.c: Likewise.

git-archimport-id: lcourtes@laas.fr--2005-libre/guile-core--boehm-gc--1.9--patch-51

15 years agoRemoved `scm_gc_registered_roots' and `scm_permobjs'.
Ludovic Courtes [Mon, 27 Nov 2006 00:16:27 +0000 (00:16 +0000)]
Removed `scm_gc_registered_roots' and `scm_permobjs'.

* libguile/gc.c (scm_permanent_object): Use `scm_gc_protect_object ()'.
  (scm_gc_register_root): Do nothing.
  (scm_init_storage): Removed initialization of `scm_permobjs' and
  `scm_gc_register_roots'.

* libguile/root.h (scm_permobjs): Removed.
  (scm_gc_registered_roots): Removed.

git-archimport-id: lcourtes@laas.fr--2005-libre/guile-core--boehm-gc--1.9--patch-50

15 years agoExpand heap size at startup time.
Ludovic Courtes [Mon, 27 Nov 2006 00:15:53 +0000 (00:15 +0000)]
Expand heap size at startup time.

* libguile/gc.c (scm_storage_prehistory): Invoke `GC_expand_hp ()'.

git-archimport-id: lcourtes@laas.fr--2005-libre/guile-core--boehm-gc--1.9--patch-49

15 years agoTurn "all interior pointers" off (slight performance gain).
Ludovic Courtes [Mon, 27 Nov 2006 00:14:23 +0000 (00:14 +0000)]
Turn "all interior pointers" off (slight performance gain).

* libguile/gc.c (scm_storage_prehistory): Set `GC_all_interior_pointers'
  to 0.  Register `scm_tc3_cons' and `scm_tc3_closure' as valid
  displacements.

* libguile/struct.c (scm_alloc_struct): Register additional
  displacements.

git-archimport-id: lcourtes@laas.fr--2005-libre/guile-core--boehm-gc--1.9--patch-48

15 years agoImplemented `gc-stats' using `libgc' information.
Ludovic Courtes [Sun, 2 Jul 2006 20:26:29 +0000 (20:26 +0000)]
Implemented `gc-stats' using `libgc' information.

* libguile/gc.c (protected_obj_count): Made `static'.
  (scm_heap_size): Mapped to `heap-size' rather than `cell-heap-size'.
  (scm_heap_free_size): New.
  (scm_heap_total_allocated): New.
  (scm_gc_stats): Rewritten.  Return the (little) information available
  from `libgc'.
  (scm_gc_disable): New.
  (scm_gc_enable): New.
  (scm_storage_prehistory): Don't call `GC_add_roots ()' with
  SCM_SYS_PROTECTS.  Use `GC_is_visible ()' to check whether
  SCM_SYS_PROTECTS is visible.

* libguile/gc.h (scm_gc_enable): New declaration.
  (scm_gc_disable): New declaration.
  (scm_gc_for_alloc): Removed.
  (scm_gc_for_newcell): Removed.

git-archimport-id: lcourtes@laas.fr--2005-libre/guile-core--boehm-gc--1.9--patch-46

15 years agoHave source properties only use regular GC mechanisms.
Ludovic Courtes [Sun, 25 Jun 2006 22:44:00 +0000 (22:44 +0000)]
Have source properties only use regular GC mechanisms.

* libguile/srcprop.c: Include "libguile/gc.h".
  (srcprops_chunklist): Removed.
  (srcprops_freelist): Removed.
  (srcprops_free): Removed.
  (scm_make_srcprops): Use `scm_gc_malloc ()' rather than
  SRCPROPS_FREELIST et al.
  (scm_init_srcprop): Don't call `scm_set_smob_free ()'.
  (scm_finish_srcprop): Do nothing.

* libguile/srcprop.h (SRCPROPS_CHUNKSIZE): Removed.
  (scm_t_srcprops_chunk): Removed.

git-archimport-id: lcourtes@laas.fr--2005-libre/guile-core--boehm-gc--1.9--patch-45

15 years agoFixed symbols so that interned symbols are only weakly referenced.
Ludovic Courtes [Sun, 25 Jun 2006 22:43:47 +0000 (22:43 +0000)]
Fixed symbols so that interned symbols are only weakly referenced.

* libguile/symbols.c (lookup_interned_symbol): When a deleted weak pair
  is encountered, remove it and update the hashtable's item count.  Also,
  check the hash table threshold and trigger a rehashing if needed.
  (scm_i_c_mem2symbol): Allocate CELL using `scm_weak_car_pair ()' rather
  than `scm_cons ()'.
  (scm_i_mem2symbol): Likewise.
  (scm_symbols_prehistory): Don't invoke `scm_permanent_object ()' for
  SYMBOLS.

git-archimport-id: lcourtes@laas.fr--2005-libre/guile-core--boehm-gc--1.9--patch-44

15 years agoRe-fixed the hash table element counting in `scm_i_rehash ()'.
Ludovic Courtes [Sun, 25 Jun 2006 22:43:33 +0000 (22:43 +0000)]
Re-fixed the hash table element counting in `scm_i_rehash ()'.

* libguile/hashtab.c (scm_i_rehash): Don't invoke
  `SCM_HASHTABLE_DECREMENT ()' when a weak pair is encountered in the
  source bucket.

git-archimport-id: lcourtes@laas.fr--2005-libre/guile-core--boehm-gc--1.9--patch-43

15 years agoFixed `guardians.test' so that it does not use symbols.
Ludovic Courtes [Sun, 25 Jun 2006 22:43:20 +0000 (22:43 +0000)]
Fixed `guardians.test' so that it does not use symbols.

* test-suite/tests/guardians.test: Use strings instead of symbols for
  `g3-garbage' et al.

git-archimport-id: lcourtes@laas.fr--2005-libre/guile-core--boehm-gc--1.9--patch-42

15 years agoAllow guardians to be GC'd before the objects they guard.
Ludovic Courtes [Sun, 25 Jun 2006 22:43:05 +0000 (22:43 +0000)]
Allow guardians to be GC'd before the objects they guard.

* libguile/guardians.c (finalize_guarded): While traversing
  GUARDIANS_LIST, check for deleted weak-car pairs.
  (scm_i_guard): Instantiate GUARDIANS_FOR_OBJ using `scm_weak_car_pair ()'
  rather than `scm_cons ()'.

git-archimport-id: lcourtes@laas.fr--2005-libre/guile-core--boehm-gc--1.9--patch-41

15 years agoMinor weak hashtables fixes.
Ludovic Courtes [Sun, 25 Jun 2006 22:42:34 +0000 (22:42 +0000)]
Minor weak hashtables fixes.

* libguile/hashtab.c (scm_fixup_weak_alist): Cosmetic change.
  (scm_i_rehash): Call `SCM_HASHTABLE_DECREMENT ()' when a deleted weak
  pair is encountered.
  (scm_internal_hash_fold): Call `SCM_HASHTABLE_DECREMENT ()' instead of
  a complicated `SCM_SET_HASHTABLE_N_ITEMS ()'.

git-archimport-id: lcourtes@laas.fr--2005-libre/guile-core--boehm-gc--1.9--patch-40

15 years agoMoved weak pair code into `weaks.[ch]'.
Ludovic Courtes [Sun, 25 Jun 2006 22:42:19 +0000 (22:42 +0000)]
Moved weak pair code into `weaks.[ch]'.

* libguile/hashtab.c: Don't include <gc/gc_typed.h> and <gc/gc.h>.
  Updated users of weak
  (wcar_cell_descr): Removed.
  (wcdr_cell_descr): Removed.
  (scm_weak_car_cell): Removed.
  (scm_weak_cdr_cell): Removed.
  (scm_doubly_weak_cell): Removed.
  (SCM_WEAK_CELL_*_DELETED_P): Removed.
  (SCM_WEAK_CELL_WORD): Removed.
  (SCM_WEAK_CELL_C[AD]R): Removed.
  (scm_hashtab_prehistory): Don't initialize weak pairs.

* libguile/init.c (scm_i_init_guile): Invoke `scm_weaks_prehistory ()'
  before `scm_hashtab_prehistory ()' in order to initialize weak pairs.

* libguile/weaks.c: Include <gc/gc.h> and <gc/gc_typed.h>.
  (wc[ad]r_cell_descr): New.
  (scm_weak_c[ad]r_pair): New.
  (scm_doubly_weak_pair): New.
  (scm_weaks_prehistory): New.

* libguile/weaks.h (scm_weak_c[ad]r_pair): New declaration.
  (scm_doubly_weak_pair): New declaration.
  (SCM_WEAK_PAIR_WORD_DELETED_P): New.
  (SCM_WEAK_PAIR_CAR_DELETED_P): New.
  (SCM_WEAK_PAIR_CDR_DELETED_P): New.
  (SCM_WEAK_PAIR_DELETED_P): New.
  (SCM_WEAK_PAIR_WORD): New.
  (SCM_WEAK_PAIR_CAR): New.
  (SCM_WEAK_PAIR_CDR): New.

git-archimport-id: lcourtes@laas.fr--2005-libre/guile-core--boehm-gc--1.9--patch-39

15 years agoImplemented rehashing of weak hash tables.
Ludovic Courtes [Tue, 13 Jun 2006 20:17:32 +0000 (20:17 +0000)]
Implemented rehashing of weak hash tables.

* libguile/hashtab.c (weak_hashtables): Removed.
  (SCM_WEAK_CELL_DELETED_P): New macro.
  (START_WEAK_BUCKET_FIXUP): Added the HASHFN argument.  Invoke
  `scm_i_rehash ()' when pairs have been removed.
  (END_WEAK_BUCKET_FIXUP): Added the HASHFN argument.
  (make_hash_table): Use `SCM_NEWSMOB2 ()' instead of `SCM_NEWSMOB3 ()'
  -- last argument used to be WEAK_HASHTABLES.
  (scm_i_rehash): Handle weak hash tables.
  (to_rehash): Removed.
  (scm_internal_hash_fold): Use `SCM_WEAK_CELL_DELETED_P ()' rather than
  hand-written equivalent code.
  (rehash_after_gc): Removed.
  (scm_hashtab_prehistory): Don't add it as an after-gc hook.

* libguile/hashtab.h (SCM_HASHTABLE_NEXT): Removed.
  (SCM_HASHTABLE_NEXTLOC): Removed.
  (SCM_SET_HASHTABLE_NEXT): Removed.

git-archimport-id: lcourtes@laas.fr--2005-libre/guile-core--boehm-gc--1.9--patch-38

15 years agoImplemented port finalization.
Ludovic Courtes [Sun, 11 Jun 2006 20:13:58 +0000 (20:13 +0000)]
Implemented port finalization.

* libguile/ports.c (register_finalizer_for_port): New.
  (finalize_port): New.
  (scm_new_port_table_entry): Call `register_finalizer_for_port ()'
  before returning the new port.
  (scm_ports_prehistory): Use `scm_gc_malloc_pointerless ()' instead of
  `scm_gc_malloc ()' when allocating room for SCM_I_PORT_TABLE.

git-archimport-id: lcourtes@laas.fr--2005-libre/guile-core--boehm-gc--1.9--patch-37

15 years agoUse `scm_gc_malloc_pointerless' in various places (improves performance).
Ludovic Courtes [Thu, 8 Jun 2006 22:01:47 +0000 (22:01 +0000)]
Use `scm_gc_malloc_pointerless' in various places (improves performance).

* libguile/fports.c (scm_fport_buffer_add): Use
  `scm_gc_malloc_pointerless ()' instead of `scm_gc_malloc ()' when
  allocating room for the read/write buffers.

* libguile/numbers.c (scm_c_make_rectangular): Likewise.

* libguile/ports.c (scm_ungetc): Likewise.

* libguile/random.c (scm_i_copy_rstate): Likewise.
  (scm_c_make_rstate): Likewise.

* libguile/regex-posix.c (scm_make_regexp): Likewise.

git-archimport-id: lcourtes@laas.fr--2005-libre/guile-core--boehm-gc--1.9--patch-36

15 years agoRemoved the now-useless `scm_struct_free_*' functions.
Ludovic Courtes [Tue, 30 May 2006 21:57:09 +0000 (21:57 +0000)]
Removed the now-useless `scm_struct_free_*' functions.

* libguile/struct.c (scm_alloc_struct): Set the `scm_struct_i_free'
  element to 0 instead of `scm_struct_free_standard'.
  (scm_struct_free_0): Removed.
  (scm_struct_free_light): Removed.
  (scm_struct_free_standard): Removed.
  (scm_struct_free_entity): Removed.

* libguile/struct.h (scm_struct_free_0): Removed.
  (scm_struct_free_light): Removed.
  (scm_struct_free_standard): Removed.
  (scm_struct_free_entity): Removed.

git-archimport-id: lcourtes@laas.fr--2005-libre/guile-core--boehm-gc--1.9--patch-35

15 years agoRemoved unnecessary uses of class destructors.
Ludovic Courtes [Tue, 30 May 2006 21:56:55 +0000 (21:56 +0000)]
Removed unnecessary uses of class destructors.

* libguile/goops.c (scm_sys_inherit_magic_x): Don't invoke
  `SCM_SET_CLASS_DESTRUCTOR' for legacy destructors that are no longer
  needed (e.g., `scm_struct_free_entity ()', etc.).

* libguile/objects.c (scm_init_objects): Likewise.

git-archimport-id: lcourtes@laas.fr--2005-libre/guile-core--boehm-gc--1.9--patch-34

15 years agoAdded support for the free function of structures.
Ludovic Courtes [Tue, 30 May 2006 21:23:44 +0000 (21:23 +0000)]
Added support for the free function of structures.

* libguile/struct.c (struct_finalizer_trampoline): New.
  (scm_struct_gc_init): Removed.
  (scm_i_structs_to_free): Removed.
  (scm_free_structs): Removed.
  (scm_make_struct): Register a finalizer for the new struct if need be.
  (scm_struct_prehistory): Cleared.

* libguile/struct.h (scm_i_structs_to_free): Removed.

git-archimport-id: lcourtes@laas.fr--2005-libre/guile-core--boehm-gc--1.9--patch-33

15 years agoUse the SMOB API in `coop-pthreads.c' rather than low-level primitives.
Ludovic Courtes [Tue, 30 May 2006 21:23:31 +0000 (21:23 +0000)]
Use the SMOB API in `coop-pthreads.c' rather than low-level primitives.

* libguile/coop-pthreads.c: Include "smob.h".
  (make_thread): Use `SCM_NEWSMOB' rather than `scm_cell'.

git-archimport-id: lcourtes@laas.fr--2005-libre/guile-core--boehm-gc--1.9--patch-32

15 years agoFixed a warning in `symbols.c'.
Ludovic Courtes [Tue, 30 May 2006 21:23:18 +0000 (21:23 +0000)]
Fixed a warning in `symbols.c'.

* libguile/symbols.c (lookup_interned_symbol): When checking for `NULL',
  use `SCM2PTR' rather than `SCM_UNPACK' (this fixes a warning).

git-archimport-id: lcourtes@laas.fr--2005-libre/guile-core--boehm-gc--1.9--patch-31

15 years agoFixed the SMOB mark procedure so that it handles free-list objects.
Ludovic Courtes [Sun, 28 May 2006 20:05:05 +0000 (20:05 +0000)]
Fixed the SMOB mark procedure so that it handles free-list objects.

* libguile/smob.c (smob_mark): Check the 7-bit type tag and ignore those
  whose type tag is not that of a SMOB in order to cleanly handle
  free-list objects (this fixes a bug which showed up on SPARC64).
  Also, don't mark & push ADDR itself.
  (scm_gc_mark): Moved the definition and undefinition of
  `CURRENT_MARK_PTR' and `CURRENT_MARK_LIMIT' here.

git-archimport-id: lcourtes@laas.fr--2005-libre/guile-core--boehm-gc--1.9--patch-30

15 years agoFixed use of finalizers for guardians and SMOBs (undoes patches 23-24).
Ludovic Courtes [Fri, 26 May 2006 13:50:21 +0000 (13:50 +0000)]
Fixed use of finalizers for guardians and SMOBs (undoes patches 23-24).

* libguile/gc.c (finalizer_trampoline): Removed.
  (scm_gc_register_finalizer): Removed (undoes patches 23 and 24).

* libguile/gc.h (scm_gc_register_finalizer): Removed.

* libguile/guardians.c (finalize_guarded): Undid patch 23.  Added support
  for "proxied finalizers".
  (scm_i_guard): Likewise.

* libguile/smob.c (scm_i_finalize_smob): Adapted to
  `GC_finalization_proc'.

* libguile/smob.h: Include <gc/gc.h>.
  (SCM_NEWSMOB): Use `GC_REGISTER_FINALIZER_NO_ORDER' instead of
  `scm_gc_register_finalizer ()'.
  (SCM_NEWSMOB3): Likewise.
  (scm_i_finalize_smob): Updated.

git-archimport-id: lcourtes@laas.fr--2005-libre/guile-core--boehm-gc--1.9--patch-29

15 years agoRemoved a lot of now-useless SMOB mark/free functions.
Ludovic Courtes [Tue, 23 May 2006 22:00:11 +0000 (22:00 +0000)]
Removed a lot of now-useless SMOB mark/free functions.

* libguile/arbiters.c (scm_init_arbiters): Don't invoke `scm_set_smob_mark'.

* libguile/async.c (async_gc_mark): Removed.
  (scm_init_async): Don't invoke `scm_set_smob_mark'.

* libguile/coop-pthreads.c (thread_mark): Removed.
  (create_thread): Use `scm_gc_malloc' instead of `scm_malloc' when
  allocating `launch_data'.
  (mutex_mark): Removed.
  (scm_threads_init): Don't invoke `scm_set_smob_mark' and
  `scm_set_smob_free'.

* libguile/debug.c (scm_init_debug): Don't invoke `scm_set_smob_mark'.

* libguile/dynl.c (dynl_obj_mark): Removed.
  (scm_init_dynamic_linking): Don't invoke `scm_set_smob_mark'.

* libguile/dynwind.c (winder_mark): Removed.
  (scm_init_dynwind): Don't invoke `scm_set_smob_mark'.

* libguile/environments.c (environment_mark): Removed.
  (environment_free): Removed.
  (observer_mark): Removed.
  (core_environments_mark): Removed.
  (core_environments_finalize): Removed.
  (leaf_environment_mark): Removed.
  (leaf_environment_free): Removed.
  (leaf_environment_funcs): Don't refer to the above funcs.
  (eval_environment_mark): Removed.
  (eval_environment_free): Removed.
  (eval_environment_funcs): Don't refer to the above funcs.
  (import_environment_mark): Removed.
  (import_environment_free): Removed.
  (import_environment_funcs): Don't refer to the above funcs.
  (export_environment_mark): Removed.
  (export_environment_free): Removed.
  (export_environment_funcs): Don't refer to the above funcs.
  (scm_environments_prehistory): Don't invoke `scm_set_smob_mark' and
  `scm_set_smob_free'.

* libguile/environments.h (scm_environment_funcs)[mark]: Removed.
  [free]: Removed.

* libguile/eval.c (promise_mark): Removed.
  (promise_free): Removed.
  (scm_init_eval): Don't invoke `scm_set_smob_mark' and
  `scm_set_smob_free'.

* libguile/fluids.c (fluid_free): Removed.
  (scm_fluids_prehistory): Don't invoke `scm_set_smob_mark' and
  `scm_set_smob_free'.

* libguile/futures.c (future_mark): Removed.
  (scm_init_futures): Don't invoke `scm_set_smob_mark'.

* libguile/hashtab.c (hashtable_free): Removed.
  (scm_hashtab_prehistory): Don't invoke `scm_set_smob_mark' and
  `scm_set_smob_free'.

* libguile/hooks.c (scm_init_hooks): Don't invoke `scm_set_smob_mark'.

* libguile/keywords.c (scm_init_keywords): Don't invoke
  `scm_set_smob_mark'.

* libguile/macros.c (scm_init_macros): Don't invoke `scm_set_smob_mark'.

* libguile/modules.c (scm_init_modules): Don't invoke
  `scm_set_smob_mark'.

* libguile/print.c (scm_init_print): Don't invoke `scm_set_smob_mark'.

* libguile/random.c (scm_i_copy_rstate): Use `scm_gc_malloc' instead of
  `scm_malloc'.
  (scm_c_make_rstate): Likewise.
  (rstate_free): Removed.
  (scm_init_random): Don't invoke `scm_set_smob_free'.

* libguile/srcprop.c (srcprops_mark): Removed.
  (scm_init_srcprop): Don't invoke `srcprops_mark'.

* libguile/srfi-14.c (charset_free): Removed.
  (scm_init_srfi_14): Don't invoke `scm_set_smob_free'.

* libguile/srfi-4.c (uvec_mark): Removed.
  (uvec_free): Removed.
  (scm_init_srfi_4): Don't invoke `scm_set_smob_free' and
  `scm_set_smob_mark'.

* libguile/threads.c (thread_mark): Removed.
  (fat_mutex_mark): Removed.
  (fat_cond_mark): Removed.
  (scm_init_threads): Dont invoke `scm_set_smob_mark' and
  `scm_set_smob_free'.

* libguile/unif.c (bitvector_free): Removed.
  (array_mark): Removed.
  (array_free): Removed.
  (scm_init_unif): Don't invoke `scm_set_smob_free' and
  `scm_set_smob_mark'.

git-archimport-id: lcourtes@laas.fr--2005-libre/guile-core--boehm-gc--1.9--patch-28

15 years agoFixed the undocumented `scm_make_smob ()' function.
Ludovic Courtes [Tue, 23 May 2006 21:59:56 +0000 (21:59 +0000)]
Fixed the undocumented `scm_make_smob ()' function.

* libguile/smob.c (scm_make_smob): Use `SCM_RETURN_NEWSMOB ()' instead of
  `scm_cell ()' when instantiating the SMOB.

git-archimport-id: lcourtes@laas.fr--2005-libre/guile-core--boehm-gc--1.9--patch-27

15 years agoAdded support for SMOBs free function (via finalizers).
Ludovic Courtes [Tue, 23 May 2006 21:59:42 +0000 (21:59 +0000)]
Added support for SMOBs free function (via finalizers).

* libguile/smob.c (scm_i_finalize_smob): New.

* libguile/smob.h (SCM_NEWSMOB): Register `scm_i_finalize_smob ()' as a
  finalizer for Z if its SMOB type has a free function.
  (SCM_NEWSMOB3): Likewise.
  (scm_i_finalize_smob): New declaration.

git-archimport-id: lcourtes@laas.fr--2005-libre/guile-core--boehm-gc--1.9--patch-26

15 years agoRemoved the free function from the malloc-object SMOB type.
Ludovic Courtes [Tue, 23 May 2006 21:59:28 +0000 (21:59 +0000)]
Removed the free function from the malloc-object SMOB type.

* libguile/mallocs.c (malloc_free): Removed.
  (scm_init_mallocs): Don't invoke `scm_set_smob_free ()' because the
  memory allocated by `scm_gc_malloc ()' will automatically be freed.
  Furthermore, `malloc_free ()' used to invoke `free ()' instead of
  `scm_gc_free ()' which is incorrect.

git-archimport-id: lcourtes@laas.fr--2005-libre/guile-core--boehm-gc--1.9--patch-25

15 years agoFixed `scm_gc_register_finalizer ()' to avoid bootstrap problem.
Ludovic Courtes [Tue, 23 May 2006 21:59:14 +0000 (21:59 +0000)]
Fixed `scm_gc_register_finalizer ()' to avoid bootstrap problem.

* libguile/gc.c (finalizer_trampoline): Don't use `scm_call_2 ()' to
  invoke the finalizer: directly call the C function instead.
  (scm_gc_register_finalizer): Don't create a real subr with
  `scm_c_make_gsubr ()': simply convert the C function pointer to an
  `SCM' object instead.

git-archimport-id: lcourtes@laas.fr--2005-libre/guile-core--boehm-gc--1.9--patch-24

15 years agoGeneralized BGC's finalizer mechanism. Use it in `guardians.c'.
Ludovic Courtes [Tue, 23 May 2006 21:59:00 +0000 (21:59 +0000)]
Generalized BGC's finalizer mechanism.  Use it in `guardians.c'.

* libguile/gc.c (finalizer_trampoline): New.
  (scm_gc_register_finalizer): New.

* libguile/gc.h (scm_gc_register_finalizer): New declaration.

* libguile/guardians.c (finalize_guarded): Updated to the new prototype.
  (scm_i_guard): Use `scm_gc_register_finalizer ()' instead of
  `GC_REGISTER_FINALIZER_NO_ORDER ()'.

git-archimport-id: lcourtes@laas.fr--2005-libre/guile-core--boehm-gc--1.9--patch-23

15 years agoAdded support for SMOB custom mark procedures.
Ludovic Courtes [Mon, 22 May 2006 19:12:12 +0000 (19:12 +0000)]
Added support for SMOB custom mark procedures.

* libguile/gc.c (scm_gc_mark): Removed.
  (scm_gc_mark_dependencies): Removed.
  (scm_mark_locations): Removed.

* libguile/gc.h (scm_gc_mark_dependencies): Removed.
  (scm_mark_locations): Removed.

* libguile/inline.h (scm_cell): Use `GC_MALLOC ()' instead of `GC_malloc ()'.

* libguile/smob.c (smob_freelist): New.
  (smob_gc_kind): New.
  (smob_mark): New.
  (scm_gc_mark): New.
  (scm_i_new_smob_with_mark_proc): New.
  (scm_smob_prehistory): Initialize `smob_freelist' and `smob_gc_kind'.

* libguile/smob.h (scm_i_new_smob_with_mark_proc): New declaration.
  (SCM_NEWSMOB): Use it if a mark procedure is available.
  (SCM_NEWSMOB2): Likewise.
  (SCM_NEWSMOB3): Likewise.

* libguile/threads.c (guilify_self_1): Initialize the
  `current_mark_stack_*' fields.

* libguile/threads.h (scm_i_thread)[current_mark_stack_ptr]: New field.
  [current_mark_stack_limit]: New field.

git-archimport-id: lcourtes@laas.fr--2005-libre/guile-core--boehm-gc--1.9--patch-22

15 years agoRemoved the mark/free functions of continuations and threads.
Ludovic Courtes [Thu, 18 May 2006 08:08:47 +0000 (08:08 +0000)]
Removed the mark/free functions of continuations and threads.

* libguile/continuations.c (continuation_mark): Removed.
  (continuation_free): Removed.
  (scm_init_continuations): Don't use them.

* libguile/coop-pthreads.c (scm_threads_mark_stacks): Removed (was
  unused).

* libguile/threads.c (scm_threads_mark_stacks): Likewise.

* libguile/threads.h (scm_threads_mark_stacks): Likewise.

git-archimport-id: lcourtes@laas.fr--2005-libre/guile-core--boehm-gc--1.9--patch-21

15 years agoRemoved useless files; beautified `libguile/Makefile.am'.
Ludovic Courtes [Thu, 18 May 2006 08:08:32 +0000 (08:08 +0000)]
Removed useless files; beautified `libguile/Makefile.am'.

* libguile/Makefile.am: Beautified backslashification (complements `patch-1').

git-archimport-id: lcourtes@laas.fr--2005-libre/guile-core--boehm-gc--1.9--patch-20

15 years agoDisabled the `environments' unit test.
Ludovic Courtes [Thu, 18 May 2006 08:08:13 +0000 (08:08 +0000)]
Disabled the `environments' unit test.

* test-suite/Makefile.am (SCM_TESTS): Removed `tests/environments.test'.

* test-suite/tests/environments.nottest: Disabled.

git-archimport-id: lcourtes@laas.fr--2005-libre/guile-core--boehm-gc--1.9--patch-19

15 years agoprocs/weaks/hashtab: Removed a bit of useless mark/free code.
Ludovic Courtes [Sun, 14 May 2006 18:44:09 +0000 (18:44 +0000)]
procs/weaks/hashtab: Removed a bit of useless mark/free code.

* libguile/hashtab.c (UNMARKED_CELL_P): Removed.
  (scm_i_scan_weak_hashtables): Removed.

* libguile/hashtab.h (scm_i_scan_weak_hashtables): Removed.

* libguile/procs.c (scm_mark_subr_table): Removed.

* libguile/procs.h (scm_mark_subr_table): Removed.

* libguile/weaks.c (UNMARKED_CELL_P): Removed.
  (scm_i_remove_weaks): Removed.
  (scm_i_remove_weaks_from_weak_vectors): Removed.

git-archimport-id: lcourtes@laas.fr--2005-libre/guile-core--boehm-gc--1.9--patch-18

15 years agoTiny updates in `environments.c'.
Ludovic Courtes [Sun, 14 May 2006 18:43:42 +0000 (18:43 +0000)]
Tiny updates in `environments.c'.

* libguile/environments.c (scm_make_environment): Use
  `SCM_RETURN_NEWSMOB' instead of `scm_cell'.
  (core_environments_observe): Use `SCM_NEWSMOB3' instead of
  `scm_double_cell'.

git-archimport-id: lcourtes@laas.fr--2005-libre/guile-core--boehm-gc--1.9--patch-17

15 years agoFixes in weak hash tables handling, notably in `hash-fold'.
Ludovic Courtes [Tue, 9 May 2006 22:11:09 +0000 (22:11 +0000)]
Fixes in weak hash tables handling, notably in `hash-fold'.

* libguile/hashtab.c (scm_i_rehash): Return immediately if TABLE is weak.
  (scm_hash_fn_create_handle_x): Explicitly mention that we don't support
  weak alist vectors.
  (scm_internal_hash_fold): Handle weak pairs within buckets.

* libguile/modules.c (scm_module_reverse_lookup): Handle weak alists
  (currently, don't do anything if a NULL pair is met).

git-archimport-id: lcourtes@laas.fr--2005-libre/guile-core--boehm-gc--1.9--patch-16

15 years agoFixed a typo/bug in `make-doubly-weak-alist-vector'.
Ludovic Courtes [Tue, 2 May 2006 21:35:52 +0000 (21:35 +0000)]
Fixed a typo/bug in `make-doubly-weak-alist-vector'.

* libguile/weaks.c (scm_make_doubly_weak_alist_vector): Fixed typo
  (endless recursive call).

git-archimport-id: lcourtes@laas.fr--2005-libre/guile-core--boehm-gc--1.9--patch-15

15 years agoFixed printing of weak vectors.
Ludovic Courtes [Tue, 2 May 2006 21:30:58 +0000 (21:30 +0000)]
Fixed printing of weak vectors.

* libguile/print.c (iprin1): When displaying a weak vector, access
  elements via `scm_c_vector_ref ()', not via the macro.

git-archimport-id: lcourtes@laas.fr--2005-libre/guile-core--boehm-gc--1.9--patch-14

15 years agoFixed `list->weak-vector'.
Ludovic Courtes [Tue, 2 May 2006 21:30:37 +0000 (21:30 +0000)]
Fixed `list->weak-vector'.

* libguile/vectors.c (scm_i_allocate_weak_vector): Removed.
  (MAKE_WEAK_VECTOR): New macro.
  (allocate_weak_vector): New.
  (scm_i_make_weak_vector): New.
  (scm_i_make_weak_vector_from_list): New.

* libguile/vectors.h: Updated.

* libguile/weaks.c (scm_make_weak_vector): Use `scm_i_make_weak_vector ()'.
  (scm_weak_vector): Use `scm_i_make_weak_vector_from_list ()'.

git-archimport-id: lcourtes@laas.fr--2005-libre/guile-core--boehm-gc--1.9--patch-13

15 years agoFixed weak alist vectors by having them use weak hash tables instead.
Ludovic Courtes [Tue, 2 May 2006 21:30:07 +0000 (21:30 +0000)]
Fixed weak alist vectors by having them use weak hash tables instead.

* libguile/weaks.c (scm_make_weak_key_alist_vector): Use
  `scm_make_weak_key_hash_table ()'.
  (scm_make_weak_value_alist_vector): Use `scm_make_weak_value_hash_table ()'.
  (scm_make_doubly_weak_alist_vector): Use `scm_make_doubly_weak_hash_table ()'.

git-archimport-id: lcourtes@laas.fr--2005-libre/guile-core--boehm-gc--1.9--patch-12

15 years agoFirst stab at the guardian implementation. Works fine at first glance!
Ludovic Courtes [Tue, 25 Apr 2006 16:23:31 +0000 (16:23 +0000)]
First stab at the guardian implementation.  Works fine at first glance!

* libguile/guardians.c: Overhauled.  Removed the `tconc' structure.
  Much, much, simpler.
  (finalize_guarded): New function.

* libguile/init.c (scm_i_init_guile): Call `scm_init_guardians ()'.

git-archimport-id: lcourtes@laas.fr--2005-libre/guile-core--boehm-gc--1.9--patch-11

15 years agoTell `libgc' that we're using POSIX threads. This fixes Guile on PPC.
Ludovic Court`es [Thu, 20 Apr 2006 13:07:47 +0000 (13:07 +0000)]
Tell `libgc' that we're using POSIX threads.  This fixes Guile on PPC.

* libguile/coop-defs.h: If `GUILE_PTHREAD_COMPAT' is defined, then define
  `GC_THREADS' and include <gc/gc.h> after <pthread.h>.

* libguile/coop-pthreads.h: Likewise.

* libguile/pthread-threads.h: Likewise.

git-archimport-id: lcourtes@laas.fr--2005-libre/guile-core--boehm-gc--1.9--patch-10

15 years agoFixed `scm_fixup_weak_alist ()'; update weak hash table size as needed.
Ludovic Courtes [Sun, 9 Apr 2006 16:13:22 +0000 (16:13 +0000)]
Fixed `scm_fixup_weak_alist ()'; update weak hash table size as needed.

* libguile/hashtab.c (scm_fixup_weak_alist): Added a REMOVED_ITEMS
  parameter.  Fixed a bug in the case where PREV is `SCM_EOL'.
  (IS_WEAK_THING): New macro.
  (START_WEAK_BUCKET_FIXUP): New macro.
  (END_WEAK_BUCKET_FIXUP): New macro.
  (scm_hash_fn_get_handle)[buckets]: New variable.  Use the above
  macros.
  (scm_hash_fn_create_handle_x): Likewise.
  (scm_hash_fn_remove_x): Likewise.

git-archimport-id: lcourtes@laas.fr--2005-libre/guile-core--boehm-gc--1.9--patch-9

15 years agoFixed the weak cell implementation (for weak hash tables).
Ludovic Courtes [Sun, 9 Apr 2006 16:13:01 +0000 (16:13 +0000)]
Fixed the weak cell implementation (for weak hash tables).

* libguile/hashtab.c (wcar_cell_descr): New.
  (wcdr_cell_descr): New.
  (scm_weak_car_cell): Use `GC_malloc_explicitly_typed ()' instead of
  `scm_gc_malloc_pointerless ()'.
  (scm_weak_cdr_cell): Likewise.
  (SCM_WEAK_CELL_WORD_DELETED_P): Use `SCM_CELL_OBJECT' instead of
  `SCM_CELL_WORD'.
  (scm_hash_fn_get_handle): Call `GC_disable ()' before calling
  `scm_fixup_weak_alist ()' and `GC_enable ()' afterwards.
  (scm_hash_fn_create_handle_x): Likewise.
  (scm_hash_fn_remove_x): Likewise.
  (scm_hashtab_prehistory): Initialize WCAR_CELL_DESCR and
  WCDR_CELL_DESCR.

git-archimport-id: lcourtes@laas.fr--2005-libre/guile-core--boehm-gc--1.9--patch-8

15 years agoFirst stab at implementing weak hash tables and vectors. Unable to run the REPL.
Ludovic Courtes [Tue, 4 Apr 2006 21:28:13 +0000 (21:28 +0000)]
First stab at implementing weak hash tables and vectors.  Unable to run the REPL.

* libguile/hashtab.c (scm_weak_car_cell): New.
  (scm_weak_cdr_cell): New.
  (scm_doubly_weak_cell): New.
  (SCM_WEAK_CELL_WORD_DELETED_P): New.
  (SCM_WEAK_CELL_WORD): New.
  (scm_fixup_weak_alist): New.
  (make_hash_table): Always use non-weak vectors.  Allocate
  `scm_t_hashtable' objects as pointerless.
  (scm_i_rehash): Always make NEW_BUCKETS a non-weak vector.
  (scm_hash_fn_get_handle): Call `scm_fixup_weak_alist ()' on weak
  buckets before calling ASSOC_FN.
  (scm_hash_fn_remove_x): Likewise.
  (scm_hash_fn_create_handle_x): Likewise.  Also, use `scm_.*weak.*cell
  ()' for HANDLE when needed.

* libguile/symbols.c (lookup_interned_symbol): Check for nullified
  pairs.

* libguile/vectors.c (scm_vector_elements): Abort on weak vectors.
  (scm_vector_writable_elements): Likewise.
  (scm_c_vector_ref): Check whether the referenced element has been
  nullified.
  (scm_c_vector_set_x): Use `GC_GENERAL_REGISTER_DISAPPEARING_LINK ()'.
  (scm_i_allocate_weak_vector): Use `scm_gc_malloc_pointerless ()'
  instead of `scm_gc_malloc ()' when allocating room for the vector
  itself.

* libguile/weaks.c (scm_make_weak_key_alist_vector): Use
  `scm_make_vector ()' instead of `scm_i_allocate_weak_vector ()'.
  (scm_make_weak_value_alist_vector): Likewise.
  (scm_make_doubly_weak_alist_vector): Likewise.
  (weak_vectors): Removed.
  (scm_i_init_weak_vectors_for_gc): Removed.
  (scm_i_mark_weak_vector): Removed.
  (scm_i_mark_weak_vector_non_weaks): Removed.
  (scm_i_mark_weak_vectors_non_weaks): Removed.
  (scm_i_remove_weaks_from_weak_vectors): Commented out.

git-archimport-id: lcourtes@laas.fr--2005-libre/guile-core--boehm-gc--1.9--patch-7

15 years agoFixed GC initialization and static roots.
Ludovic Courtes [Tue, 4 Apr 2006 21:27:48 +0000 (21:27 +0000)]
Fixed GC initialization and static roots.

* libguile/gc.c (scm_storage_prehistory): Call `GC_INIT ()'.  Invoke
  `GC_add_roots ()' as well.
  (scm_init_gc): Removed call to `GC_init ()'.

git-archimport-id: lcourtes@laas.fr--2005-libre/guile-core--boehm-gc--1.9--patch-6

15 years agoAdded `scm_gc_malloc_pointerless ()', equivalent to `GC_MALLOC_ATOMIC ()'.
Ludovic Courtes [Tue, 4 Apr 2006 21:27:23 +0000 (21:27 +0000)]
Added `scm_gc_malloc_pointerless ()', equivalent to `GC_MALLOC_ATOMIC ()'.

* libguile/gc-malloc.c (scm_gc_register_collectable_memory): Tidied.
  (scm_gc_unregister_collectable_memory): Likewise.
  (scm_gc_malloc_pointerless): New.

* libguile/gc.h (scm_gc_malloc_pointer_less): New declaration.

* libguile/strings.c (make_stringbuf): Use it.

git-archimport-id: lcourtes@laas.fr--2005-libre/guile-core--boehm-gc--1.9--patch-5

15 years agoFixed garbage collection of ports: basics work (no SMOBs, no guardians, no WHT).
Ludovic Courtes [Sun, 2 Apr 2006 21:05:34 +0000 (21:05 +0000)]
Fixed garbage collection of ports: basics work (no SMOBs, no guardians, no WHT).

* libguile/gc.c (scm_init_storage): Do not initialize SCM_I_PORT_TABLE
  here: this is done in `scm_ports_prehistory ()'.  This fixes the bug
  mentioned in the previous patch log.

* libguile/ports.c (scm_new_port_table_entry): Slightly clarified the
  code.

git-archimport-id: lcourtes@laas.fr--2005-libre/guile-core--boehm-gc--1.9--patch-4

15 years agoFirst ``working'' Guile! Crashes in `flush-all-ports' (relates to SCM_I_PORT_TABLE).
Ludovic Courtes [Sun, 2 Apr 2006 21:05:04 +0000 (21:05 +0000)]
First ``working'' Guile!  Crashes in `flush-all-ports' (relates to SCM_I_PORT_TABLE).

* libguile/gc.c (scm_gc_stats): Fixed so that it returns a relevant
  result instead of just `SCM_EOL'.

* libguile/ports.c: Include `assert.h'.  Don't include `malloc.h'.
  (scm_make_port_type): Use `scm_gc_realloc ()' instead of `realloc ()'.
  (scm_new_port_table_entry): Likewise.
  (scm_flush): Added an assertion on the port number.
  (scm_ports_prehistory): Use `scm_gc_malloc ()' instead of `scm_malloc ()'.

git-archimport-id: lcourtes@laas.fr--2005-libre/guile-core--boehm-gc--1.9--patch-3

15 years agoSmall fixes. Gets to the REPL and `abort ()'s soon after.
Ludovic Courtes [Sun, 2 Apr 2006 21:04:30 +0000 (21:04 +0000)]
Small fixes.  Gets to the REPL and `abort ()'s soon after.

* libguile/inline.h (scm_cell): Re-added comment about the assignment
  order of CAR/CDR.

* libguile/srcprop.c (scm_make_srcprops): Use `scm_gc_malloc ()' instead
  of `malloc' + `scm_gc_register_collectable_memory ()'.

* libguile/threads.c (guilify_self_1): Likewise.
  (guilify_self_2): Likewise.

* libguile/strings.c (make_stringbuf): Use `GC_MALLOC_ATOMIC ()' instead
  of `scm_gc_malloc ()'.

git-archimport-id: lcourtes@laas.fr--2005-libre/guile-core--boehm-gc--1.9--patch-2

15 years agoMerge from lcourtes@laas.fr--2005-mobile
Ludovic Courtes [Tue, 21 Mar 2006 22:16:33 +0000 (22:16 +0000)]
Merge from lcourtes@laas.fr--2005-mobile

Patches applied:

 * lcourtes@laas.fr--2005-mobile/guile-core--boehm-gc--1.9  (base, patch 1)

   - tag of lcourtes@laas.fr--2005-libre/guile-core--boehm-gc--1.9--base-0
   - Initial hack for Boehm's GC support: nothing works.

git-archimport-id: lcourtes@laas.fr--2005-libre/guile-core--boehm-gc--1.9--patch-1

16 years agoChanges from arch/CVS synchronization
Ludovic Courtès [Sun, 22 Jul 2007 16:30:13 +0000 (16:30 +0000)]
Changes from arch/CVS synchronization

16 years agoChanges from arch/CVS synchronization
Ludovic Courtès [Wed, 18 Jul 2007 22:13:14 +0000 (22:13 +0000)]
Changes from arch/CVS synchronization

16 years agoRevision: lcourtes@laas.fr--2006-libre/guile-core--cvs-head--0--patch-82
Ludovic Courtès [Wed, 18 Jul 2007 20:40:16 +0000 (20:40 +0000)]
Revision: lcourtes@laas.fr--2006-libre/guile-core--cvs-head--0--patch-82
Creator:  Ludovic Courtes <ludovic.courtes@laas.fr>

Slight edits to `srfi-37.scm'.

* srfi/srfi-37.scm: Don't use the SCSH comment syntax.  Properly use the
  `Commentary:' syntax.

16 years agoRevision: lcourtes@laas.fr--2006-libre/guile-core--cvs-head--0--patch-81
Ludovic Courtès [Wed, 18 Jul 2007 20:40:09 +0000 (20:40 +0000)]
Revision: lcourtes@laas.fr--2006-libre/guile-core--cvs-head--0--patch-81
Creator:  Ludovic Courtes <ludovic.courtes@laas.fr>

Added SRFI-37, by Stephen Compall.

(See ChangeLogs.)

16 years agoChanges from arch/CVS synchronization
Ludovic Courtès [Wed, 18 Jul 2007 20:25:38 +0000 (20:25 +0000)]
Changes from arch/CVS synchronization

16 years agoChanges from arch/CVS synchronization
Ludovic Courtès [Tue, 17 Jul 2007 08:39:35 +0000 (08:39 +0000)]
Changes from arch/CVS synchronization

16 years agoChanges from arch/CVS synchronization
Ludovic Courtès [Tue, 10 Jul 2007 22:34:50 +0000 (22:34 +0000)]
Changes from arch/CVS synchronization

16 years agoChanges from arch/CVS synchronization
Ludovic Courtès [Mon, 9 Jul 2007 16:47:56 +0000 (16:47 +0000)]
Changes from arch/CVS synchronization

16 years agoChanges from arch/CVS synchronization
Ludovic Courtès [Mon, 25 Jun 2007 22:25:22 +0000 (22:25 +0000)]
Changes from arch/CVS synchronization

16 years agoChanges from arch/CVS synchronization
Ludovic Courtès [Tue, 12 Jun 2007 22:01:56 +0000 (22:01 +0000)]
Changes from arch/CVS synchronization

16 years agoChanges from arch/CVS synchronization
Ludovic Courtès [Tue, 12 Jun 2007 21:55:11 +0000 (21:55 +0000)]
Changes from arch/CVS synchronization

16 years agoChanges from arch/CVS synchronization
Ludovic Courtès [Thu, 7 Jun 2007 08:36:13 +0000 (08:36 +0000)]
Changes from arch/CVS synchronization

16 years agoChanges from arch/CVS synchronization
Ludovic Courtès [Sat, 26 May 2007 14:30:50 +0000 (14:30 +0000)]
Changes from arch/CVS synchronization

17 years agoChanges from arch/CVS synchronization
Ludovic Courtès [Wed, 16 May 2007 07:51:52 +0000 (07:51 +0000)]
Changes from arch/CVS synchronization

17 years agoChanges from arch/CVS synchronization
Ludovic Courtès [Wed, 9 May 2007 21:14:49 +0000 (21:14 +0000)]
Changes from arch/CVS synchronization

17 years agoChanges from arch/CVS synchronization
Ludovic Courtès [Wed, 9 May 2007 20:18:31 +0000 (20:18 +0000)]
Changes from arch/CVS synchronization

17 years agoChanges from arch/CVS synchronization
Ludovic Courtès [Sat, 5 May 2007 20:38:57 +0000 (20:38 +0000)]
Changes from arch/CVS synchronization

17 years agoChanges from arch/CVS synchronization
Ludovic Courtès [Sat, 5 May 2007 18:38:10 +0000 (18:38 +0000)]
Changes from arch/CVS synchronization

17 years agoChanges from arch/CVS synchronization
Ludovic Courtès [Tue, 17 Apr 2007 14:12:17 +0000 (14:12 +0000)]
Changes from arch/CVS synchronization

17 years ago* configure.in (HAVE_CRYPT): check for cexp, clog, carg
Han-Wen Nienhuys [Mon, 9 Apr 2007 14:47:41 +0000 (14:47 +0000)]
* configure.in (HAVE_CRYPT): check for cexp, clog, carg

* numbers.c (carg): provide carg, cexp, clog in case they are
missing.

17 years agoChanges from arch/CVS synchronization
Ludovic Courtès [Tue, 27 Mar 2007 08:03:33 +0000 (08:03 +0000)]
Changes from arch/CVS synchronization

17 years agofixup Ludovic's name 2006-01-04, got a literal ascii "E8", somehow
Kevin Ryde [Wed, 7 Mar 2007 23:39:42 +0000 (23:39 +0000)]
fixup Ludovic's name 2006-01-04, got a literal ascii "E8", somehow

17 years agomerge from 1.8 branch
Kevin Ryde [Wed, 7 Mar 2007 23:35:55 +0000 (23:35 +0000)]
merge from 1.8 branch

17 years agomerge from 1.8 branch (texinfo.tex added)
Kevin Ryde [Wed, 7 Mar 2007 23:34:32 +0000 (23:34 +0000)]
merge from 1.8 branch (texinfo.tex added)

17 years agocopyright year
Kevin Ryde [Wed, 7 Mar 2007 23:13:04 +0000 (23:13 +0000)]
copyright year

17 years agomerge from 1.8 branch
Kevin Ryde [Wed, 7 Mar 2007 23:12:36 +0000 (23:12 +0000)]
merge from 1.8 branch

17 years agomerge from 1.8 branch
Kevin Ryde [Wed, 7 Mar 2007 23:00:22 +0000 (23:00 +0000)]
merge from 1.8 branch

17 years agocopyright year
Kevin Ryde [Wed, 7 Mar 2007 22:46:01 +0000 (22:46 +0000)]
copyright year

17 years agomerge from 1.8 branch
Kevin Ryde [Wed, 7 Mar 2007 22:46:00 +0000 (22:46 +0000)]
merge from 1.8 branch

17 years agoAnnounce versions of autoconf, automake, libtool and
Neil Jerram [Sat, 24 Feb 2007 17:34:02 +0000 (17:34 +0000)]
Announce versions of autoconf, automake, libtool and
m4.

17 years ago(subdirs_with_ltlibs): Add libguile.
Neil Jerram [Sat, 24 Feb 2007 17:21:37 +0000 (17:21 +0000)]
(subdirs_with_ltlibs): Add libguile.

17 years agoRemove changes that weren't in fact needed:
Neil Jerram [Tue, 20 Feb 2007 22:55:19 +0000 (22:55 +0000)]
Remove changes that weren't in fact needed:
- config.rpath in EXTRA_DIST, in Makefile.am
- dummy definition of AM_INTL_SUBDIR, in acinclude.m4.

17 years ago(EXTRA_DIST): Add lib-version.texi to the
Neil Jerram [Tue, 20 Feb 2007 21:16:45 +0000 (21:16 +0000)]
(EXTRA_DIST): Add lib-version.texi to the
distribution.

17 years ago*** empty log message ***
Neil Jerram [Tue, 20 Feb 2007 07:23:19 +0000 (07:23 +0000)]
*** empty log message ***

17 years ago(noinst_HEADERS): Add private-options.h, so that it
Neil Jerram [Mon, 19 Feb 2007 23:00:07 +0000 (23:00 +0000)]
(noinst_HEADERS): Add private-options.h, so that it
is included in the distribution.
(noinst_HEADERS): And the same for eval.i.c.

17 years ago(noinst_HEADERS): Add private-options.h, so that it
Neil Jerram [Mon, 19 Feb 2007 07:50:08 +0000 (07:50 +0000)]
(noinst_HEADERS): Add private-options.h, so that it
is included in the distribution.

17 years ago(AM_INTL_SUBDIR): Remove unnecessary dnl.
Neil Jerram [Sun, 18 Feb 2007 23:12:39 +0000 (23:12 +0000)]
(AM_INTL_SUBDIR): Remove unnecessary dnl.

17 years ago* configure.in: Remove AM_GNU_GETTEXT_VERSION again.
Neil Jerram [Sun, 18 Feb 2007 23:04:35 +0000 (23:04 +0000)]
* configure.in: Remove AM_GNU_GETTEXT_VERSION again.

* Makefile.am (EXTRA_DIST): Add config.rpath.

* config.rpath (Module): New (from gettext package).

17 years ago(connect-to-gds): Break generation of client name
Neil Jerram [Sun, 18 Feb 2007 23:03:35 +0000 (23:03 +0000)]
(connect-to-gds): Break generation of client name
into ...
(client-name): New procedure.
(client-name): Put something from (program-arguments) in the
client name that GDS displays in Emacs.
(connect-to-gds, client-name): Add application-name arg to allow
caller to specify client name.

17 years agoChanges from arch/CVS synchronization
Ludovic Courtès [Fri, 9 Feb 2007 16:25:50 +0000 (16:25 +0000)]
Changes from arch/CVS synchronization

17 years ago * gds-scheme.el (gds-display-results): Use save-selected-window
Neil Jerram [Tue, 6 Feb 2007 23:31:03 +0000 (23:31 +0000)]
    * gds-scheme.el (gds-display-results): Use save-selected-window
        instead of switching to other-window in order to return to the
        proper window in frames with more than two windows.

17 years agoChanges from arch/CVS synchronization
Ludovic Courtès [Sun, 4 Feb 2007 21:16:31 +0000 (21:16 +0000)]
Changes from arch/CVS synchronization

17 years agoChanges from arch/CVS synchronization
Ludovic Courtès [Wed, 31 Jan 2007 20:58:20 +0000 (20:58 +0000)]
Changes from arch/CVS synchronization

17 years ago* configure.in: Do AM_GNU_GETTEXT_VERSION, so that autoreconf will
Neil Jerram [Sun, 28 Jan 2007 15:58:07 +0000 (15:58 +0000)]
* configure.in: Do AM_GNU_GETTEXT_VERSION, so that autoreconf will
run autopoint.

* acinclude.m4 (AM_INTL_SUBDIR): Provide dummy definition, to work
around current autoconf/automake/gettext bug.

17 years agoNew upstream version of INSTALL.
Neil Jerram [Sun, 28 Jan 2007 09:36:51 +0000 (09:36 +0000)]
New upstream version of INSTALL.