1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-06 23:50:18 +02:00
Commit graph

9759 commits

Author SHA1 Message Date
Marius Vollmer
f76c6bb234 (gh_set_substr): Made src const.
* 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:18:25 +00:00
Marius Vollmer
272632a67c (scm_i_casei_streq): New, for counted strings.
* 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:17:43 +00:00
Marius Vollmer
3a5fb14dbc (scm_i_mode_bits_n): New, for counted strings.
(scm_mode_bits): Use it.
(scm_c_port_for_each): Blocking GC does not seem to work, allocate
a vector normally and fill that instead of consing a list with a
blocked GC.

* 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:17:22 +00:00
Marius Vollmer
468e87a786 (scm_memory_error): Do not try to throw, just abort.
Throwing will not work anyway.

* 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:16:49 +00:00
Marius Vollmer
6087fad9c7 (gc_section_count): Removed, thread-sleeping can not
be nested.
(scm_i_thread_put_to_sleep): Call scm_i_leave_guile before locking
admin mutex so that we can be put to sleep by other threads while
blocking on that mutex.  Lock all the heap mutex of all threads,
including ourselves.
(scm_i_thread_wake_up): Unlock all threads, including ourselves,
call scm_i_enter_guile.
(scm_thread_mark_stacks): Expect all threads to be suspended.
2004-08-19 17:16:01 +00:00
Marius Vollmer
3ee86942a7 * 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 16:49:42 +00:00
Marius Vollmer
eb01cb6494 * gc.h, gc.c (scm_i_gc_admin_mutex): New, to protect
scm_gc_mallocated, for now.
(scm_init_storage): Initialize it.
* gc-malloc.c (descrease_mtrigger, increase_mtrigger): Use it.

* gc-mark.c (scm_gc_mark_dependencies): Call scm_i_string_mark,
scm_i_stringbuf_mark and scm_i_symbol_mark, as appropriate.
* gc-card.c (scm_i_sweep_card):  Call scm_i_string_free,
scm_i_stringbuf_free and scm_i_symbol_free, as appropriate.
2004-08-19 16:48:38 +00:00
Marius Vollmer
fddf60002a (scm_tc7_stringbuf): New tag. 2004-08-19 16:41:30 +00:00
Marius Vollmer
82e0871c64 Align jao's name correctly. 2004-08-19 16:06:45 +00:00
Kevin Ryde
35ce851c9e New file. 2004-08-18 00:34:46 +00:00
Kevin Ryde
a158acd158 *** empty log message *** 2004-08-18 00:30:58 +00:00
Kevin Ryde
16e0c623d9 * tests/and-let-star.test, tests/arbiters.test, tests/receive.test:
New files.
	* Makefile.am (SCM_TESTS): Add them.
