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

292 commits

Author SHA1 Message Date
Michael Livshin
910d1e40f9 * ports.c (scm_c_read): pointer arithmetic on void pointers isn't
portable.

* deprecation.c (s_scm_include_deprecated_features): ANSI'fied the
docstring.
2001-05-09 16:32:06 +00:00
Martin Grabmüller
1e6808ea20 Correct, update, improve and clean up a lot of docstrings in order to make
the documentation much more consistent.
2001-04-03 13:19:05 +00:00
Dirk Herrmann
22a52da14d * Replaced a lot of calls to SCM_C[AD]R with more appropriate macros.
* Minor cleanups to hashtable implementation.
* Minor code beautifications.
2001-03-30 15:03:23 +00:00
Dirk Herrmann
be54b15d85 * Replace function scm_makstr with new function scm_allocate_string. 2001-03-22 12:52:03 +00:00
Gary Houston
c6c79933b5 * gc.c (scm_must_malloc): changed the comment explaining when
scm_must variants of malloc/free etc., should be used, based on
	explanation from Dirk Herrmann.
	* fports.c (scm_fport_buffer_add): use FUNC_NAME instead of a local
	string with procedure name.  use scm_must_malloc instead of malloc.
	(scm_setvbuf, scm_fdes_to_port, fport_close): use scm_must variants
	of malloc/free.
	* ports.c (scm_add_to_port_table, scm_remove_from_port_table,
	scm_ungetc): use scm_must variants of malloc/realloc/free.
	(scm_add_to_port_table, scm_ungetc): define FUNC_NAME.
2001-03-17 16:59:48 +00:00
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
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
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
Neil Jerram
650a1cf929 * Docstring fixes. 2001-03-09 00:21:27 +00:00
Dirk Herrmann
db4b4ca64f * Eliminate some calls to scm_wta. 2001-03-04 17:09:34 +00:00
Mikael Djurfeldt
6fe692e911 ports.c, ports.h (scm_c_read, scm_c_write): New functions.
ports.h (SCM_READ_BUFFER_EMPTY_P): New macro.
2001-02-26 03:06:57 +00:00
Martin Grabmüller
e1546b65f8 (scm_drain_input): Lowercased argument to @var.
(scm_current_input_port, scm_current_output_port): Filled in
missing explanation.
(scm_current_load_port, scm_set_current_output_port)
(scm_set_current_error_port, scm_port_line, scm_set_port_line_x):
Added texinfo markup.
2001-02-17 11:33:42 +00:00
Marius Vollmer
2f1bbcfd5f Docstring of port-for-each updated to new behaviour. 2001-02-09 14:38:27 +00:00
Keisuke Nishida
1be4270af3 Bug fixed. 2001-02-09 07:12:05 +00:00
Marius Vollmer
fdfe6305a5 * ports.c (scm_port_for_each): Make a snapshot of the port table
before iterating over it.  The table might change while the user
code is running.  With the snapshot, the user can depend on the
fact that each port that was open at teh start of the iteration is
encountered exactly once.  (ice-9 popen) depends on this.
2001-02-08 18:44:34 +00:00
Dirk Herrmann
a98bddfd12 * Made the port implementations less tightly coupled within guile. 2001-01-25 17:18:41 +00:00
Gary Houston
c2da26487a * ioext.c (scm_read_string_x_partial): new procedure, implements
read-string!/partial.
	* ports.c (scm_take_from_input_buffers): new procedure used by
	scm_read_string_x_partial.
	(scm_drain_input): use scm_take_from_input_buffers.
2001-01-06 22:03:07 +00:00
Keisuke Nishida
e841c3e0c0 Smob-related creanup. 2000-12-08 17:32:56 +00:00
Dirk Herrmann
34f0f2b8af * Deprecated macros SCM_ROCHARS and SCM_ROUCHARS. 2000-11-22 11:20:03 +00:00
Dirk Herrmann
f0942910af * Deprecated SCM_RWSTRINGP and SCM_VALIDATE_RWSTRING.
* Prepared SCM_STRING_U?CHARS to replace SCM_ROU?CHARS.
2000-11-21 17:32:38 +00:00
Marius Vollmer
8dc9439fc6 * alist.c, arbiters.c, async.c, backtrace.c, boolean.c, chars.c,
continuations.c, debug-malloc.c, debug.c, dynl.c, dynwind.c,
environments.c, eq.c, error.c, eval.c, evalext.c, feature.c,
filesys.c, fluids.c, fports.c, gc.c, goops.c, guardians.c, hash.c,
hashtab.c, hooks.c, ioext.c, iselect.c, keywords.c, lang.c,
list.c, load.c, macros.c, modules.c, net_db.c, numbers.c,
objects.c, objprop.c, options.c, pairs.c, ports.c, posix.c,
print.c, procprop.c, procs.c, properties.c, ramap.c, random.c,
read.c, regex-posix.c, root.c, scmsigs.c, script.c, simpos.c,
socket.c, sort.c, srcprop.c, stackchk.c, stacks.c, stime.c,
strings.c, strop.c, strorder.c, strports.c, struct.c, symbols.c,
tag.c, threads.c, throw.c, unif.c, variable.c, vectors.c,
version.c, vports.c, weaks.c: Makes sure the snarfer output
inclusion is disabled when the snarfer is run on the file.  Thanks
to Lars J. Aas!

