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

2999 commits

Author SHA1 Message Date
Marius Vollmer
6d583887bb *** empty log message *** 2001-03-15 20:04:56 +00:00
Marius Vollmer
caf08e652e * numbers.c (scm_num2ulong): Check that a bignum is positive
before looking at the magnitude.  Correctly check for overflow
during conversion.
(scm_num2long_long): Likewise.
(scm_num2ulong_long): New.
(ULONG_LONG_MAX): Define if not already defined.
* numbers.h: (scm_num2ulong_long): New prototype.
2001-03-15 20:04:41 +00:00
Marius Vollmer
5345cf7cae * numbers.c (scm_num2ulong): Check that a bignum is positive
before looking at the magnitude.  Correctly check for overflow
during conversion.
2001-03-15 19:21:51 +00:00
Martin Grabmüller
e87a03fce7 * validate.h (SCM_VALIDATE_OPOUTSTRPORT): New macro.
* strports.h (SCM_STRPORTP, SCM_OPSTRPORTP, SCM_OPINSTRPORTP),
	(SCM_OPOUTSTRPORTP): New predicate macros.
	(scm_open_input_string, scm_open_output_string),
	(scm_get_output_string): New prototypes.

	* strports.c (scm_open_input_string, scm_open_output_string),
	(scm_get_output_string): New procedures (SRFI-6 compliant).
	Made scm_tc16_strport non-static.
2001-03-15 11:24:45 +00:00
Dirk Herrmann
160bb34a53 * Removed unused object parameter from SCM_ASSYNT. 2001-03-15 09:50:20 +00:00
Dirk Herrmann
80dee77b86 * Use const specifier in function signature of gh_ints2scm. 2001-03-15 00:42:10 +00:00
Martin Grabmüller
d3dd80ab5b * gh_data.c (gh_scm2chars, gh_scm2shorts, gh_scm2longs),
(gh_scm2floats, gh_scm2doubles): Check for malloc() returning NULL
in various places.
(gh_scm2newstr, gh_symbol2newstr): Change call to
scm_must_malloc() to malloc(), because user-free()able memory is
allocated.
* gc.c: Added declaration of `scm_debug_check_freelist'.
2001-03-14 10:02:12 +00:00
Martin Grabmüller
26a3038db8 * ports.c (scm_port_mode): Changed `mode' array size to 4,
avoiding buffer overflow.
2001-03-13 08:02:02 +00:00
Keisuke Nishida
fe78b6c096 (scm_object_to_string): Takes an optional argument. 2001-03-13 05:59:42 +00:00
Keisuke Nishida
1a92274c8e Use FUNC_NAME. 2001-03-13 02:14:12 +00:00
Keisuke Nishida
1f3908c46a * strports.c (scm_object_to_string): New procedure.
(scm_strprint_obj): Deprecated.
2001-03-13 02:09:57 +00:00
Dirk Herrmann
e11208ca72 * Cleaned up uses and definition of SCM_ASSYNT. 2001-03-12 14:34:44 +00:00
Martin Grabmüller
67e8151b65 * load.c (scm_primitive_load, scm_primitive_load_path),
(scm_sys_search_load_path): Corrected docstrings (file ->
	filename).

	* eval.c (scm_force): Added texinfo markup to docstring.
	(scm_promise_p): Renamed parameter to `obj' to match docstring.

	* debug-malloc.c: Reinserted #include <stdio.h>.
2001-03-12 07:08:46 +00:00
Keisuke Nishida
a51fe2479e Split up. 2001-03-11 23:57:16 +00:00
Keisuke Nishida
e39c3de479 * list.c (s_scm_reverse_x): Use SCM_VALIDATE_LIST. 2001-03-11 23:47:16 +00:00
Keisuke Nishida
e0c08f17b1 Use SCM_LISTn instead of scm_listify. 2001-03-11 09:44:08 +00:00
Mikael Djurfeldt
e6e2e95aa5 * _scm.h: Removed #include <errno.h>.
* error.c, net_db.c, putenv.c, stime.c: Removed declaration of
errno variable (can be a macro on some systems, for example when
using linux libc with threads).

* error.c, filesys.c, gc.c, ioext.c, iselect.c, net_db.c, ports.c,
posix.c, print.c, putenv.c, scmsigs.c, script.c, simpos.c, smob.c,
socket.c, srcprop.c, stime.c, strop.c, unif.c, vports.c: Added
#include <errno.h> in these 20 out of 100 files.
2001-03-10 16:56:09 +00:00
Gary Houston
97d0e20b2e * socket.c: add a definition of SUN_LEN (from glibc) for when it's
not already defined.
2001-03-10 10:30:16 +00:00
Mikael Djurfeldt
e75341b38d * coop.c: Inserted #include <stdio.h>.
* iselect.c: Reinserted #include <stdio.h>.
2001-03-10 03:09:07 +00:00
Marius Vollmer
74355186f0 *** empty log message *** 2001-03-10 01:07:44 +00:00
Marius Vollmer
8b50fe8ed3 * posix.c: Replaced `#define' of __USE_XOPEN right before
including unistd.h with a define of _GNU_SOURCE at the very top of
the file.
2001-03-10 01:07:06 +00:00
Keisuke Nishida
783e777478 Remove #include <stdio.h>. Add #include <string.h>. 2001-03-09 23:33:41 +00:00
Martin Grabmüller
a0f9c651b1 (scm_gethostname): Set initial name length to 256 for
Solaris.
2001-03-09 12:09:17 +00:00
Martin Grabmüller
9a677c37c8 * posix.c (scm_gethostname): Set initial name length to 256 for
Solaris.
2001-03-09 12:08:43 +00:00
Martin Grabmüller
94e6d79391 Added some new posix functions:
(scm_crypt, scm_chroot, scm_getlogin, scm_cuserid),
	(scm_getpriority, scm_setpriority, scm_getpass, scm_flock),
	(scm_sethostname, scm_gethostname): New procedures.
