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

3751 commits

Author SHA1 Message Date
Martin Grabmüller
5352393c55 * list.c (scm_list, scm_cons_star, scm_null_p, scm_list_p),
(scm_length, scm_append, scm_reverse, scm_list_ref),
	(scm_memq, scm_memv, scm_member, scm_delv_x, scm_delete_x),
	(scm_delq, scm_delv, scm_delete, scm_delq1_x, scm_delv1_x),
	(scm_delete1_x), gc.c (scm_map_free_list),
	(scm_free_list_length), hash.c (scm_hashq, scm_hashv),
	(scm_hash), hashtab.c (scm_hashq_ref, scm_hashq_set_x),
	(scm_hashq_remove_x, scm_hashv_ref, scm_hashv_set_x),
	(scm_hashv_remove_x, scm_hash_ref, scm_hash_set_x),
	(scm_hash_remove_x), ports.c (scm_pt_size, scm_pt_member), print.c
	(scm_current_pstate), scmsigs.c (scm_usleep), goops.c
	(scm_get_keyword, scm_sys_compute_slots): Added texinfo markup.

	* weaks.c (scm_weak_vector_p, scm_weak_key_hash_table_p),
	(scm_weak_value_hash_table_p, scm_doubly_weak_hash_table_p),
	rdelim.c (scm_read_delimited_x), strop.c (scm_string_index),
	symbols.c (scm_symbol_interned_p), numbers.c
	(scm_string_to_number), ports.c (scm_port_p): Corrected texinfo
	markup.
2001-03-16 10:00:17 +00:00
Keisuke Nishida
a9205f0774 * snarf.h (SCM_CONST_LONG): Deprecated.
* tag.c (CONST_INUM): New macro.  Use it to define scm_utag_*.
2001-03-16 05:11:34 +00:00
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