Marius Vollmer [Thu, 19 Aug 2004 17:54:37 +0000 (17:54 +0000)]
*** empty log message ***
Marius Vollmer [Thu, 19 Aug 2004 17:30:03 +0000 (17:30 +0000)]
*** empty log message ***
Marius Vollmer [Thu, 19 Aug 2004 17:28:53 +0000 (17:28 +0000)]
Avoid the use of discouraged or deprecated things.
Marius Vollmer [Thu, 19 Aug 2004 17:22:35 +0000 (17:22 +0000)]
*** empty log message ***
Marius Vollmer [Thu, 19 Aug 2004 17:22:20 +0000 (17:22 +0000)]
* srfi-13.h, srfi-13.c: (scm_substring_shared): Renamed to
scm_substring_sharedS.
* srfi-14.c, srfi-13.c: Adapted to new internal string and symbol
API.
Marius Vollmer [Thu, 19 Aug 2004 17:21:22 +0000 (17:21 +0000)]
Adapted to new internal string and symbol API.
Marius Vollmer [Thu, 19 Aug 2004 17:20:44 +0000 (17:20 +0000)]
(substring/shared): Export as replacement since we now have a version
in the core.
Marius Vollmer [Thu, 19 Aug 2004 17:19:44 +0000 (17:19 +0000)]
* 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.
Marius Vollmer [Thu, 19 Aug 2004 17:18:25 +0000 (17:18 +0000)]
(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.
Marius Vollmer [Thu, 19 Aug 2004 17:17:43 +0000 (17:17 +0000)]
(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.
Marius Vollmer [Thu, 19 Aug 2004 17:17:22 +0000 (17:17 +0000)]
(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.
Marius Vollmer [Thu, 19 Aug 2004 17:16:49 +0000 (17:16 +0000)]
(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.
Marius Vollmer [Thu, 19 Aug 2004 17:16:01 +0000 (17:16 +0000)]
(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.
Marius Vollmer [Thu, 19 Aug 2004 16:49:42 +0000 (16:49 +0000)]
* 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.
Marius Vollmer [Thu, 19 Aug 2004 16:48:38 +0000 (16:48 +0000)]
* 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.
Marius Vollmer [Thu, 19 Aug 2004 16:41:30 +0000 (16:41 +0000)]
(scm_tc7_stringbuf): New tag.
Marius Vollmer [Thu, 19 Aug 2004 16:06:45 +0000 (16:06 +0000)]
Align jao's name correctly.
Kevin Ryde [Wed, 18 Aug 2004 00:34:46 +0000 (00:34 +0000)]
New file.
Kevin Ryde [Wed, 18 Aug 2004 00:30:58 +0000 (00:30 +0000)]
*** empty log message ***
Kevin Ryde [Wed, 18 Aug 2004 00:30:29 +0000 (00:30 +0000)]
* tests/and-let-star.test, tests/arbiters.test, tests/receive.test:
New files.
* Makefile.am (SCM_TESTS): Add them.
Kevin Ryde [Wed, 18 Aug 2004 00:29:19 +0000 (00:29 +0000)]
New file.
Kevin Ryde [Wed, 18 Aug 2004 00:25:39 +0000 (00:25 +0000)]
Add cond-expand-provide srfi-8, since this module provides that feature.
Kevin Ryde [Wed, 18 Aug 2004 00:24:59 +0000 (00:24 +0000)]
*** empty log message ***
Kevin Ryde [Wed, 18 Aug 2004 00:22:25 +0000 (00:22 +0000)]
Add cond-expand-provide srfi-2, since this module provides that feature.
Kevin Ryde [Wed, 18 Aug 2004 00:13:51 +0000 (00:13 +0000)]
*** empty log message ***
Kevin Ryde [Wed, 18 Aug 2004 00:12:44 +0000 (00:12 +0000)]
(Internet Socket Examples): Correction to socket calls,
should be PF_INET not AF_INET (though generally the two are the same
value).
Kevin Ryde [Tue, 17 Aug 2004 23:58:56 +0000 (23:58 +0000)]
(Network Sockets and Communication): Add SOCK_RDM and SOCK_SEQPACKET.
Kevin Ryde [Tue, 17 Aug 2004 23:57:01 +0000 (23:57 +0000)]
*** empty log message ***
Kevin Ryde [Tue, 17 Aug 2004 23:53:07 +0000 (23:53 +0000)]
*** empty log message ***
Kevin Ryde [Tue, 17 Aug 2004 23:44:25 +0000 (23:44 +0000)]
(scm_init_socket): Add SOCK_SEQPACKET and SOCK_RDM.
Kevin Ryde [Tue, 17 Aug 2004 23:34:53 +0000 (23:34 +0000)]
*** empty log message ***
Kevin Ryde [Tue, 17 Aug 2004 23:28:16 +0000 (23:28 +0000)]
*** empty log message ***
Kevin Ryde [Tue, 17 Aug 2004 23:27:11 +0000 (23:27 +0000)]
(fport_print): Use scm_ttyname instead of ttyname directly,
to get thread safety of scm_ttyname.
Kevin Ryde [Tue, 17 Aug 2004 23:22:23 +0000 (23:22 +0000)]
(ttyname): Remove prototype, unused.
Kevin Ryde [Tue, 17 Aug 2004 23:20:11 +0000 (23:20 +0000)]
(fractions): Correction, equal? 3/4 .75 should be #f, according to R5RS.
Kevin Ryde [Tue, 17 Aug 2004 23:19:04 +0000 (23:19 +0000)]
(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.)
Kevin Ryde [Tue, 17 Aug 2004 23:17:34 +0000 (23:17 +0000)]
*** empty log message ***
Kevin Ryde [Tue, 17 Aug 2004 23:17:06 +0000 (23:17 +0000)]
* tests/arbiters.test: New file
* Makefile.am (SCM_TESTS): Add it.
Kevin Ryde [Tue, 17 Aug 2004 23:15:14 +0000 (23:15 +0000)]
New file.
Kevin Ryde [Tue, 17 Aug 2004 23:13:06 +0000 (23:13 +0000)]
(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.
Marius Vollmer [Sun, 15 Aug 2004 20:28:24 +0000 (20:28 +0000)]
*** empty log message ***
Marius Vollmer [Sun, 15 Aug 2004 20:26:05 +0000 (20:26 +0000)]
New, from Jose A Ortega Ruiz. Thanks!
Kevin Ryde [Sat, 14 Aug 2004 01:06:13 +0000 (01:06 +0000)]
*** empty log message ***
Kevin Ryde [Sat, 14 Aug 2004 01:02:37 +0000 (01:02 +0000)]
(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.
Kevin Ryde [Sat, 14 Aug 2004 00:55:00 +0000 (00:55 +0000)]
*** empty log message ***
Kevin Ryde [Sat, 14 Aug 2004 00:51:57 +0000 (00:51 +0000)]
Typo in:
(SRFI-13 Predicates): Add string-any and
string-every support for char and charset predicates.
Kevin Ryde [Sat, 14 Aug 2004 00:48:32 +0000 (00:48 +0000)]
(SRFI-13 Predicates): Add string-any and
string-every support for char and charset predicates.
Kevin Ryde [Sat, 14 Aug 2004 00:44:29 +0000 (00:44 +0000)]
*** empty log message ***
Kevin Ryde [Sat, 14 Aug 2004 00:43:56 +0000 (00:43 +0000)]
(string-any, string-every): Exercise char and charset predicate cases.
Kevin Ryde [Sat, 14 Aug 2004 00:39:01 +0000 (00:39 +0000)]
*** empty log message ***
Kevin Ryde [Sat, 14 Aug 2004 00:37:53 +0000 (00:37 +0000)]
(scm_string_any, scm_string_every): Add support for char
and charset as predicates, per SRFI-13 spec.
Marius Vollmer [Fri, 13 Aug 2004 12:28:38 +0000 (12:28 +0000)]
*** empty log message ***
Marius Vollmer [Fri, 13 Aug 2004 12:28:23 +0000 (12:28 +0000)]
(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.
Marius Vollmer [Thu, 12 Aug 2004 17:52:49 +0000 (17:52 +0000)]
*** empty log message ***
Marius Vollmer [Thu, 12 Aug 2004 17:49:59 +0000 (17:49 +0000)]
(MY_VALIDATE_SUBSTRING_SPEC_COPY, MY_VALIDATE_STRING_COPY): Modernized
clones of the deprecated validation macros. Replaced every use.
Marius Vollmer [Thu, 12 Aug 2004 17:45:03 +0000 (17:45 +0000)]
* 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.
Marius Vollmer [Thu, 12 Aug 2004 17:44:43 +0000 (17:44 +0000)]
*** empty log message ***
Marius Vollmer [Thu, 12 Aug 2004 17:43:41 +0000 (17:43 +0000)]
* 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.
Marius Vollmer [Thu, 12 Aug 2004 17:43:17 +0000 (17:43 +0000)]
* 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.
Marius Vollmer [Thu, 12 Aug 2004 17:38:52 +0000 (17:38 +0000)]
(scm_system): Convert SCM strings to locale strings instead of
accessing their internals.
Marius Vollmer [Thu, 12 Aug 2004 17:35:53 +0000 (17:35 +0000)]
Convert version to locale string before printing it.
Marius Vollmer [Thu, 12 Aug 2004 17:32:15 +0000 (17:32 +0000)]
(scm_read_delimited_x): Avoid
SCM_VALIDATE_SUBSTRING_SPEC_COPY and use scm_from_size_t instead
of scm_from_long for the returned number of read characters.
Marius Vollmer [Thu, 12 Aug 2004 17:32:07 +0000 (17:32 +0000)]
(STRING_SYSCALL, STRING2_SYSCALL): New helper macros.
Use them instead of SCM_SYSCALL when one or two strings need to be
converted into locale strings.
(my_rename): New, gathers platform dependent code for renaming.
(scm_rename): Use it.
(scm_readlink, scm_copy_file): Convert SCM strings to locale
strings instead of accessing their internals.
(scm_basename, scm_dirname): Use SCM_I_STRING_CHARS and
SCM_I_STRING_LENGTH instead of SCM_STRING_CHARS and
SCM_STRING_LENGTH.
Marius Vollmer [Thu, 12 Aug 2004 17:28:06 +0000 (17:28 +0000)]
(WITH_STRING): New helper macro. Use it where one
locale string is needed for a short piece of code.
(STRING_SYSCALL): New helper macro. Use it instead of SCM_SYSCALL
when one locale string is needed.
(scm_mkstemp): Convert tmpl to a locale string.
(scm_putenv): Rewritten to use only C strings.
(scm_setlocale, scm_crpt): Convert argument strings to locale
strings.
Marius Vollmer [Thu, 12 Aug 2004 17:16:49 +0000 (17:16 +0000)]
(scm_fdopen): Use scm_i_fdes_to_port together with scm_i_mode_bits to
avoid accessing internals of SCM string from C.
Marius Vollmer [Thu, 12 Aug 2004 17:06:37 +0000 (17:06 +0000)]
(load_extension): Convert lib and init to locale
strings instead of accessing the internals directly.
(scm_c_load_extension): Use scm_from_locale_string instead of
scm_makfrom0str.
Marius Vollmer [Thu, 12 Aug 2004 17:03:36 +0000 (17:03 +0000)]
* fports.h, fports.c (scm_i_fdes_to_port): New, like
scm_fdes_to_port, but take mode bits directly instead of as a C
string.
(scm_i_fdes_to_port): Implement using above.
(scm_open_file): Use scm_i_fdes_to_port together with
scm_i_mode_bits to avoid accessing internals of SCM string from C.
* vports.c (scm_make_soft_port): Use scm_i_fdes_to_port together
with scm_i_mode_bits to avoid accessing internals of SCM string
from C.
* ports.h (scm_i_mode_bits): New, same as scm_mode_bits but with a
SCM string as argument.
* ports.c (scm_i_void_port): New, like scm_void_port but take mode
bits directly instead of C string.
(scm_void_port): Implement using above.
(scm_sys_make_void_port): Use scm_i_void_port together with
scm_i_mode_bits to avoid accessing internals of SCM string.
* convert.i.c, backtrace.c, strop.c, strorder.c, strports.c,
struct.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.
Marius Vollmer [Thu, 12 Aug 2004 11:57:42 +0000 (11:57 +0000)]
(scm_primitive_load_path): Do not check for absolute filenames when
scm_sys_search_load_path returns false, which will return absolute
filenames unchanged.
Marius Vollmer [Wed, 11 Aug 2004 19:39:44 +0000 (19:39 +0000)]
*** empty log message ***
Marius Vollmer [Wed, 11 Aug 2004 19:38:58 +0000 (19:38 +0000)]
(scm_init_storage, scm_stand_in_procs, scm_stand_in_proc): Use a
hastable for scm_stand_in_procs instead of an alist. Thanks to
Matthias Koeppe!
Marius Vollmer [Wed, 11 Aug 2004 19:36:55 +0000 (19:36 +0000)]
(scm_c_round, scm_c_truncate): Docs for'em.
Marius Vollmer [Tue, 10 Aug 2004 15:59:31 +0000 (15:59 +0000)]
Removed commented out debugging fprintfs.
Marius Vollmer [Tue, 10 Aug 2004 15:58:57 +0000 (15:58 +0000)]
Typos.
Marius Vollmer [Tue, 10 Aug 2004 15:45:58 +0000 (15:45 +0000)]
*** empty log message ***
Marius Vollmer [Tue, 10 Aug 2004 15:45:49 +0000 (15:45 +0000)]
(test_locale_strings): New.
Marius Vollmer [Tue, 10 Aug 2004 14:16:46 +0000 (14:16 +0000)]
*** empty log message ***
Marius Vollmer [Tue, 10 Aug 2004 14:16:34 +0000 (14:16 +0000)]
Updated example to use scm_to_locale_string
instead of roll-your-own scm_to_string. Also showcase
scm_frame_free.
Marius Vollmer [Tue, 10 Aug 2004 14:15:33 +0000 (14:15 +0000)]
Docs for scm_is_string, scm_to_locale_string*, and
scm_from_locale_string*.
Marius Vollmer [Tue, 10 Aug 2004 14:14:46 +0000 (14:14 +0000)]
Docs for scm_frame_free.
Marius Vollmer [Tue, 10 Aug 2004 14:08:02 +0000 (14:08 +0000)]
* 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.
Marius Vollmer [Tue, 10 Aug 2004 14:07:35 +0000 (14:07 +0000)]
*** empty log message ***
Marius Vollmer [Tue, 10 Aug 2004 14:06:59 +0000 (14:06 +0000)]
(scm_mkstrport): Use SCM_I_STRING_UCHARS instead of SCM_STRING_UCHARS.
Use SCM_I_STRINGP instead of SCM_STRINGP.
Marius Vollmer [Tue, 10 Aug 2004 14:05:14 +0000 (14:05 +0000)]
(scm_i_index): Replaced SCM_STRINGP, SCM_STRING_CHARS, and
SCM_STRING_LENGTH with SCM_I_STRINGP, SCM_I_STRING_CHARS, and
SCM_I_STRING_LENGTH, respectively. Pass string object directly, not
as a pointer. Use scm_remember_upto_here_1 to protect it.
Marius Vollmer [Tue, 10 Aug 2004 13:54:16 +0000 (13:54 +0000)]
* 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.
* posix.c (allocate_string_pointers, environ_list_to_c): Removed,
replaced all uses with scm_i_allocate_string_pointers.
Marius Vollmer [Tue, 10 Aug 2004 13:54:01 +0000 (13:54 +0000)]
(scm_input_error): Use a SCM value for 'fn', not a C string. This
avoids a conversion round-trip.
Marius Vollmer [Tue, 10 Aug 2004 13:43:55 +0000 (13:43 +0000)]
Replaced SCM_STRINGP, SCM_STRING_CHARS, and
SCM_STRING_LENGTH with SCM_I_STRINGP, SCM_I_STRING_CHARS, and
SCM_I_STRING_LENGTH, respectively.
(gh_scm2newstr): Implement in terms of scm_to_locale_string.
Marius Vollmer [Tue, 10 Aug 2004 13:37:11 +0000 (13:37 +0000)]
(scm_error_scm): Throw directly instead of calling
scm_error, this avoids the back and forth conversion of SUBR and
MESSAGE and also plugs a memory leak.
(scm_error): Call scm_error_scm.
Marius Vollmer [Tue, 10 Aug 2004 13:36:45 +0000 (13:36 +0000)]
Instead calling scm_puts on the SCM_STRING_CHARS of a string, call
scm_display on the string itself.
Marius Vollmer [Tue, 10 Aug 2004 13:35:28 +0000 (13:35 +0000)]
(scm_frame_free): New.
Marius Vollmer [Tue, 10 Aug 2004 13:31:22 +0000 (13:31 +0000)]
* backtrace.c: Replaced SCM_STRINGP with scm_is_string.
(display_header): Print FNAME when it is true, not
merely when it is a string.
Marius Vollmer [Tue, 10 Aug 2004 13:30:12 +0000 (13:30 +0000)]
(scm_internal_parse_path): Removed.
(scm_parse_path): Use scm_string_split to do the work.
(scm_init_load_path): Use scm_parse_path instead of
scm_internal_parse_path.
(scm_search_path): Rewritten string handling part of the code in
terms of scm_to_locale_stringbuf and so that it is thread safe.
Marius Vollmer [Tue, 10 Aug 2004 13:20:59 +0000 (13:20 +0000)]
* strings.h, deprecated.h (SCM_STRING_COERCE_0TERMINATION_X):
Moved from string.h to deprecated.h.
* deprecated.c, deprecated.h (SCM_CHARS, SCM_LENGTH): Removed.
* strings.h, strings.c (SCM_MAKE_STRING_TAG): Rename dto
SCM_I_MAKE_STRING_TAG, changed all uses.
(SCM_STRING_CHARS, SCM_STRING_UCHARS, SCM_STRING_LENGTH): Renamed
to SCM_I_STRING_CHARS, SCM_I_STRING_UCHARS, and SCM_I_LENGTH
respectively. For a short time, the old names are still there as
aliases. Not all uses have been changed yet, but the ones in
strings.c have.
(SCM_STRING_MAX_LEN): Do not hardcode to 24 bits, compute from
SCM_T_BITS_MAX.
(scm_is_string, scm_from_locale_string, scm_from_locale_stringn,
scm_take_locale_string, scm_take_locale_stringn,
scm_to_locale_string, scm_to_locale_stringn,
scm_to_locale_stringbuf): New.
(scm_c_string2str, scm_c_substring2str): Deprecated by moving to
deprecated.[hc]. Implemented in terms of the new functions above.
(scm_take_str, scm_take0str, scm_mem2string, scm_str2string,
scm_makfrom0str): Reimplemented in terms of the new functions from
above. They will be discouraged shortly.
(scm_substring): Do not use scm_mem2string.
(scm_i_allocate_string_pointers, scm_i_free_string_pointers): New,
to replace similar code from posix.c, simpos.c, and dynl.c.
(scm_string_append): Use memcpy instead of explicit loop. Do not
use register keyword. Use plain 'char' instead of 'unsigned
char'.
Marius Vollmer [Tue, 10 Aug 2004 12:20:02 +0000 (12:20 +0000)]
*** empty log message ***
Marius Vollmer [Tue, 10 Aug 2004 12:19:49 +0000 (12:19 +0000)]
Replaced all uses of scm_round with scm_c_round.
Kevin Ryde [Tue, 10 Aug 2004 00:52:50 +0000 (00:52 +0000)]
More of: New file.
Marius Vollmer [Mon, 9 Aug 2004 23:33:27 +0000 (23:33 +0000)]
*** empty log message ***
Marius Vollmer [Mon, 9 Aug 2004 23:32:14 +0000 (23:32 +0000)]
(scm_round, scm_truncate): Renamed to scm_c_round and scm_c_truncate;
deprecated versions installed in deprecated.h and deprecated.c.
Changed all uses.
Marius Vollmer [Mon, 9 Aug 2004 21:58:14 +0000 (21:58 +0000)]
Removed caveat that pretty-print uses its own 'write' implementation.
Marius Vollmer [Mon, 9 Aug 2004 21:56:19 +0000 (21:56 +0000)]
*** empty log message ***
Marius Vollmer [Mon, 9 Aug 2004 21:56:00 +0000 (21:56 +0000)]
(generic-write): In the local procedure `wr', use object->string to
print all data (except for the reader macros), rather than
implementing an own printer. The user-visible difference is that
procedures and control characters like #\tab are now printed in the
same way as by `write'.