* Makefile.am: Install guile-procedures.txt in version-specific
directory to enable multiple installed guile versions.  Suggested
by Karl M. Hegbloom <karlheg@debian.org, patch by Matthias Koeppe.
2000-11-17 16:25:05 +00:00
Gary Houston
b875c46853 2000-11-09 Gary Houston <ghouston@arglist.com>
* ports.c, ports.h (scm_close_all_ports_except): deprecated.
	use port-for-each.  Updated its docstring.
2000-11-09 22:44:09 +00:00
Gary Houston
c2ca44933f 2000-11-07 Gary Houston <ghouston@arglist.com>
* ports.c (scm_port_for_each): new proc.  implements port-for-each,
	which applies a procedure to each port in the port table.
	ports.h: declare scm_port_for_each.

	* ioext.c (scm_dup2): new proc.  implements "dup2" which is a simple
	wrapper for the dup2 system call (unlike dup->fdes or
	primitive-move->fdes).
	* ioext.h: declare scm_dup2.

	* filesys.c (scm_close_fdes): new proc.  implements "close-fdes"
	which is a simple wrapper for close system call (unlike scm_close).
	* filesys.h: declare for scm_close_fdes.
2000-11-07 21:34:45 +00:00
Gary Houston
eb5c0a2a6c 2000-11-04 Gary Houston <ghouston@arglist.com>
* ports.c (scm_port_p): new function, implements "port?" which
	is mentioned in R5RS.
	* ports.h: declare scm_port_p.
2000-11-04 23:24:14 +00:00
Dirk Herrmann
b24b5e13bf * Get rid of calls to SCM_ROSTRINGP.
* Fix some string/symbol output problems with regards to substrings.
* Fix error output to prefer procedure name parameters over stack data.
* Use SCM_(SET_)?FILENAME where appropriate.
* Prefer calling scm_remember over scm_protect/unprotect_object calls.
2000-11-02 10:36:31 +00:00
Dirk Herrmann
a6d9e5abe5 * Change a couple of functions to accept either symbols or strings only.
* Get rid of remainig uses of SCM_LENGTH etc.
2000-10-30 11:42:26 +00:00
Dirk Herrmann
bfa974f0a4 * Replace a bunch of calls to SCM_LENGTH. 2000-10-09 14:37:36 +00:00
Dirk Herrmann
86c991c2a2 * Replaced SCM_CHARS with SCM_STRING_CHARS or SCM_SYMBOL_CHARS. 2000-09-22 17:17:55 +00:00
Neil Jerram
92ccc1f1f3 * Docstring fixes. 2000-08-25 17:33:01 +00:00
Neil Jerram
2a2a730bfa * Docstring fixes. 2000-08-12 23:15:48 +00:00
Dirk Herrmann
2500356c67 * Cleaned up memory error signalling. 2000-06-29 15:54:58 +00:00
Mikael Djurfeldt
c357d54673 * ports.c (scm_ungetc): Cast value to unsigned char ptr before
storing in putback_buf.
(scm_unread_string): Substituted SCM_ROCHARS for SCM_ROUCHARS.
2000-06-12 21:25:41 +00:00
Dirk Herrmann
f9a644042d * Replace SCM_UNPACK_CAR appropriately. 2000-05-24 11:22:38 +00:00
Dirk Herrmann
af45e3b06a * Unified some rest argument checking and handling. 2000-05-18 08:47:52 +00:00
Dirk Herrmann
f5f2dcffbe * Wrapped deprecated code between #if (SCM_DEBUG_DEPRECATED == 0) #endif.
* Replace use of deprecated macros SCM_INPORTP, SCM_OUTPORTP, SCM_ICHRP.
2000-05-15 11:47:48 +00:00
Mikael Djurfeldt
a059974535 * Makefile.am (DEFS): Added. automake adds -I options to DEFS,
and we don't want that.
(INCLUDES): Removed all -I options except for the root source
directory and the root build directory.

