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

5232 commits

Author SHA1 Message Date
Marius Vollmer
86e14f5c3b (scm_fdopen): Use scm_i_fdes_to_port together with scm_i_mode_bits to
avoid accessing internals of SCM string from C.
2004-08-12 17:16:49 +00:00
Marius Vollmer
4695c75947 (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.
2004-08-12 17:06:37 +00:00
Marius Vollmer
d617ee1895 * 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.
2004-08-12 17:03:36 +00:00
Marius Vollmer
ffa747a6ea (scm_primitive_load_path): Do not check for absolute filenames when
scm_sys_search_load_path returns false, which will return absolute
filenames unchanged.
2004-08-12 11:57:42 +00:00
Marius Vollmer
bb26cc2d28 *** empty log message *** 2004-08-11 19:39:44 +00:00
Marius Vollmer
82c76fd357 (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!
2004-08-11 19:38:58 +00:00
Marius Vollmer
214195e127 Removed commented out debugging fprintfs. 2004-08-10 15:59:31 +00:00
Marius Vollmer
f9751e8660 *** empty log message *** 2004-08-10 14:16:46 +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
02573e4c7a *** empty log message *** 2004-08-10 14:07:35 +00:00
Marius Vollmer
ebea155a3c (scm_mkstrport): Use SCM_I_STRING_UCHARS instead of SCM_STRING_UCHARS.
Use SCM_I_STRINGP instead of SCM_STRINGP.
2004-08-10 14:06:59 +00:00
Marius Vollmer
7fd0a36919 (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.
2004-08-10 14:05:14 +00:00
Marius Vollmer
7f03f97036 * 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.
2004-08-10 13:54:16 +00:00
Marius Vollmer
29a837fd27 (scm_input_error): Use a SCM value for 'fn', not a C string. This
avoids a conversion round-trip.
2004-08-10 13:54:01 +00:00
Marius Vollmer
79c98b33fe 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.
2004-08-10 13:43:55 +00:00
Marius Vollmer
24d1f17168 (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.
2004-08-10 13:37:11 +00:00
Marius Vollmer
18f9d34373 Instead calling scm_puts on the SCM_STRING_CHARS of a string, call
scm_display on the string itself.
2004-08-10 13:36:45 +00:00
Marius Vollmer
6d5649b7b8 (scm_frame_free): New. 2004-08-10 13:35:28 +00:00
Marius Vollmer
3b9ee0a4f8 * backtrace.c: Replaced SCM_STRINGP with scm_is_string.
(display_header): Print FNAME when it is true, not
merely when it is a string.
2004-08-10 13:31:22 +00:00
Marius Vollmer
7d04d68bf7 (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.
2004-08-10 13:30:12 +00:00
Marius Vollmer
c829a4274f * 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'.
2004-08-10 13:20:59 +00:00
Marius Vollmer
409eb4e54f *** empty log message *** 2004-08-09 23:33:27 +00:00
Marius Vollmer
3101f40f76 (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.
2004-08-09 23:32:14 +00:00
Rob Browning
63ce14e776 (scm_resolv_error): don't cause an exception while
trying to throw an exception -- call scm_misc_error with correct
arguments.  The previous arguments needed a format escape that
wasn't in any of the format strings.
2004-08-07 03:48:17 +00:00
Rob Browning
a00eaf19f8 *** empty log message *** 2004-08-07 03:48:03 +00:00
Kevin Ryde
f8a8200bc0 Amend #if and comments for cmp_d and get_d about unreleased gmp, don't
know when or as what version number it will come out.
2004-08-06 01:26:26 +00:00
Kevin Ryde
8f094b9720 *** empty log message *** 2004-08-06 01:08:37 +00:00
Kevin Ryde
4d6ed8fe44 (scm_array_fill_x): For byvect char fill, force signed char
so as not to depend on signedness of plain char.  For byvect range
check, throw out-of-range rather than wrong-type-arg.
2004-08-06 01:04:05 +00:00
Kevin Ryde
bcb88c93fa *** empty log message *** 2004-08-06 00:29:13 +00:00
Kevin Ryde
bebf6a08af (scm_uniform_vector_ref, scm_array_set_x): For byvect, force
signed byte range checks by using scm_to_schar and scm_from_schar,
don't want to depend on signedness of C char.
2004-08-06 00:21:13 +00:00
Kevin Ryde
99de794f0d *** empty log message *** 2004-08-05 01:19:35 +00:00
Kevin Ryde
37eb673bc6 (scm_copy_file): Use fstat on the input fd rather than
stat on the filename, to be certain a file rename can't mean we get
info on one filesystem object but open another.  This fstat usage is
similar to Emacs copy-file.
2004-08-05 01:02:58 +00:00
Kevin Ryde
29e6112441 *** empty log message *** 2004-08-05 00:46:34 +00:00
Kevin Ryde
7305dd202d Update docstrings per doc/ref/api-scheduling.texi. 2004-08-05 00:40:26 +00:00
Kevin Ryde
f070ba1332 (scm_system_star): Use scm_from_int on SIGINT and SIGQUIT,
since that's what those values are.
2004-08-05 00:33:58 +00:00
Kevin Ryde
9bebea882a (scm_try_arbiter): Use scm_i_misc_mutex instead of
SCM_DEFER_INTS.
(scm_release_arbiter): Use scm_i_misc_mutex so return value can be
guaranteed if multiple threads compete to unlock.
2004-08-05 00:20:13 +00:00
Kevin Ryde
fcc3adc2f9 (scm_setgroups): Enhance docstring, per doc/ref/posix.texi. 2004-08-05 00:19:14 +00:00
Marius Vollmer
7241f21353 *** empty log message *** 2004-08-03 17:24:44 +00:00
Marius Vollmer
5ad8c0c95b * num2integral.i.c, num2float.i.c: Removed.
* Makefile.am (noinst_HEADERS): Updated.
2004-08-03 17:24:28 +00:00
Marius Vollmer
96d8c21757 *** empty log message *** 2004-08-03 17:16:29 +00:00
Marius Vollmer
7a72bb4181 (scm_make_complex): Discouraged by moving to discouraged.h and
discouraged.c.  Replaced all uses with scm_c_make_rectangular.
2004-08-03 17:13:16 +00:00
Marius Vollmer
8507ec804f (scm_complex_p): New, export as "complex?" to Scheme.
(scm_number_p): Export as "number?" to Scheme.
(scm_is_complex, scm_is_number): New.
(scm_c_make_rectangular, scm_c_make_polar): New.
(scm_make_rectangular, scm_make_polar): Use above.
(scm_c_real_part, scm_c_imag_part, scm_c_magnitude, scm_c_angle):
New.
(scm_make_complex): Discouraged by moving to discouraged.h and
discouraged.c.  Replaced all uses with scm_c_make_rectangular.
2004-08-03 17:12:14 +00:00
Marius Vollmer
f9656a9f82 *** empty log message *** 2004-08-03 15:56:49 +00:00
Marius Vollmer
cba42c9344 * numbers.h. numbers.c (scm_make_ratio): Renamed to
scm_i_make_ratio and made static, replaced uses with scm_divide.
2004-08-03 15:55:42 +00:00
Marius Vollmer
759aa8f9e0 *** empty log message *** 2004-08-03 15:07:37 +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
8672c728f0 (scm_init_guile_1): Call scm_i_init_discouraged. 2004-08-03 15:04:48 +00:00
Marius Vollmer
55f26379b3 (scm_is_rational): New.
(scm_i_short2big, scm_i_int2big, scm_i_uint2big, scm_i_size2big,
scm_i_ptrdiff2big, scm_i_long_long2big, scm_i_ulong_long2big):
Removed prototypes.
(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.
(scm_to_double): Do not implement in terms of scm_num2dbl, use
explicit code.
(scm_from_double): Do not implement in terms of scm_make_real, use
explicit code.
2004-08-03 15:03:35 +00:00
Marius Vollmer
b9bd8526f0 * numbers.h, numbers.c, discouraged.h, discouraged.c (scm_short2num,
scm_ushort2num, scm_int2num, scm_uint2num, scm_long2num,
scm_ulong2num, scm_size2num, scm_ptrdiff2num, scm_num2short,
scm_num2ushort, scm_num2int, scm_num2uint, scm_num2long,
scm_num2ulong, scm_num2size, scm_num2ptrdiff, scm_long_long2num,
scm_ulong_long2num, scm_num2long_long, scm_num2ulong_long):
Discouraged by moving to discouraged.h and discouraged.c and
reimplementing in terms of scm_from_* and scm_to_*.  Changed all uses
to the new scm_from_* and scm_to_* functions.
2004-08-02 16:14:04 +00:00
Marius Vollmer
531bf3e6a8 *** empty log message *** 2004-08-02 16:13:29 +00:00