2001-03-09 10:03:47 +00:00
Neil Jerram
650a1cf929 * Docstring fixes. 2001-03-09 00:21:27 +00:00
Mikael Djurfeldt
5e4a4d09fe * ramap.c (racp): Removed optimization which caused array copying
to fail if the two arrays shared storage.  Re-inserted the IVDEP
macros removed in the change of 2000-03-09.  (Don't really have a
complete grasp of what they are for, but they seem to be necessary
on Crays.  This needs testing!)  Thanks to Miroslav Silovic.
2001-03-08 19:34:41 +00:00
Mikael Djurfeldt
9636b49cd2 * hash.c (scm_string_hash): Don't downcase characters. 2001-03-08 18:14:33 +00:00
Mikael Djurfeldt
04a4d6664a *** empty log message *** 2001-03-08 02:49:34 +00:00
Mikael Djurfeldt
a4c91488d3 * symbols.c, symbols.h (scm_sys_symbols): New function GUILE_DEBUG
function.
2001-03-08 02:46:38 +00:00
Mikael Djurfeldt
70ce100d8a * coop-threads.c: Fixed change of 2001-03-06. 2001-03-08 02:45:39 +00:00
Keisuke Nishida
66418d3465 fix problems with gcc-2.96. 2001-03-07 06:06:16 +00:00
Dirk Herrmann
2ade72d773 * Remove uses of SCM_ASSERT that may result in error messages different
from wrong-type-arg errors.
2001-03-06 01:22:37 +00:00
Mikael Djurfeldt
586d7da237 * eval.c (scm_m_letstar): Removed check for duplicate bindings.
Duplicate bindings are OK in a let* since a let* is semantically
equivalent to a nested set of let:s.
2001-03-05 18:54:55 +00:00
Martin Grabmüller
1dd05fd8aa * print.c (scm_print_options): Fixed texinfo in docstring.
* net_db.c (scm_getserv, scm_getproto, scm_getnet): Return #f if
	the underlying functions getservent, getprotoent or getnetent
	return NULL instead of signalling an error.
2001-03-05 07:25:56 +00:00
Gary Houston
2772dc1af3 *** empty log message *** 2001-03-04 23:35:21 +00:00
Gary Houston
439006bf6e * socket.c (scm_fill_sockaddr): don't allow buffer overflows when
taking an unexpectedly large filename for an AF_UNIX socket from
	bind/connect/sendto (thanks to Martin Grabmueller).

	* socket.c (scm_sock_fd_to_port, SCM_SOCK_FD_TO_PORT): removed the
	former and adjusted the latter.
	(scm_socket, scm_socketpair): cosmetic changes.
	(scm_getsockopt, scm_setsockopt): declare optlen as int, not
	size_t as socklen_t substitute.  don't restrict args/return values
	to INUM: allow full range of int or size_t.
	(scm_fill_sockaddr): check arguments before allocating memory, to
	avoid leakage.  use malloc, not scm_must_malloc.
	(scm_connect, scm_bind, scm_sendto): use int, not size_t as socklen_t
	substitute.  free the sockaddr structure before throwing an error.
	(scm_init_add_buffer): procedure removed, together with its static
	buffer scm_addr_buffer, which wouldn't be thread safe.  instead,
	define a macro MAX_ADDR_SIZE and declare the buffer where needed.
	(scm_accept, scm_getpeername, scm_getsockname, scm_recvfrom,
	scm_sendto): use a local buffer instead of scm_addr_buffer.
	adjust for new SCM_SOCK_FD_TO_PORT.  use int for address size,
	not size_t.
	(scm_recvfrom): set addr->sa_family to AF_UNSPEC before the recvfrom
	call to detect whether recvfrom could be bothered to set the address.
	(scm_init_socket): don't call scm_init_addr_buffer.