2004-08-18 00:30:29 +00:00
Kevin Ryde
66aa0ef0c5 New file. 2004-08-18 00:29:19 +00:00
Kevin Ryde
6ee5281f4e Add cond-expand-provide srfi-8, since this module provides that feature. 2004-08-18 00:25:39 +00:00
Kevin Ryde
00ed256c76 *** empty log message *** 2004-08-18 00:24:59 +00:00
Kevin Ryde
b4c0da9ce7 Add cond-expand-provide srfi-2, since this module provides that feature. 2004-08-18 00:22:25 +00:00
Kevin Ryde
86ff1823d5 *** empty log message *** 2004-08-18 00:13:51 +00:00
Kevin Ryde
a8d0313f69 (Internet Socket Examples): Correction to socket calls,
should be PF_INET not AF_INET (though generally the two are the same
value).
2004-08-18 00:12:44 +00:00
Kevin Ryde
0bd094c2ad (Network Sockets and Communication): Add SOCK_RDM and SOCK_SEQPACKET. 2004-08-17 23:58:56 +00:00
Kevin Ryde
1f3cc0d312 *** empty log message *** 2004-08-17 23:57:01 +00:00
Kevin Ryde
d6cd4c3601 *** empty log message *** 2004-08-17 23:53:07 +00:00
Kevin Ryde
6f637a1bc0 (scm_init_socket): Add SOCK_SEQPACKET and SOCK_RDM. 2004-08-17 23:44:25 +00:00
Kevin Ryde
52d1e968ac *** empty log message *** 2004-08-17 23:34:53 +00:00
Kevin Ryde
8a807b26c3 *** empty log message *** 2004-08-17 23:28:16 +00:00
Kevin Ryde
eb37258527 (fport_print): Use scm_ttyname instead of ttyname directly,
to get thread safety of scm_ttyname.
2004-08-17 23:27:11 +00:00
Kevin Ryde
8e4d7cdf06 (ttyname): Remove prototype, unused. 2004-08-17 23:22:23 +00:00
Kevin Ryde
b82cab94d6 (fractions): Correction, equal? 3/4 .75 should be #f, according to R5RS. 2004-08-17 23:20:11 +00:00
Kevin Ryde
728ad4b7cd (scm_equal_p): Remove real==fraction and fraction==real, they
must be #f according to R5RS.  (equal? follows eqv?, and for eqv? an
exact and inexact is #f.)
2004-08-17 23:19:04 +00:00
Kevin Ryde
b1fbeb53bb *** empty log message *** 2004-08-17 23:17:34 +00:00
Kevin Ryde
4f21b9e83f * tests/arbiters.test: New file
* Makefile.am (SCM_TESTS): Add it.
2004-08-17 23:17:06 +00:00
Kevin Ryde
7056d7c2e3 New file. 2004-08-17 23:15:14 +00:00
Kevin Ryde
95a58b3c32 (FETCH_STORE): New macro.
(SCM_LOCK_VAL, SCM_UNLOCK_VAL): New constants.
(SCM_LOCK_ARB, SCM_UNLOCK_ARB): Remove, effectively absorbed into
scm_try_arbiter and scm_release_arbiter.
(scm_try_arbiter, scm_release_arbiter): Use FETCH_STORE to get xchg
for speed on i386, otherwise using mutex.
2004-08-17 23:13:06 +00:00
Marius Vollmer
bc97364ab7 *** empty log message *** 2004-08-15 20:28:24 +00:00
Marius Vollmer
3514320f60 New, from Jose A Ortega Ruiz. Thanks! 2004-08-15 20:26:05 +00:00
Kevin Ryde
80b707b754 *** empty log message *** 2004-08-14 01:06:13 +00:00
Kevin Ryde
3cf066df9b (Mutexes): New datatype-centric section, adding
fair mutexes and collecting up material from ...
(Low level thread primitives, Higher level thread procedures, C level
thread interface): ... these nodes.
2004-08-14 01:02:37 +00:00
Kevin Ryde
02d9c82a02 *** empty log message *** 2004-08-14 00:55:00 +00:00
Kevin Ryde
5b4dba24ef Typo in:
(SRFI-13 Predicates): Add string-any and
string-every support for char and charset predicates.
2004-08-14 00:51:57 +00:00
Kevin Ryde
6ae50c7153 (SRFI-13 Predicates): Add string-any and
string-every support for char and charset predicates.
2004-08-14 00:48:32 +00:00
Kevin Ryde
3ff0e986f3 *** empty log message *** 2004-08-14 00:44:29 +00:00
Kevin Ryde
967c0904a0 (string-any, string-every): Exercise char and charset predicate cases. 2004-08-14 00:43:56 +00:00
Kevin Ryde
038a7484b6 *** empty log message *** 2004-08-14 00:39:01 +00:00
Kevin Ryde
788dafed64 (scm_string_any, scm_string_every): Add support for char
and charset as predicates, per SRFI-13 spec.
2004-08-14 00:37:53 +00:00
Marius Vollmer
fa0c0a4b12 *** empty log message *** 2004-08-13 12:28:38 +00:00
Marius Vollmer
11c5e0bf6b (scm_init_load_path): Do not pass NULL to scm_to_locale_string, which
would happen when GUILE_LOAD_PATH is not set.  Thanks to Bill
Schottstaedt.
2004-08-13 12:28:23 +00:00
Marius Vollmer
c41acab35c *** empty log message *** 2004-08-12 17:52:49 +00:00
Marius Vollmer
57d4d32fa3 (MY_VALIDATE_SUBSTRING_SPEC_COPY, MY_VALIDATE_STRING_COPY): Modernized
clones of the deprecated validation macros.  Replaced every use.
2004-08-12 17:49:59 +00:00
Marius Vollmer
8824ac88f0 * socket.c, rw.c, deprecated.h, validate.h
(SCM_VALIDATE_STRING_COPY): Deprecated.  Replaced all uses with
SCM_VALIDATE_STRING plus SCM_I_STRING_CHARS or
scm_to_locale_string, etc.
(SCM_VALIDATE_SUBSTRING_SPEC_COPY): Deprecated.  Replaced as
above, plus scm_i_get_substring_spec.

* regex-posix.c, read.c, random.c, ramap.c, print.c, numbers.c,
hash.c, gc.c, gc-card.c, convert.i.c, backtrace.c, strop.c,
strorder.c, strports.c, struct.c, symbols.c, unif.c, ports.c: Use
SCM_I_STRING_CHARS, SCM_I_STRING_UCHARS, and SCM_I_STRING_LENGTH
instead of SCM_STRING_CHARS, SCM_STRING_UCHARS, and
SCM_STRING_LENGTH, respectively.  Also, replaced scm_return_first
with more explicit scm_remember_upto_here_1, etc, or introduced
them in the first place.
2004-08-12 17:45:03 +00:00
Marius Vollmer
70f7ee4188 *** empty log message *** 2004-08-12 17:44:43 +00:00
Marius Vollmer
6f14f578d2 * strings.h, strings.c (scm_i_get_substring_spec): New.
* socket.c, rw.c, deprecated.h, validate.h
(SCM_VALIDATE_STRING_COPY): Deprecated.  Replaced all uses with
SCM_VALIDATE_STRING plus SCM_I_STRING_CHARS or
scm_to_locale_string, etc.
(SCM_VALIDATE_SUBSTRING_SPEC_COPY): Deprecated.  Replaced as
above, plus scm_i_get_substring_spec.
2004-08-12 17:43:41 +00:00