1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-20 03:30:27 +02:00
Commit graph

1219 commits

Author SHA1 Message Date
Mikael Djurfeldt
0296763627 Added missing export 2003-02-19 15:31:05 +00:00
Mikael Djurfeldt
c35738c1ae * hooks.c (scm_c_hook_add): Fixed bug in append mode.
* environments.c (obarray_enter, obarray_retrieve, obarray_remove,
leaf_environment_fold, obarray_remove_all): Use hashtable
accessors.

* gc.c (scm_init_storage): Moved hook initialization to
scm_storage_prehistory.
(scm_storage_prehistory): New function.
(scm_igc): Added commentary about placement of
scm_after_sweep_c_hook.

* gc-mark.c (scm_mark_all): Use hashtable accessors.
(scm_gc_mark_dependencies): Use SCM_WVECT_WEAK_KEY_P and
SCM_WVECT_WEAK_VALUE_P.

* hashtab.c, hashtab.h (scm_hash_for_each, scm_hash_map): New
functions.
(scm_vector_to_hash_table, scm_c_make_resizing_hash_table):
Removed.
(scm_make_weak_key_hash_table, scm_make_weak_value_hash_table,
scm_make_doubly_weak_hash_table): Moved here from weaks.c.

* init.c (scm_init_guile_1): Removed call to scm_init_weaks; Added
calls to scm_storage_prehistory and scm_hashtab_prehistory.

* modules.c (module-reverse-lookup): Use hashtable accessors.

* symbols.c, symbols.h (scm_i_hash_symbol): New function.

* weaks.c, weaks.h (scm_make_weak_key_alist_vector,
scm_make_weak_value_alist_vector,
scm_make_doubly_weak_alist_vector): New functions.

* weaks.c (scm_init_weaks_builtins): New function.

* weaks.h (SCM_WVECTF_WEAK_KEY, SCM_WVECTF_WEAK_VALUE,
SCM_WVECTF_NOSCAN, SCM_WVECT_WEAK_KEY_P, SCM_WVECT_WEAK_VALUE_P,
SCM_WVECT_NOSCAN_P): New macros.

* weaks.c (scm_scan_weak_vectors):  Use SCM_WVECT_WEAK_KEY_P
and SCM_WVECT_WEAK_VALUE_P.

* weaks.c, weaks.h (scm_i_allocate_weak_vector): Renamed from
allocate_weak_vector and exported.

* Makefile.am (ice9_sources): Added weak-vector.scm.

* weak-vector.scm: New file.

* boot-9.scm (module-clear!): Use hash-clear!.
(module-for-each): Use hash-for-each.
(module-map): Use hash-map.
2003-02-19 15:04:51 +00:00
Mikael Djurfeldt
f59a096e59 * hashtab.c (scm_vector_to_hash_table,
scm_c_make_resizing_hash_table, scm_make_hash_table): New
functions.
(scm_hash_fn_get_handle, scm_hash_fn_create_handle_x): Made thread
safe and handle resizing tables.

* weaks.c (scm_make_weak_key_hash_table,
scm_make_weak_value_hash_table, scm_make_doubly_weak_hash_table):
Size argument made optional.  Return resizable table if not
specified.

* boot-9.scm (make-hash-table): Turned primitive.
2003-02-11 13:49:32 +00:00
Mikael Djurfeldt
e963ac2c54 * syncase.scm (guile-macro): Strip syntactic information from
expression before trying to treat it as a Guile macro call.
(Thanks to Kevin Ryde.)
2003-01-27 08:46:18 +00:00
Mikael Djurfeldt
c2950e36ef * threads.scm (parallel, letpar): Rewritten. 2003-01-24 10:32:13 +00:00
Mikael Djurfeldt
f4719f3191 * threads.scm (par-mapper, n-par-map, n-par-for-each): Use
futures.
2003-01-23 16:04:06 +00:00
Mikael Djurfeldt
51407fa0b7 * occam-channel.scm (alt): New syntax. 2003-01-20 11:24:51 +00:00
Mikael Djurfeldt
93f26b7bcc * evalext.c, evalext.h (scm_self_evaluating_p): New function.
* psyntax.ss (self-evaluating?): Removed.  Guile now provides this
operator as a primitive procedure.
(build-data): Quote vectors (psyntax.ss requires this).
2003-01-20 10:12:39 +00:00
Mikael Djurfeldt
9889e923c6 * psyntax.ss (self-evaluating?): Allow procedures implanted in
source.  (Guile uses this internally.)
2003-01-19 17:47:01 +00:00
Mikael Djurfeldt
80f225df0e * psyntax.ss (build-data): Don't quote self-evaluating expressions
in output.  (We normally *would* like also these expressions to be
quoted, but until Guile's native macros and syncase cooperates
better, it is less destructive not to quote.)
(self-evaluating?): Removed null? (In Guile, the empty list is not
self-evaluating).
(sc-chi): Export chi as sc-chi.
(external-macro): New syntax type.

