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

2884 commits

Author SHA1 Message Date
Keisuke Nishida
bf942687d7 * dump.c: Use double cells for update schedule. 2001-02-09 22:37:10 +00:00
Marius Vollmer
2f1bbcfd5f Docstring of port-for-each updated to new behaviour. 2001-02-09 14:38:27 +00:00
Marius Vollmer
88c927e950 * macros.c (scm_macro_name, scm_macro_transformer): Use
SCM_SMOB_DATA instead of SCM_CDR.  Provided by Martin Grabmueller.
Thanks!
2001-02-09 14:37:30 +00:00
Keisuke Nishida
1be4270af3 Bug fixed. 2001-02-09 07:12:05 +00:00
Marius Vollmer
c5408bc31f s/open/existed/ in description of port-for-each change. 2001-02-08 18:53:48 +00:00
Marius Vollmer
548728ea6d *** empty log message *** 2001-02-08 18:52:05 +00:00
Marius Vollmer
aa767bc58f * modules.h (scm_selected_module, scm_current_module): Renamed
scm_selected_module to scm_current_module to synchronize Scheme
and C names.
(scm_select_module, scm_set_current_module): Likewise.  Changed
all uses.
2001-02-08 18:49:52 +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
cb0d8be234 * Fixed parameter checking for make-string.
* Corrected a bug introduced with the last patch.
2001-02-08 11:40:51 +00:00
Dirk Herrmann
e382fdbe0f * Fixed parameter checking for make-vector. 2001-02-08 10:48:01 +00:00
Keisuke Nishida
bf8f092280 Removed redundant code. 2001-02-06 02:12:10 +00:00
Keisuke Nishida
5f17c66f82 Minor modifications. 2001-02-05 19:14:20 +00:00
Keisuke Nishida
914cceec2c New dump/undump scheme. 2001-02-05 08:46:21 +00:00
Michael Livshin
ecf470a2aa SCM_DOUBLE_CELLP deprecated and made unused 2001-02-03 12:26:38 +00:00
Keisuke Nishida
03416a991e New files: dump.c, dump.h. 2001-02-03 04:59:16 +00:00
Keisuke Nishida
00ffa0e7d6 New functions: scm_c_make_vector, scm_c_make_hash_table. 2001-02-02 04:56:25 +00:00
Mikael Djurfeldt
b8446ce883 * unif.c (rapr1): Don't apply scm_uniform_vector_length on arrays. 2001-01-31 15:18:47 +00:00
Dirk Herrmann
e32398681a * Added docstrings by Martin Grabmueller. 2001-01-30 14:53:20 +00:00
Mikael Djurfeldt
41ee56dde3 * eval.c (SCM_APPLY): Check that primitives which take 1 arg
really get that arg.
2001-01-29 18:23:34 +00:00
Keisuke Nishida
b6311c0832 goops.c (s_scm_get_keyword): Bug fix. 2001-01-27 00:13:55 +00:00
Dirk Herrmann
a49af0c0f7 * Fix parameter error reporting and avoid redundant parameter checks. 2001-01-26 18:04:32 +00:00
Dirk Herrmann
13070bd3b0 * Added missing includes of string.h. 2001-01-26 17:30:54 +00:00
Dirk Herrmann
2f2b390c83 * On errors, show line and column information even for unnamed ports. 2001-01-25 23:34:31 +00:00
Dirk Herrmann
efa40607b1 * Added a file-port? primitive. 2001-01-25 17:40:50 +00:00
Dirk Herrmann
a98bddfd12 * Made the port implementations less tightly coupled within guile. 2001-01-25 17:18:41 +00:00
Dirk Herrmann
0419a52877 * Fix handling of (set-source-property! <obj> 'copy <datum>). 2001-01-25 11:09:21 +00:00
Gary Houston
fd937ecb02 *** empty log message *** 2001-01-24 21:47:23 +00:00
Gary Houston
6d36532c1c * boot-9.scm: don't import (ice-9 rdelim) here. it's done
in C for now.
	* rdelim.scm: export the C primitives too.
	* documentation.scm: use (ice-9 rdelim).

	* filesys.c (scm_link): docstring fix.
	* fports.h (scm_setfileno): obsolete declaration removed.
	* posix.c: bogus popen declaration removed.

	* rdelim.c: new file, split from ioext.c with new proc
	scm_init_rdelim.
	* rdelim.h: new file.
	* Makefile.am: add rdelim.c and related files.
	* init.c: call scm_init_rdelim.  include rdelim.h.
2001-01-24 21:45:09 +00:00
Dirk Herrmann
3ba5a6c2f2 * Make sure that parameter errors are reported correctly.
Thanks to Martin Grabmueller for sending this patch.
2001-01-24 18:07:29 +00:00
Dirk Herrmann
ed6a2db9d7 * Ooops: Forgot to credit Neil for the bug report. 2001-01-24 16:06:20 +00:00
Dirk Herrmann
e40a4095d6 * Make sure that scm_display_error validates its port argument. 2001-01-24 15:58:46 +00:00
Mikael Djurfeldt
f1e06a96a2 * eval.c (SCM_APPLY): Added # args check for application of
procedures with arity 3.  (Thanks to Anders Holst.)
2001-01-24 01:26:44 +00:00
Dirk Herrmann
30ea841d0c * Separate the handling of OPEN flags between ports and directories. 2001-01-24 00:02:43 +00:00
Dirk Herrmann
312ae976ad * Move all real functionality from scm_eval into inner_eval.
* Avoid to copy the evaluated expression twice.
2001-01-22 13:32:08 +00:00
Dirk Herrmann
4567ed787c * Applied Martin Grabmueller's fix of case's handling of 'else. 2001-01-19 17:16:52 +00:00
Gary Houston
10288a0948 * ioext.c: further simplify scm_read_string_x_partial by defining
a macro	SCM_EBLOCK.
2001-01-18 22:54:54 +00:00
Dirk Herrmann
8f379a8f61 * Simplified gh_ints2scm by using SCM_FIXABLE. 2001-01-18 15:12:51 +00:00
Dirk Herrmann
5c75b29f1d * Cleaned up some limits-definitions. 2001-01-18 13:35:45 +00:00
Dirk Herrmann
ac0c002c62 * Fixed a couple of bugs with quotient, remainder, bit-extract and logand. 2001-01-17 18:15:30 +00:00
Dirk Herrmann
debe0dc24f * Comment fixed. 2001-01-16 11:19:36 +00:00
Dirk Herrmann
8a39e3fc79 * Return type of scm_make_smob_type is scm_bits_t now. 2001-01-15 17:15:13 +00:00
Michael Livshin
322ec19d3c * objects.h (SCM_SET_ENTITY_SETTER): new macro. SCM_ENTITY_SETTER
casts its result, so doesn't yield an lvalue per ANSI C.

* goops.c (s_scm_sys_set_object_setter_x): use
SCM_SET_ENTITY_SETTER.
(clear_method_cache): use SCM_SET_ENTITY_PROCEDURE.

* gc.h (SCM_GC_SET_CARD_BVEC): new macro.  SCM_GC_CARD_BVEC casts
its result, so doesn't yield an lvalue per ANSI C.
(SCM_GC_SET_CARD_FLAGS): ditto for SCM_GC_GET_CARD_FLAGS.
(SCM_GC_CLR_CARD_FLAGS): redefined in terms of
SCM_GC_SET_CARD_FLAGS.
(SCM_GC_SET_CARD_FLAG, SCM_GC_CLR_CARD_FLAGS): ditto.

* gc.c (INIT_CARD): use the explicit setter macro to set the bvec.
2001-01-11 21:03:18 +00:00
Gary Houston
60d02d0914 * validate.h (SCM_VALIDATE_SUBSTRING_SPEC_COPY): new macro.
* ioext.c (scm_read_string_x_partial, scm_read_delimited_x),
	socket.c (scm_recvfrom): use the new macro, plus minor docstring
	changes.
	* ioext.c (scm_read_string_x_partial): don't crash if -1 is supplied
	for fdes.  if current input port is used, check that it's a file
	port.
2001-01-08 23:10:06 +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
Marius Vollmer
4651d663fa *** empty log message *** 2001-01-06 18:47:12 +00:00
Marius Vollmer
e8a46ba8c3 * validate.h (SCM_VALIDATE_NUMBER): New. 2001-01-06 18:46:48 +00:00
Michael Livshin
c0a5d88835 * guardians.c (F_GREEDY, F_LISTED, F_DESTROYED, GREEDY_P,
SET_GREEDY, LISTED_P, SET_LISTED, CLR_LISTED, DESTROYED_P,
 	SET_DESTROYED): new defines/macros.
	(GUARDIAN_LIVE, GUARDIAN_ZOMBIES, GUARDIAN_NEXT): deleted.
	(add_to_live_list): takes a `guardian_t *' now, not SCM.
	(guardian_print): print more info.
	(guardian_apply): check if the guardian is destroyed, and throw an
 	error if so.  take one more optional argument `throw_p'.
	(scm_guard): depending on the value of `throw_p', return a boolean
 	result.
	(scm_get_one_zombie): remove redundant property test.
	(guardian_t): represent the various (currently 3, I hope nothing
 	more gets added) boolean fields as bit flags.
	(scm_guardian_destroyed_p, scm_guardian_greedy_p): new predicates.
	(scm_destroy_guardian_x): new procedure.

	* guardians.h: added prototypes for `scm_guardian_greedy_p' and
	`scm_guardian_destroyed_p'.  changed prototype for `scm_guard'.
2001-01-04 13:00:31 +00:00
Gary Houston
0c6d2191ef * fports.c (fport_write): bugfix: handle short writes for
unbuffered ports too.  optimize the buffered case by minimizing
	the number of write/flush calls.
	(write_all): new helper procedure.
2001-01-02 00:38:41 +00:00
Michael Livshin
75bc0690c8 * guardians.c (guardian_print): for sharing guardians, print that
they are sharing.
(scm_guard, scm_get_one_zombie): place the critical section
barriers more correctly.
2000-12-30 19:26:37 +00:00
Michael Livshin
d9dcd93362 * weaks.c (scm_scan_weak_vectors): move the calculation of the
`weak_keys' and `weak_values' flags out of the inner loop.

	* guardians.c: (greedily_guarded_prop): deleted.
	(greedily_guarded_whash): new variable.  a doubly-weak hash table
	used to keep the "greedily hashed" object property.  the previous
	implementation (via primitive object properties) was incorrect due
	to its only-the-key-is-weak semantics.
	(scm_guard, get_one_zombie, scm_init_guardians): use/init
	`greedily_guarded_whash'.
2000-12-29 22:18:06 +00:00