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

4687 commits

Author SHA1 Message Date
Marius Vollmer
1206efbe07 * symbols.h, symbols.c (scm_string_ci_to_symbol): Moved here, next
to scm_string_to_symbol.

* deprecated.c, load.c, posix.c, unif.c, symbols.c: Include
"srfi-13.h" instead of "strop.h".
2004-08-24 22:13:27 +00:00
Marius Vollmer
2c0b7c1fa0 (scm_string_equal_p, scm_string_ci_equal_p, scm_string_less_p,
scm_string_leq_p, scm_string_gr_p, scm_string_geq_p,
scm_string_ci_less_p, scm_string_ci_leq_p, scm_string_ci_gr_p,
scm_string_ci_geq_p): Use scm_string_eq, etc instead of explicit code.
2004-08-24 22:13:14 +00:00
Marius Vollmer
ad45f6b325 (scm_init_guile_1): Call scm_init_srfi_13 and scm_init_srfi_14. Do
not call scm_init_strop.
2004-08-24 22:13:07 +00:00
Marius Vollmer
1fdbbd4cd6 (scm_char_alphabetic_p, scm_char_numeric_p, scm_char_whitespace_p,
scm_upper_case_p, scm_lower_case_p, scm_char_is_both_p): Use
scm_char_set_contains_p with the proper charset instead of libc
functions.
2004-08-24 22:12:59 +00:00
Marius Vollmer
c44ca4fe75 Include "srfi-13.h" instead of "strop.h". 2004-08-24 22:12:37 +00:00
Marius Vollmer
63181a97f5 * srfi-13.c, srfi-13.h, srfi-14.c, srfi-14.h: New files.
* strop.h, strop.c: Removed, they are now empty.
* Makefile.am: Updated for new and removed files.
2004-08-24 22:12:08 +00:00
Marius Vollmer
4b0d27f266 *** empty log message *** 2004-08-24 16:44:00 +00:00
Marius Vollmer
b1092b3aaf (scm_inf_p): Synced docstring back from manual. 2004-08-24 16:43:50 +00:00
Marius Vollmer
3ece39d651 *** empty log message *** 2004-08-22 19:31:32 +00:00
Marius Vollmer
e1b29f6a58 (get_str_buf_start): New helper function.
(scm_i_substring, scm_i_substring_copy, scm_i_substring_shared,
scm_i_string_char, scm_i_string_writable_chars): Use it.
(scm_i_substring_copy): Make START argument optional for C
callers, for upcoming SRFI-13 integration.
2004-08-22 19:29:19 +00:00
Marius Vollmer
caa29067e7 (scm_compile_shell_switches): added '-L' switch to add to the
%load-path.
2004-08-22 19:25:51 +00:00
Kevin Ryde
ae0b6bf5df Move variables to avoid c99-isms in recent:
(scm_try_arbiter, scm_release_arbiter): Use FETCH_STORE ...
Noticed by Andreas Vögele.
2004-08-22 01:49:10 +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
c1f54b3dda *** empty log message *** 2004-08-20 13:33:39 +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
2146fdebd8 *** empty log message *** 2004-08-20 12:27:11 +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
892065da6c (scm_mkstemp): Correction to the correction, mkstemp expects a
null-terminated string in the locale encoding, but
scm_i_string_writable_chars doesn't give that.  Fixed by letting
mkstemp modify a locale version of the tmpl argument and copying the
result back into tmpl.
2004-08-20 12:25:20 +00:00
Marius Vollmer
a54264f04e (scm_substring_move_x): Store into str2, not str1. 2004-08-20 12:25:09 +00:00
Kevin Ryde
d4f76919e6 *** empty log message *** 2004-08-20 01:35:44 +00:00
Kevin Ryde
71978ac9f6 (scm_mkstemp): Correction to new locale_string stuff, need
to modify the input string.
2004-08-20 01:32:36 +00:00
Marius Vollmer
b5247a6ba8 *** empty log message *** 2004-08-19 20:40:16 +00:00
Marius Vollmer
ba16a103a4 (SCM_SYMBOL_CHARS): Cast away const in return.
(SCM_SYMBOL_LENGTH): It's scm_i_symbol_length, not
scm_c_symbol_length.
2004-08-19 20:36:29 +00:00
Marius Vollmer
ece721f031 Added comment about future improvements... 2004-08-19 20:34:58 +00:00
Marius Vollmer
cd505b38ad *** empty log message *** 2004-08-19 18:41:17 +00:00
Marius Vollmer
d6a1cb3cc6 (scm_string_copy): Use scm_c_substring to get a copy-on-write string. 2004-08-19 18:41:05 +00:00
Marius Vollmer
f26b939545 *** empty log message *** 2004-08-19 17:22:35 +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
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
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
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
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
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
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
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
Marius Vollmer
396e5506d6 * socket.c (scm_inet_aton, scm_inet_pton): Convert SCM strings to
locale strings instead of accessing their internals.
(scm_recv, scm_send, scm_recvfrom, scm_sendto): Use
SCM_I_STRING_CHARS and SCM_I_STRING_LENGTH instead of
SCM_STRING_CHARS and SCM_STRING_LENGTH.

* 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:17 +00:00