* psyntax.pp: Regenerated.

* compile-psyntax.scm: Set expansion-eval-closure.

* syncase.scm: Set expansion-eval-closure to
the-syncase-eval-closure during booting so that variables are
created in the correct module.
(syncase): Set expansion-eval-closure.
(define-syntax define-syntax-public eval-when fluid-let-syntax
identifier-syntax let-syntax letrec-syntax syntax syntax-case
syntax-rules with-syntax include): Removed definitions (these are
created from within psyntax.pp).
Enable expansion of Guile macros during a syntax-case
transformation.
2003-01-16 11:48:14 +00:00
Mikael Djurfeldt
cf743aeae6 * boot-9.scm (use-syntax): Return *unspecified*.
* syncase.scm: (syncase): Set expansion-eval-closure.
2003-01-15 20:35:25 +00:00
Mikael Djurfeldt
7906d57d02 * syncase.scm: Set expansion-eval-closure to
the-syncase-eval-closure during booting so that variables are
created in the correct module;
(define-syntax define-syntax-public eval-when fluid-let-syntax
identifier-syntax let-syntax letrec-syntax syntax syntax-case
syntax-rules with-syntax include): Removed definitions (these are
created from within psyntax.pp).
2003-01-15 17:29:09 +00:00
Mikael Djurfeldt
fb83145154 * occam-channel.scm (make-timer): New function. 2003-01-10 22:18:14 +00:00
Mikael Djurfeldt
8411a44631 * occam-channel.scm (make-channel): Renamed from channel. 2003-01-10 18:52:16 +00:00
Mikael Djurfeldt
60eefd9c3a * Makefile.am (ice9_sources): Added occam-channel.scm.
* occam-channel.scm: New file.  Implements occam-like channels.
2003-01-10 18:46:31 +00:00
Neil Jerram
db85376112 Add a hook that is run whenever a new module is defined. 2002-12-28 20:14:21 +00:00
Mikael Djurfeldt
62d4fd94a6 * threads.scm: Removed bogus definition of future-ref. 2002-12-18 11:00:56 +00:00
Mikael Djurfeldt
876235959d * threads.scm (par-map, par-for-each): Reimplemented using
joing-thread.
(parallel): Reimplemented using futures.
(n-par-map, n-for-each): New procedures.
2002-12-15 14:36:19 +00:00
Marius Vollmer
edeea67b5a *** empty log message *** 2002-12-12 20:45:38 +00:00
Marius Vollmer
2a05206662 (improper-list-copy): New.
(parse-arglist): Use it instead of list-copy.
2002-12-12 20:43:11 +00:00
Mikael Djurfeldt
fc85d09560 * threads.scm (letpar): New macro. 2002-12-09 12:58:52 +00:00
Rob Browning
b2cbe8d8a2 *** empty log message *** 2002-12-09 00:51:53 +00:00
Rob Browning
3d9782e928 * debugger/breakpoints/Makefile.am (subpkgdatadir): VERSION ->
GUILE_EFFECTIVE_VERSION.

* debugger/Makefile.am (subpkgdatadir): VERSION ->
GUILE_EFFECTIVE_VERSION.

* Makefile.am (subpkgdatadir): VERSION -> GUILE_EFFECTIVE_VERSION.
2002-12-09 00:50:34 +00:00
Rob Browning
13f6982bc2 * debugger/Makefile.am (subpkgdatadir): VERSION ->
GUILE_EFFECTIVE_VERSION.
2002-12-09 00:49:38 +00:00
Rob Browning
056eff7ccc * debugger/breakpoints/Makefile.am (subpkgdatadir): VERSION ->
GUILE_EFFECTIVE_VERSION.
2002-12-09 00:49:24 +00:00
Mikael Djurfeldt
abce330ced * threads.scm (par-map, par-for-each, parallel):
* documentation.scm (object-documentation): Added support for
defmacros.
2002-12-04 22:06:15 +00:00
Dirk Herrmann
f2cbc0e567 * boot-9.scm (re-export-syntax): Re-introduced after accidentally
removing it in my patch from 2002-11-16.
2002-11-24 08:28:05 +00:00
Dirk Herrmann
9123414ee0 Thanks to Mikael Djurfeldt for a bugreport which led to the
following changes:

