Ludovic Courtès
e9b8556ec9
Merge commit ' 7337d56d57
' into boehm-demers-weiser-gc
...
Conflicts:
libguile/struct.c
2008-09-10 22:44:31 +02:00
Ludovic Courtès
4a4849dbe0
Merge commit ' 0329137392
' into boehm-demers-weiser-gc
...
Conflicts:
libguile/gc.c
libguile/srcprop.c
libguile/srcprop.h
2008-09-10 22:33:40 +02:00
Ludovic Courtès
35a9197ccc
Merge commit ' f30e1bdf97
' 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
2008-09-10 22:27:30 +02:00
Ludovic Courtes
a4a141f679
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
2008-09-05 09:34:23 +02:00
Han-Wen Nienhuys
39d275916b
* eval.c: Mark #endif with comment.
2008-09-03 23:27:42 -03:00
Ludovic Courtès
417566ebc9
Never define _GNU_SOURCE' explicitly since
AC_USE_SYSTEM_EXTENSIONS'
...
takes care of it.
Conflicts:
ChangeLog
configure.in
libguile/eval.c
libguile/srfi-14.c
libguile/threads.c
2008-08-20 19:31:46 +02:00
Ludovic Courtès
61b6542aa6
Fix type-checking for the second argument of `eval'.
2008-03-06 09:51:44 +00:00
Ludovic Courtès
9cc37597af
Changes from arch/CVS synchronization
2007-12-08 16:00:56 +00:00
Neil Jerram
acbfb5946b
(unmemoize_delay): Extend the environment before
...
unmemoizing the promise thunk. This fixes a segmentation fault
reported by Frank Schwidom.
2007-10-21 20:43:14 +00:00
Ludovic Courtès
f743909974
Changes from arch/CVS synchronization
2007-07-29 15:16:46 +00:00
Ludovic Courtès
e08f3f7a30
Changes from arch/CVS synchronization
2007-07-24 23:17:54 +00:00
Ludovic Courtès
3dcf33733c
Changes from arch/CVS synchronization
2007-05-26 14:30:50 +00:00
Han-Wen Nienhuys
3d178652b8
* eval.c: remove superfluous ifndef DEVAL.
...
* eval.c: distangle. move duplicate code to eval.i.c and include
twice.
* backtrace.c, debug.c, debug.h, deprecation.c, eq.c, eval.c
eval.h, gsubr.c, init.c, macros.c, print.c, print.h, read.c,
read.h, stacks.c, symbols.c, throw.c: use private-options.h
2007-01-22 15:29:56 +00:00
Han-Wen Nienhuys
243ebb6113
* private-options.h: idem.
...
* eval.i.c: copyright nitpicking.
* eval.c: distangle. move duplicate code to eval.i.c and include
twice.
* eval.i.c: new file.
* backtrace.c, debug.c, debug.h, deprecation.c, eq.c, eval.c
eval.h, gsubr.c, init.c, macros.c, print.c, print.h, read.c,
read.h, stacks.c, symbols.c, throw.c: use private-options.h
* private-options.h: new file: contain hardcoded option
definitions.
2007-01-22 15:20:35 +00:00
Han-Wen Nienhuys
0ee05b85ee
* eval.c: distangle. move duplicate code to eval.i.c and include
...
twice.
* eval.i.c: new file.
* backtrace.c, debug.c, debug.h, deprecation.c, eq.c, eval.c
eval.h, gsubr.c, init.c, macros.c, print.c, print.h, read.c,
read.h, stacks.c, symbols.c, throw.c: use private-options.h
2007-01-22 15:16:44 +00:00
Han-Wen Nienhuys
72f19c2646
* debug.h (SCM_RESET_DEBUG_MODE): switch to debugging if
...
memoize-symbol is set.
* eval.h (SCM_MEMOIZE_HDLR): add macros for memoize symbol trap.
* eval.c (CEVAL): add memoize_symbol trap.
* read.c: idem.
* eval.c: terminate option lists with 0.
2007-01-19 20:05:05 +00:00
Han-Wen Nienhuys
b0763985c4
* srcprop.c: use double cell for storing source-properties. Put
...
filename in the plist, and share between srcprops if possible.
Remove specialized storage.
* srcprop.h: remove macros without SCM_ prefix from
interface. Remove specialized storage/type definitions.
* eval.c: terminate option lists with 0.
2007-01-19 19:33:10 +00:00
Han-Wen Nienhuys
6256065013
* readline.c: terminate option list with NULL.
...
* read.c: idem.
* print.c: idem.
* eval.c: terminate option lists with 0.
* options.c: remove n (for length) from scm_option_X
functions. Detect option list length by looking for NULL name.
2007-01-19 19:26:36 +00:00
Kevin Ryde
23d7256628
merge from 1.8
2007-01-15 23:42:45 +00:00
Kevin Ryde
8ab3d8a068
merge from 1.8 branch
2006-10-09 23:40:48 +00:00
Kevin Ryde
23f2b9a3de
merge from 1.8 branch
2006-06-17 23:15:59 +00:00
Kevin Ryde
2b829bbb3d
merge from 1.8 branch
2006-04-17 00:05:42 +00:00
Marius Vollmer
cce0e9c875
(scm_eval_body): Lock source_mutex with a dynwind context
...
so that it gets unlocked in all cases.
(SCM_APPLY, CEVAL): Likewise.
2006-01-29 23:12:01 +00:00
Marius Vollmer
2f263a6a0b
* futures.h, futures.c: Wrap whole contents in "#if 0"/"#endif".
...
* eval.c, init.c: Comment out all 'future' related things.
2006-01-29 19:09:52 +00:00
Marius Vollmer
661ae7ab6b
Renamed the "frames" that are related to dynamic-wind to "dynamic
...
contexts. Renamed all functions from scm_frame_ to scm_dynwind_.
Updated documentation.
2006-01-29 00:23:28 +00:00
Marius Vollmer
1fe1fc0a92
(scm_m_cond): Recognize SRFI 61 cond syntax.
...
(CEVAL): Evaluate SRFI 61 cond clauses.
2005-12-06 21:31:26 +00:00
Neil Jerram
7c9c0169b4
* eval.c (sym_instead): New symbol.
...
(ENTER_APPLY): Remove optional use of a continuation when making
trap call.
(scm_debug_opts): Change doc for 'cheap option to make clear that
it is now obsolete.
(CEVAL, SCM_APPLY): Remove optional use of a continuation when
making trap calls, and implement substitution of eval expressions
and return values using the values that the trap call handlers
return.
* debug.h (SCM_CHEAPTRAPS_P): Removed.
2005-11-04 21:20:24 +00:00
Marius Vollmer
d1138028c9
* null-threads.h, pthread-threads.h
...
(SCM_I_PTHREAD_RECURSIVE_MUTEX_INITIALIZER): Removed.
(scm_i_pthread_mutexattr_recursive): New.
* threads.c (scm_i_pthread_mutexattr_recursive): Declare.
(scm_i_critical_section_mutex): Do not initialize statically.
(scm_threads_prehistory): Initialize
scm_i_pthread_mutexattr_recursive and scm_i_critical_section_mutex
here.
* eval.c (source_mutex): Do not initialiaze statically.
(scm_init_eval): Do it here, using
scm_i_pthread_mutexattr_recursive.
2005-10-23 20:47:49 +00:00
Neil Jerram
5defc05d45
* eval.c (eval_letrec_inits): New.
...
(CEVAL): Eval letrec initializer forms using eval_letrec_inits.
* tests/r5rs_pitfall.test (1.1): Now passes.
2005-08-15 20:43:16 +00:00
Kevin Ryde
c3c97a34e7
(scm_dbg_make_iloc): Should be SCM_IFRAMEMAX and
...
SCM_IDISTMAX, and cast uints through scm_t_bits to make gcc happy.
Reported by Ken Raeburn.
2005-07-12 00:28:09 +00:00
Marius Vollmer
876099d4ef
(scm_eval_options_interface): Use scm_frame_critical_section instead
...
of SCM_CRITICAL_SECTION_START and SCM_CRITICAL_SECTION_END.
2005-06-06 18:49:55 +00:00
Marius Vollmer
e9ed042cbc
Added comment on how to make case 1.1 of r5rs_pitfall.test succeed.
2005-06-05 20:52:23 +00:00
Marius Vollmer
92205699d0
The FSF has a new address.
2005-05-23 19:57:22 +00:00
Neil Jerram
2b0fb0a50e
Critical section review.
2005-03-30 18:43:49 +00:00
Marius Vollmer
de527efba5
Define _GNU_SOURCE.
2005-03-04 12:11:10 +00:00
Marius Vollmer
9de87eea47
See ChangeLog from 2005-03-02.
2005-03-02 20:42:01 +00:00
Marius Vollmer
76da80e788
Reverted changed from 2005/01/24 19:14:54, which was a commit to the
...
wrong branch. Sorry.
2005-01-24 23:41:14 +00:00
Marius Vollmer
a54a94b397
Threading changes.
2005-01-24 19:14:54 +00:00
Marius Vollmer
65bc1f7a0b
* eval.c, debug.h (SCM_WARN_DEPRECATED): New debug option.
...
* deprecation.c (scm_issue_deprecation_warning,
scm_c_issue_deprecation_warning_fmt): Use it.
(mode): Removed.
(print_summary): New.
(scm_init_deprecation): Initialize SCM_WARN_DEPRECATED instead of
mode.
2005-01-11 17:43:37 +00:00
Marius Vollmer
6be1fab900
(scm_eval): Added example to docstring. Thanks to Issac Trotts!
2005-01-10 20:20:58 +00:00
Marius Vollmer
4057a3e05a
Use new vector elements API or simple vector API, as appropriate.
...
Removed SCM_HAVE_ARRAYS ifdefery. Replaced all uses of
SCM_HASHTABLE_BUCKETS with SCM_HASHTABLE_BUCKET.
2005-01-02 20:49:04 +00:00
Marius Vollmer
a61f4e0c61
(scm_eval, scm_apply, call_cxr_1): Use scm_i_chase_pairs
...
instead of explicit code.
2004-09-22 17:38:44 +00:00
Dirk Herrmann
5fa0939ce5
* eval.c (unmemoize_exprs): When dropping internal body markers
...
from the output during unmemoization, also drop those that are not
immediately at the beginning of a body.
2004-08-21 07:28:16 +00:00
Marius Vollmer
a03bad878b
(scm_lookupcar1): Report "Variable used before given a value" insetad
...
of an "Unbound" one for variables that are found but still contain
SCM_UNDEFINED.
2004-08-20 13:33:28 +00:00
Marius Vollmer
2d0c133f92
(scm_lookupcar1): Report an "Undefined variable" insetad of an
...
"Unbound" one for variables that are found but still contain
SCM_UNDEFINED.
2004-08-20 12:26:46 +00:00
Marius Vollmer
cc95e00ac6
* strings.h, strings.c: (scm_i_string_chars, scm_i_string_length,
...
scm_i_string_writable_chars, scm_i_string_stop_writing): New, to
replace SCM_I_STRING_CHARS and SCM_I_STRING_LENGTH. Updated all
uses.
(scm_i_make_string, scm_c_make_string): New, to replace
scm_allocate_string. Updated all uses.
(SCM_STRINGP, SCM_STRING_CHARS, SCM_STRING_UCHARS,
SCM_STRING_LENGTH): Deprecated.
(scm_allocate_string, scm_take_str, scm_take0str, scm_mem2string,
scm_str2string, scm_makfrom0str, scm_makfrom0str_opt):
Discouraged. Replaced all uses with scm_from_locale_string or
similar, as appropriate.
(scm_c_string_length, scm_c_string_ref, scm_c_string_set_x,
scm_c_substring, scm_c_substring_shared, scm_c_substring_copy,
scm_substring_shared, scm_substring_copy): New.
* symbols.c, symbols.h (SCM_SYMBOLP, SCM_SYMBOL_FUNC,
SCM_SET_SYMBOL_FUNC, SCM_SYMBOL_PROPS, SCM_SET_SYMBOL_PROPS,
SCM_SYMBOL_HASH, SCM_SYMBOL_INTERNED_P, scm_mem2symbol,
scm_str2symbol, scm_mem2uninterned_symbol): Discouraged.
(SCM_SYMBOL_LENGTH, SCM_SYMBOL_CHARS, scm_c_symbol2str):
Deprecated.
(SCM_MAKE_SYMBOL_TAG, SCM_SET_SYMBOL_LENGTH, SCM_SET_SYMBOL_CHARS,
SCM_PROP_SLOTS, SCM_SET_PROP_SLOTS): Removed.
(scm_is_symbol, scm_from_locale_symbol, scm_from_locale_symboln):
New, to replace scm_str2symbol and scm_mem2symbol, respectively.
Updated all uses.
(scm_gensym): Generate only the number suffix in the buffer, just
string-append the prefix.
2004-08-19 17:19:44 +00:00
Marius Vollmer
7f9994d904
* stime.c, socket.c, simpos.c, procs.c, posix.c, ports.c,
...
net_db.c, fports.c, filesys.c, eval.c, deprecation.c, dynl.c:
Replaced uses of SCM_STRING_CHARS with proper uses of
scm_to_locale_string. Replaced SCM_STRINGP with scm_is_string.
Replaced scm_mem2string with scm_from_locale_string.
* simpos.c, posix.c (allocate_string_pointers, environ_list_to_c):
Removed, replaced all uses with scm_i_allocate_string_pointers.
2004-08-10 14:08:02 +00:00
Marius Vollmer
d9a67fc441
(scm_make_real, scm_num2dbl, scm_float2num, scm_double2num):
...
Discouraged by moving to discouraged.h and discouraged.c.
Replaced all uses with scm_from_double.
(scm_num2float, scm_num2double): Discouraged by moving prototype
to discouraged.h and rewriting in terms of scm_to_double.
Replaced all uses with scm_to_double.
2004-08-03 15:06:12 +00:00
Marius Vollmer
385609b992
(SCM_EVALIM, SCM_EVALIM2, SCM_XEVAL, SCM_XEVALCAR): Renamed to SCM_I_*
...
in order to avoid collisions with the versions defined in
deprecated.h.
2004-08-02 15:48:58 +00:00
Marius Vollmer
bc36d0502b
* tags.h, deprecated.h (SCM_EQ_P): Deprecated by moving it into
...
deprecated.h. Replaced all uses with scm_is_eq.
2004-07-27 15:41:49 +00:00