2001-03-04 23:34:16 +00:00
Dirk Herrmann
276dd6775c * Eliminate another couple of calls to scm_wta. 2001-03-04 22:48:13 +00:00
Mikael Djurfeldt
5e03762c12 * goops.c, goops.h (scm_sys_pre_expand_closure_x): Removed.
(scm_sys_tag_body): Added.
2001-03-04 20:46:04 +00:00
Dirk Herrmann
db4b4ca64f * Eliminate some calls to scm_wta. 2001-03-04 17:09:34 +00:00
Mikael Djurfeldt
87e7741df7 * goops.c (scm_sys_pre_expand_closure_x): New procedure. 2001-03-04 05:27:41 +00:00
Marius Vollmer
d19b0aac73 *** empty log message *** 2001-03-03 23:56:28 +00:00
Marius Vollmer
185ab0ef10 * eval.c (scm_s_duplicate_bindings): New error message.
(scm_m_letrec1, scm_m_letstar): Check for duplicate bindings.
2001-03-03 23:52:57 +00:00
Marius Vollmer
14fe4fe9ce *** empty log message *** 2001-03-03 17:25:22 +00:00
Marius Vollmer
d9d39d76e7 Cosmetic cleanups. 2001-03-03 17:24:51 +00:00
Marius Vollmer
2fd945df34 *** empty log message *** 2001-03-03 15:17:05 +00:00
Marius Vollmer
5280aacabc * eval.h (SCM_EVALIM2): New macro. Use it when a
immediate, literal constant should be evaluated.
* eval.c (scm_s_duplicate_formals): New error message string.
(scm_c_improper_memq): New function.
(scm_m_lambda): Check for duplicate arguments.
(scm_ceval, scm_deval): When executing a body: only cons a new
toplevel environment frame when it is different from the
existing one; use EVALCAR instead of SIDEVAL so that we can properly
check for empty combinations; use SCM_EVALIM2 for the same reason
in the non-toplevel loop.
(nontoplevel_cdrxnoap, nontoplevel_cdrxbegin, nontoplevel_begin):
New labels with the meaning of their non-"nontoplevel" partners,
but they are used when it is known that the body is not evaluated at
top-level.
(scm_apply, scm_dapply): use SCM_EVALIM2 to get proper error
reporting for empty combinations.
2001-03-03 15:10:37 +00:00
Keisuke Nishida
9e6fc585b2 Remove dump facilities. 2001-03-02 23:41:18 +00:00
Martin Grabmüller
eae54bf072 *** empty log message *** 2001-03-02 09:09:06 +00:00
Martin Grabmüller
942e5b9162 * vectors.c (s_scm_vector_p, list->vector, scm_vector)
(scm_vector_ref, scm_vector_set_x, scm_vector_to_list)
	(scm_vector_fill_x), strorder.c (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_geq_p), symbols.c (scm_symbol_p)
	(scm_symbol_to_string, scm_string_to_symbol): Changed use of @t{}
	to @code{} as the texinfo manual recommends, converted the
	examples to use a @lisp{}-environment.

	* strports.c (scm_eval_string): Cleaned up the docstring.

	* struct.c (scm_struct_p, scm_struct_vtable_p): Added texinfo
	markup.

	* numbers.c (scm_exact_p, scm_odd_p, scm_even_p)
	(scm_number_to_string, scm_string_to_number, scm_number_p)
	(scm_real_p, scm_integer_p, scm_inexact_p, scm_make_rectangular)
	(scm_make_polar, scm_inexact_to_exact): Added texinfo markup.
	(scm_ash): Added texinfo markup and removed obsolete @refill.
	(scm_gr_p): Corrected comment.
	(scm_gr_p, scm_leq_p, scm_geq_p): Added texinfo markup to (future
	docstring) comments.
	(scm_positive_p, scm_less_p, scm_num_eq_p, scm_real_p)
	(scm_number_p, scm_negative_p, scm_max, scm_min, scm_sum)
	(scm_difference, scm_product, scm_divide, scm_asinh, scm_acosh)
	(scm_atanh, scm_truncate, scm_round, scm_exact_to_inexact)
	(floor, ceiling, $sqrt, $abs, $exp, $log, $sin, $cos, $tan, $asin)
	($acos, $atan, $sinh, $cosh, $tanh, scm_real_part, scm_imag_part)
	(scm_magnitude, scm_angle, scm_abs, scm_quotient, scm_remainder)
	(scm_modulo, scm_gcd, scm_lcm): Added (future docstring) comments.
2001-03-02 09:07:22 +00:00