* slib.scm (%system-define): Removed.

(define): Changed to use define-private instead of
%system-define.

* boot-9.scm (define-private): Undid my changes from 2002-11-16
until Guile supports hygienic macros.
2002-11-24 08:18:19 +00:00
Neil Jerram
50a6300387 Define local read-and-eval! in emacs interface. 2002-11-17 22:17:59 +00:00
Dirk Herrmann
c55bcb3297 * syncase.scm (define-syntax, eval-when, fluid-let-syntax,
identifier-syntax, let-syntax, letrec-syntax, syntax, syntax-case,
syntax-rules, with-syntax, include):  Changed definitions to form
'real' macro definitions.
2002-11-16 16:01:06 +00:00
Dirk Herrmann
6aa9ea7c90 * boot-9.scm (define-private, export-syntax, export-syntax):
Fixed my previous fix (blush).
2002-11-16 15:40:27 +00:00
Dirk Herrmann
ab382f5204 * boot-9.scm (define-private, export-syntax, export-syntax):
Changed definitions to form 'real' macro definitions.
2002-11-16 15:05:29 +00:00
Neil Jerram
066ca68736 Remove old code that was already commented out. 2002-11-07 20:52:36 +00:00
Marius Vollmer
81cf290d2a *** empty log message *** 2002-11-07 13:46:05 +00:00
Marius Vollmer
b3a0f5c3a2 (format): Use 'monitor' properly. Not the definition
needs to be restricted, the actual function needs to be.
2002-11-07 13:45:53 +00:00
Neil Jerram
3f619266b1 Fix error in recent define-option-interface "simplification".
Fix source breakpoints to cope with port whose filename is #f.
Ensure that position recording is enabled when source breakpoint module loaded.
2002-11-06 00:29:24 +00:00
Neil Jerram
0983f67f09 Simplify code for define-option-interface. 2002-11-04 19:40:49 +00:00
Neil Jerram
9124ba8de6 Import readline function dynamically when necessary. 2002-11-04 18:58:15 +00:00
Marius Vollmer
eb2c5dcb51 *** empty log message *** 2002-11-03 19:14:33 +00:00
Marius Vollmer
d02655f717 (format): Wrap a monitor around format:format since it is not
thread-safe.
2002-11-03 19:14:08 +00:00
Marius Vollmer
132fe7af49 *** empty log message *** 2002-10-27 17:27:40 +00:00
Marius Vollmer
f4f16eccc2 (%thread-handler): Explicitely return '#f'. This value will be
returned by join-thread.
2002-10-27 17:27:25 +00:00
Neil Jerram
8ee7506bab Merge enhanced debugging features from `guile-debugger' package. 2002-10-26 19:05:28 +00:00
Marius Vollmer
03453b05f3 *** empty log message *** 2002-10-21 12:03:46 +00:00
Marius Vollmer
29b6ae0748 (%thread-handler): Do not call unmask-signals, that should be
unnecessary now.
2002-10-21 12:03:30 +00:00
Mikael Djurfeldt
a7785f36d4 *** empty log message *** 2002-10-20 21:51:53 +00:00
Mikael Djurfeldt
454b82f41f * boot-9.scm (top-repl): Look for use-emacs-interface in
guile-user-module (should it be there?) instead of
the-root-module.
2002-10-20 21:51:16 +00:00
Marius Vollmer
acfa1f528e *** empty log message *** 2002-10-09 22:49:00 +00:00
Marius Vollmer
bb00edfa92 (top-repl): Use 2 as the limit when saving the stack.
(error-catching-loop): use call-with-blocked-asyncs and
call-with-unblocked-asyncs instead of mask-signals and unmask-signals.
2002-10-09 22:47:34 +00:00
Neil Jerram
34010f5694 Extend soft ports to use input-waiting thunks. 2002-10-09 19:07:23 +00:00