Andy Wingo
e7efe8e793
decruftify scm_sys_protects
...
* libguile/root.h
* libguile/root.c (scm_sys_protects): It used to be that for some reason
we'd define a special array of "protected" values. This was a little
silly, always, but with the BDW GC it's completely unnecessary. Also
many of these variables were unused, and none of them were good API.
So remove this array, and either eliminate, make static, or make
internal the various values.
* libguile/snarf.h: No need to generate calls to scm_permanent_object.
* guile-readline/readline.c (scm_init_readline): No need to call
scm_permanent_object.
* libguile/array-map.c (ramap, rafe): Remove the dubious nullvect
optimizations.
* libguile/async.c (scm_init_async): No need to init scm_asyncs, it is
no more.
* libguile/eval.c (scm_init_eval): No need to init scm_listofnull, it is
no more.
* libguile/gc.c: Make scm_protects a static var.
(scm_storage_prehistory): Change the sanity check to use the address
of protects.
(scm_init_gc_protect_object): No need to clear the scm_sys_protects,
as it is no more.
* libguile/keywords.c: Make the keyword obarray a static var.
* libguile/numbers.c: Make flo0 a static var.
* libguile/objprop.c: Make object_whash a static var.
* libguile/properties.c: Make properties_whash a static var.
* libguile/srcprop.h:
* libguile/srcprop.c: Make scm_source_whash a global with internal
linkage.
* libguile/strings.h:
* libguile/strings.c: Make scm_nullstr a global with internal linkage.
* libguile/vectors.c (scm_init_vectors): No need to init scm_nullvect,
it's unused.
2009-12-05 12:38:43 +01:00
Ludovic Courtès
fbb857a472
Merge branch 'master' into boehm-demers-weiser-gc
...
Conflicts:
lib/Makefile.am
libguile/Makefile.am
libguile/frames.c
libguile/gc-card.c
libguile/gc-freelist.c
libguile/gc-mark.c
libguile/gc-segment.c
libguile/gc_os_dep.c
libguile/load.c
libguile/macros.c
libguile/objcodes.c
libguile/programs.c
libguile/strings.c
libguile/vm.c
m4/gnulib-cache.m4
m4/gnulib-comp.m4
m4/inline.m4
2009-08-18 00:06:45 +02:00
Neil Jerram
53befeb700
Change Guile license to LGPLv3+
...
(Not quite finished, the following will be done tomorrow.
module/srfi/*.scm
module/rnrs/*.scm
module/scripts/*.scm
testsuite/*.scm
guile-readline/*
)
2009-06-17 00:22:09 +01:00
Ludovic Courtès
44e268898b
Merge branch 'master' into boehm-demers-weiser-gc
...
Conflicts:
lib/Makefile.am
libguile/gc-card.c
libguile/gc-freelist.c
libguile/gc-mark.c
libguile/gc-segment.c
libguile/gc.c
libguile/gc.h
libguile/gc_os_dep.c
libguile/private-gc.h
m4/.cvsignore
m4/gnulib-cache.m4
m4/gnulib-comp.m4
2008-09-13 22:51:27 +02:00
Ludovic Courtès
dbb605f575
Include <config.h> in all C files; use #ifdef HAVE_CONFIG_H' rather than
#if'.
2008-09-13 15:35:27 +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
Kevin Ryde
2b829bbb3d
merge from 1.8 branch
2006-04-17 00:05:42 +00:00
Marius Vollmer
92205699d0
The FSF has a new address.
2005-05-23 19:57:22 +00:00
Neil Jerram
a61b2054b4
Critical section review
2005-04-24 12:23:24 +00:00
Marius Vollmer
4e047c3e46
Include "libguile/async.h" for SCM_CRITICAL_SECTION_START/END.
2005-03-07 21:42:02 +00:00
Marius Vollmer
9de87eea47
See ChangeLog from 2005-03-02.
2005-03-02 20:42:01 +00:00
Marius Vollmer
d7212289db
* keywords.c (scm_symbol_to_keyword): Use SCM_ASSERT_TYPE for a
...
better error message.
2004-10-04 17:59:20 +00:00
Marius Vollmer
265a7997fb
* keywords.h, keywords.c, deprecated.h, deprecated.c
...
(SCM_KEYWORDP, SCM_KEYWORDSYM): Deprecated and implemented in
terms of scm_is_keyword and scm_keyword_dash_symbol.
* keywords.h, keywords.c, discouraged.h, discouraged.c
(scm_make_keyword_from_dash_symbol, scm_keyword_dash_symbol,
scm_c_make_keyword): Discouraged.
* keywords.h, keywords.c (scm_symbol_to_keyword,
scm_keyword_to_symbol): Implemented in C.
(scm_is_keyword, scm_from_locale_keyword,
scm_from_locale_keywordn): New.
2004-10-04 17:02:01 +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
7888309be8
* deprecated.h, boolean.h (SCM_FALSEP, SCM_NFALSEP, SCM_BOOL,
...
SCM_NEGATE_BOOL, SCM_BOOLP): Deprecated by moving into "deprecated.h".
Replaced all uses with scm_is_false, scm_is_true, scm_from_bool, and
scm_is_bool, respectively.
2004-07-06 10:59:25 +00:00
Marius Vollmer
73be1d9e8e
Changed license terms to the plain LGPL thru-out.
2003-04-05 19:15:35 +00:00
Mikael Djurfeldt
231a4ea849
* environments.c (DEFAULT_OBARRAY_SIZE): Changed from 137 to 31
...
(since hash tables now adapt their size).
* modules.c (scm_modules_prehistory): Changed from 2001 to 1533
(current number of prehistory bindings; hashtable code will select
a prime which is greater than this value).
* symbols.c (scm_symbols_prehistory): Changed from 1009 to 2139
(current number of initial symbols).
* properties.c (scm_init_properties): Don't specify size of
scm_properties_whash.
* objprop.c (scm_init_objprop): Don't specify size of
scm_object_whash.
* keywords.c (scm_init_keywords): Don't specify a hash table size.
2003-02-19 16:16:46 +00:00
Thien-Thi Nguyen
a6b844c224
Retire inclusion guard macro SCM_MAGIC_SNARFER.
2002-03-14 03:47:43 +00:00
Marius Vollmer
4c9419ac31
* gc.h, gc.c (scm_gc_sweep): Issue deprecation warning when
...
non-zero is returned from a port or smob free function.
(scm_malloc, scm_realloc, scm_strndup, scm_strdup,
scm_gc_register_collectable_memory,
scm_gc_unregister_collectable_memory, scm_gc_malloc,
scm_gc_realloc, scm_gc_free, scm_gc_strndup, scm_gc_strdup): New.
* backtrace.c, continuations.c, convert.i.c, coop-threads.c,
debug-malloc.c, dynl.c, environments.c, environments.h,
extensions.c, filesys.c, fports.c, gc.c, gc.h, gh_data.c, goops.c,
guardians.c, hooks.c, init.c, keywords.c, load.c, numbers.c,
ports.c, posix.c, procs.c, rdelim.c, regex-posix.c, root.c,
smob.c, stime.c, strings.c, struct.c, struct.h, symbols.c, unif.c,
vectors.c, weaks.c: Use scm_gc_malloc/scm_malloc and
scm_gc_free/free instead of scm_must_malloc and scm_must_free, as
appropriate. Return zero from smob and port free functions.
* debug-malloc.c (scm_malloc_reregister): Handle "old == NULL".
* fports.c (scm_setvbuf): Reset read buffer to saved values when
it is pointing to the putback buffer.
2002-02-11 18:06:50 +00:00
Thien-Thi Nguyen
a06e3a75b2
Remove "face-lift" comment.
2001-07-09 07:36:48 +00:00
Marius Vollmer
92c2555f69
replace "scm_*_t" with "scm_t_*".
2001-06-14 19:50:43 +00:00
Dirk Herrmann
bab246f334
* Fixed some bugs, some reported by Matthias Koeppe.
2001-06-08 10:02:33 +00:00
Dirk Herrmann
e81d98ec2d
* Introduce SCM_UNUSED and mark unused function parameters.
...
* Introduce SCM_DEBUG_PAIR_ACCESSES.
* Extend the possibilities of SCM_DEBUG_CELL_ACCESSES.
2001-06-07 21:12:19 +00:00
Marius Vollmer
4a68d142ae
(keyword_print): Substract 1 from length of symbol name, accounting
...
for the silly dash.
2001-06-04 22:17:17 +00:00
Marius Vollmer
ca3140213b
(keyword_print): Use scm_print_symbol_name so that
...
weird names are printed correctly.
2001-05-30 23:48:13 +00:00
Marius Vollmer
86d31dfe7d
Merge from mvo-vcell-cleanup-1-branch.
2001-05-15 14:57:22 +00:00
Martin Grabmüller
1e6808ea20
Correct, update, improve and clean up a lot of docstrings in order to make
...
the documentation much more consistent.
2001-04-03 13:19:05 +00:00
Dirk Herrmann
22a52da14d
* Replaced a lot of calls to SCM_C[AD]R with more appropriate macros.
...
* Minor cleanups to hashtable implementation.
* Minor code beautifications.
2001-03-30 15:03:23 +00:00
Keisuke Nishida
783e777478
Remove #include <stdio.h>. Add #include <string.h>.
2001-03-09 23:33:41 +00:00
Keisuke Nishida
9e6fc585b2
Remove dump facilities.
2001-03-02 23:41:18 +00:00
Keisuke Nishida
bf8f092280
Removed redundant code.
2001-02-06 02:12:10 +00:00
Keisuke Nishida
5f17c66f82
Minor modifications.
2001-02-05 19:14:20 +00:00
Keisuke Nishida
914cceec2c
New dump/undump scheme.
2001-02-05 08:46:21 +00:00
Keisuke Nishida
03416a991e
New files: dump.c, dump.h.
2001-02-03 04:59:16 +00:00
Keisuke Nishida
00ffa0e7d6
New functions: scm_c_make_vector, scm_c_make_hash_table.
2001-02-02 04:56:25 +00:00
Dirk Herrmann
13070bd3b0
* Added missing includes of string.h.
2001-01-26 17:30:54 +00:00
Dirk Herrmann
85db4a2c8e
* Initialize symbols using SCM_(GLOBAL_)?SYMBOL instead of scm_sysintern...
...
* Use scm_str2symbol instead of scm_sysintern0.
* Garbage collection initialization code now within gc.c only.
2000-12-11 14:48:23 +00:00
Keisuke Nishida
e841c3e0c0
Smob-related creanup.
2000-12-08 17:32:56 +00:00
Marius Vollmer
8dc9439fc6
* alist.c, arbiters.c, async.c, backtrace.c, boolean.c, chars.c,
...
continuations.c, debug-malloc.c, debug.c, dynl.c, dynwind.c,
environments.c, eq.c, error.c, eval.c, evalext.c, feature.c,
filesys.c, fluids.c, fports.c, gc.c, goops.c, guardians.c, hash.c,
hashtab.c, hooks.c, ioext.c, iselect.c, keywords.c, lang.c,
list.c, load.c, macros.c, modules.c, net_db.c, numbers.c,
objects.c, objprop.c, options.c, pairs.c, ports.c, posix.c,
print.c, procprop.c, procs.c, properties.c, ramap.c, random.c,
read.c, regex-posix.c, root.c, scmsigs.c, script.c, simpos.c,
socket.c, sort.c, srcprop.c, stackchk.c, stacks.c, stime.c,
strings.c, strop.c, strorder.c, strports.c, struct.c, symbols.c,
tag.c, threads.c, throw.c, unif.c, variable.c, vectors.c,
version.c, vports.c, weaks.c: Makes sure the snarfer output
inclusion is disabled when the snarfer is run on the file. Thanks
to Lars J. Aas!
* Makefile.am: Install guile-procedures.txt in version-specific
directory to enable multiple installed guile versions. Suggested
by Karl M. Hegbloom <karlheg@debian.org, patch by Matthias Koeppe.
2000-11-17 16:25:05 +00:00
Dirk Herrmann
a002f1a2cb
* Replaced a lot of references to SCM_CHARS.
2000-09-26 18:37:26 +00:00
Dirk Herrmann
86c991c2a2
* Replaced SCM_CHARS with SCM_STRING_CHARS or SCM_SYMBOL_CHARS.
2000-09-22 17:17:55 +00:00
Neil Jerram
872e0c7291
* macros.c: Remove surplus newlines from end of docstrings.
...
* list.c (scm_list_tail): Add @deffnx line to docstring for
list-cdr-ref.
* keywords.c: Docstring improvements in conjunction with new
reference manual doc on keywords.
* error.c (scm_error_scm): Fix texinfo syntax error in
docstring. (@code(~S) should be @code{~S}.)
* dynl.c: Remove surplus newlines from end of docstrings.
2000-08-11 15:12:37 +00:00
Mikael Djurfeldt
e8677eca92
* keywords.c (scm_tc16_kw): Removed deprecated type.
...
(Replaced by scm_tc16_keyword.)
2000-06-12 11:59:24 +00:00
Dirk Herrmann
f5f2dcffbe
* Wrapped deprecated code between #if (SCM_DEBUG_DEPRECATED == 0) #endif.
...
* Replace use of deprecated macros SCM_INPORTP, SCM_OUTPORTP, SCM_ICHRP.
2000-05-15 11:47:48 +00:00
Mikael Djurfeldt
a059974535
* Makefile.am (DEFS): Added. automake adds -I options to DEFS,
...
and we don't want that.
(INCLUDES): Removed all -I options except for the root source
directory and the root build directory.
* *.*: Change includes so that they always use the "prefixes"
libguile/, qt/, guile-readline/, or libltdl/.
(Thanks to Tim Mooney.)
2000-04-21 14:16:44 +00:00
Dirk Herrmann
54778cd312
Lots of fixes to make guile (at some time) compile with strict typing.
2000-04-03 08:47:51 +00:00
Michael Livshin
89e00824a0
* *.[hc]: add Emacs magic at the end of file, to ensure GNU
...
indentation style.
2000-03-19 19:01:16 +00:00
Dirk Herrmann
ba11fd4cb6
Only include root.h where it is actually needed.
2000-03-18 08:44:04 +00:00
Dirk Herrmann
f04d8caf82
Only include ports.h where it is actually needed.
2000-03-17 16:10:13 +00:00
Dirk Herrmann
003d1fd046
Only include vectors.h in those files, where it is actually needed.
2000-03-17 15:23:03 +00:00