* *.*: Change includes so that they always use the "prefixes"
libguile/, qt/, guile-readline/, or libltdl/.
(Thanks to Tim Mooney.)
2000-04-21 14:16:44 +00:00
Mikael Djurfeldt
7a754ca6c2 * ports.c, ports.h (close-input-port, close-output-port): New R5RS
procedures.
2000-04-15 19:29:47 +00:00
Dirk Herrmann
12a8b76952 Fix some SCM/scm_bits_t mismatches. 2000-04-12 09:58:43 +00:00
Dirk Herrmann
54778cd312 Lots of fixes to make guile (at some time) compile with strict typing. 2000-04-03 08:47:51 +00:00
Dirk Herrmann
74a16888eb Change type of member 'stream' in scm_port from SCM to scm_bits_t. 2000-03-31 07:56:40 +00:00
Michael Livshin
89e00824a0 * *.[hc]: add Emacs magic at the end of file, to ensure GNU
indentation style.
2000-03-19 19:01:16 +00:00
Dirk Herrmann
ba11fd4cb6 Only include root.h where it is actually needed. 2000-03-18 08:44:04 +00:00
Dirk Herrmann
7ab3fdd51f Only include strings.h where it is actually needed. 2000-03-17 18:11:58 +00:00
Gary Houston
70df8af662 * ports.c (flush_void_port): renamed to flush_port_default.
(end_input_void_port): renamed to end_input_default.

	* init.c (scm_standard_stream_to_port): create a void port instead
	of opening /dev/null if the standard file descriptors are bad.
	advantages: no portability problems, doesn't waste a file descriptor,
	simplifies the code (thanks to Marius for the idea).

	* vports.c (s_scm_make_soft_port): call scm_port_non_buffer.

	* void ports: make reading from a void port give EOF instead of
	segv:
	* ports.c (s_scm_sys_make_void_port): modified docstring.
	(fill_input_void_port): new proc.
	(scm_init_ports): set up fill_input_void_port.
	* ports.c (scm_port_non_buffer): new proc.
	(scm_void_port): call scm_port_non_buffer.

	* fports.c (scm_setvbuf): docstring: remove the fcntl documentation
	which was incorrectly appended.
2000-03-13 22:21:21 +00:00
Mikael Djurfeldt
f12677062e *** empty log message *** 2000-03-12 18:30:33 +00:00
Mikael Djurfeldt
413cb56ff4 * async.c, boolean.h, debug.c, dynl.c, dynwind.c, eval.c, eval.h,
feature.h, filesys.h, fluids.h, fports.c, fports.h, gc.c, gc.h,
  hash.c, keywords.h, macros.c, numbers.c, numbers.h, objects.c,
  objects.h, options.c, pairs.h, ports.c, ports.h, print.c,
  procs.h, ramap.c, read.c, smob.c, smob.h, srcprop.h, stacks.c,
  stacks.h, strports.c, struct.c, struct.h, tag.c, tags.h,
  throw.c, unif.c, unif.h, variable.h, vectors.h, weaks.c,
  weaks.h (SCM_SCM, SCM_BITS, SCM_CARBITS): Renamed from
  SCM_ASSCM, SCM_ASWORD, SCM_CARW).
2000-03-12 17:00:58 +00:00
Greg J. Badros
c209c88e54 *.[ch]: make a distinction between SCM as a generic
name for a Scheme object (now a void*), and SCM as 32 bit word for
storing tags and immediates (now a long int).  Introduced
SCM_ASWORD and SCM_ASSCM for conversion. Fixed various dubious
code in the process: arbiter.c (use macros), unif.c (scm_array_p),
2000-03-09 18:58:58 +00:00
Greg J. Badros
b6791b2e94 * error.h, error.c: Added `scm_wrong_type_arg_msg' to support
displaying the expected type.  Use SCM_LISTn in a couple places
instead of scm_cons-ing by hand.

* __scm.h: Added SCM_ASSERT_TYPE macro.

* validate.h, scm_validate.h: Added the former, as a renamed
version of the latter with SCM_ASSERT_TYPE used in
SCM_MAKE_VALIDATE (instead of just SCM_ASSERT)

* Makefile.am: Rename scm_validate.h to validate.h.

* *.c, *.h: Include validate.h, not scm_validate.h (old name's
prefix was superfluous).
2000-03-03 00:09:54 +00:00
Greg J. Badros
7866a09b5b * list.c: Moved append docs to append! Thanks Dirk Hermann. Also,
added append docs from R4RS.

* strings.c: Docstring typo fix, + eliminate unneeded IMP tests.
Thanks Dirk Hermann!

* chars.h: Provide SCM_CHARP, SCM_CHAR, SCM_MAKE_CHAR and
deprecate SCM_ICHRP, SCM_ICHR, SCM_MAKICHR.  Thanks Dirk Hermann!

* *.h, *.c: Use SCM_CHARP, SCM_CHAR, SCM_MAKE_CHAR throughout.
Drop use of SCM_P for function prototypes... assume an ANSI C
compiler.  Thanks Dirk Hermann!
2000-03-02 20:54:43 +00:00
Greg J. Badros
564478fd3b * ports.c: Made set-port-column!' and set-port-line!' each
return SCM_UNSPECIFIED instead of a (not-scheme-object) integer
that caused a seg fault.  Also fixed `set-port-column!'s
docstring.  Thanks Han-Wen Nienhuys for finding the bug!
2000-02-19 20:21:19 +00:00