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

8572 commits

Author SHA1 Message Date
Kevin Ryde
ff6ea7b951 *** empty log message *** 2003-10-08 23:00:37 +00:00
Kevin Ryde
d6532dd1cf (funcq-assoc): Rewrite, don't assume '() is false, and
actually traverse the given alist.
2003-10-08 22:57:52 +00:00
Dirk Herrmann
df5af69a91 * smob.h (scm_make_smob_type): Made the declaration match the
definition.
2003-10-07 22:03:26 +00:00
Dirk Herrmann
d6e04e7c4a * lib.scm (exception:missing-expression): New.
* tests/dynamic-scope.test, tests/eval.test,
	tests/r5rs_pitfall.test, tests/srfi-17.test, tests/syncase.test:
	Wrap tests in module (test-suite test-<file-name without .test>),
	following a practice that was used on a couple of files already.

	* tests/dynamic-scope.test (exception:duplicate-binding,
	exception:bad-binding): New.

	* tests/dynamic-scope.test, tests/srfi-17.test, tests/syntax.test:
	Execute syntactically wrong tests using eval.  With the upcoming
	new memoizer this is necessary in order to postpone the syntax
	check to the actual evaluation of the syntactically wrong form.

	* tests/syntax.test: Added some test cases and modified one test
	case.
2003-10-07 22:00:05 +00:00
Marius Vollmer
da0e6c2baf Make type names char const * instead of char *. Thanks to Paul Jarc! 2003-10-07 15:58:19 +00:00
Neil Jerram
41a80feb8a UI frontend work: eval support. 2003-10-06 20:33:02 +00:00
Marius Vollmer
6b5dc4ee33 *** empty log message *** 2003-10-06 19:25:05 +00:00
Marius Vollmer
3446b6ef07 * scheme-memory.texi: Added a short explanation of the GC and the
conservative stack scanning.
(scm_gc_protect_object, scm_gc_unprotect_object,
scm_permanent_object): New.

* data-rep.texi, scheme-memory.texi (scm_remember_upto_here_1,
scm_remember_upto_here_2): Moved from data-rep.texi to
scheme-memory.texi.
2003-10-06 19:24:15 +00:00
Neil Jerram
02b0c69289 Debugger UI asynchronous thread support. 2003-10-04 20:03:51 +00:00
Kevin Ryde
8552a9c0ae *** empty log message *** 2003-10-02 00:29:50 +00:00
Kevin Ryde
0853a58069 (String Ports): In call-with-output-string, note proc
should not close the port.  In get-output-string, note string must be
gotten before closing the port.
2003-10-02 00:20:07 +00:00
Kevin Ryde
39a963ee81 *** empty log message *** 2003-10-02 00:17:50 +00:00
Kevin Ryde
ee6eedcde8 (call-with-output-string): Test proc closing port. 2003-10-02 00:17:16 +00:00
Kevin Ryde
591924eb4c *** empty log message *** 2003-10-02 00:11:12 +00:00
Kevin Ryde
184b85a394 (s_scm_call_with_output_string): scm_get_output_string
rather than scm_strport_to_string, so as to guard against the port
having been closed by the called procedure.  Reported by Nic Ferrier.
2003-10-02 00:04:26 +00:00
Kevin Ryde
930d3b37a8 Fix a couple of typos in:
New file.
2003-10-02 00:00:42 +00:00
Kevin Ryde
88fd89ac40 Add call-with-output-string no segv on closed port. 2003-10-01 23:51:41 +00:00
Neil Jerram
5a825ad439 Two fixes to Guile tutorial. 2003-09-27 10:08:26 +00:00
Neil Jerram
79b1c5b67f Work (in progress) on new debugging frontend. 2003-09-25 20:32:10 +00:00
Dirk Herrmann
8aa28a916c * guile-test: Wrapped in module (test-suite guile-test).
(main data-file-name test-file-name): Exported.

	((guile-user)::main): New function, wrapper for function
	(test-suite guile-test)::main.

	* tests/load.test: Wrapped in module (test-suite test-load).

	* tests/ports.test: Wrapped in module (test-suite test-ports).

	* tests/r4rs.test: Wrapped in module (test-suite test-r4rs).
	Added comments about the required structure of the file itself,
	since it is subject to some tests.  Removed some now unnecessary
	undefine operations.

	* tests/syntax.test: Wrapped in module (test-suite test-syntax)
2003-09-22 19:00:41 +00:00
Dirk Herrmann
f03314f920 * numbers.h (SCM_INEXACTP): Removed uses of SCM_TYP16S.
* tags.h, deprecated.h (SCM_TYP16S): Deprecated and moved from
	tags.h to deprecated.h.
2003-09-21 07:54:23 +00:00
Kevin Ryde
1cd9ea6915 A tweak to:
(File System): In access?, reword a bit, clarify real
versus effective ID handling, cross reference glibc on that, and
recommend against access tests in library functions.
2003-09-21 01:38:01 +00:00
Kevin Ryde
a21ceb528d *** empty log message *** 2003-09-21 01:19:44 +00:00
Kevin Ryde
ad1c1f1808 (File System): In access?, reword a bit, clarify real
versus effective ID handling, cross reference glibc on that, and
recommend against access tests in library functions.
2003-09-21 01:18:26 +00:00
Kevin Ryde
69fc37da29 Add ice-9 popen duplicate pipe fd fix. 2003-09-19 01:30:54 +00:00
Kevin Ryde
518a07ad84 *** empty log message *** 2003-09-19 01:29:17 +00:00
Kevin Ryde
9b4bbf4752 *** empty log message *** 2003-09-19 01:19:48 +00:00
Kevin Ryde
3bdc8f4d17 * tests/popen.test: New file.
* Makefile.am (SCM_TESTS): Add it.
2003-09-19 01:06:14 +00:00
Kevin Ryde
3e690887f5 New file. 2003-09-19 01:05:13 +00:00
Kevin Ryde
a118e0eb5a (open-process): Correction to previous fdes closing
change, need to watch out for stdin==stderr or stdout==stderr.
2003-09-19 01:01:10 +00:00
Dirk Herrmann
534c55a97d This set of patches introduces a new tc7 code scm_tc7_number for
numbers.  Bignums, reals and complex numbers are turned from smobs
	into subtypes of scm_tc7_number.

	* tags.h (scm_tc7_number): New.

	* eq.c (scm_equal_p), eval.c (SCM_CEVAL), evalext.c
	(scm_self_evaluating_p), gc-card.c (scm_i_sweep_card), gc-mark.c
	(scm_gc_mark_dependencies), goops.c (create_smob_classes), hash.c
	(scm_hasher), numbers.c, numbers.h (SCM_NUMP), objects.c
	(scm_class_of), print.c (scm_iprin1), smob.c
	(scm_smob_prehistory): Don't handle bignums, reals and complex
	numbers as subtypes of scm_tc7_smob any more.

	* numbers.h, tags.h (scm_tc16_big, scm_tc16_real,
	scm_tc16_complex): Moved definitions from tags.h to numbers.h.
2003-09-18 20:55:40 +00:00
Dirk Herrmann
29c4382afd * numbers.c (scm_make_complex), gc-card.c (scm_i_sweep_card): Use
sizeof (scm_t_complex) to determine the memory size of the
	malloc'd area for complex numbers.
2003-09-18 20:18:17 +00:00
Dirk Herrmann
47ae1f0eca * libguile/numbers.c (scm_bigequal): Fixed.
* test-suite/tests/numbers.test (equal?): Added tests.

	* test-suite/tests/numbers.test (=): Fixed and added some bignum
        related tests.
2003-09-17 21:03:26 +00:00
Marius Vollmer
859b6b2fff *** empty log message *** 2003-09-16 21:21:28 +00:00
Marius Vollmer
2d99b584ac (scm_current_time): 'time' does not set errno so don't use
SCM_SYSERROR for reporting errors.
2003-09-16 21:18:26 +00:00
Dirk Herrmann
e17d318faa This set of patches eliminates the dependency between the
implementation of evaluator specific memoization codes and special
	constants like #f, '() etc. ('flags'), which are not evaluator
	specific.  The goal is to remove definitions of evaluator
	memoization codes completely from the public interface.  This will
	make it possible to experiment more freely with optimizations of
	guile's internal representation of memoized code.

	* objects.c (scm_class_of): Eliminate dependency on SCM_ISYMNUM.

	* print.c (iflagnames): New array, holding the printed names of
	guile's special constants ('flags').

	(scm_isymnames): Now holds only the printed names of the
	memoization codes.

	(scm_iprin1): Separate the handling of memoization codes and
	guile's special constants.

	* tags.h (scm_tc9_flag, SCM_ITAG9, SCM_MAKE_ITAG9, SCM_ITAG9_DATA,
	SCM_IFLAGNUM): new

	(scm_tc8_char, scm_tc8_iloc, SCM_BOOL_F, SCM_BOOL_T,
	SCM_UNDEFINED, SCM_EOF_VAL, SCM_EOL, SCM_UNSPECIFIED, SCM_UNBOUND,
	SCM_ELISP_NIL, SCM_IM_DISPATCH, SCM_IM_SLOT_REF,
	SCM_IM_SLOT_SET_X, SCM_IM_DELAY, SCM_IM_FUTURE,
	SCM_IM_CALL_WITH_VALUES, SCM_IM_NIL_COND, SCM_IM_BIND): Changed
	values.

	(SCM_IFLAGP): SCM_IFLAGP now only tests for flags.

	(SCM_IFLAGP, SCM_MAKIFLAG, SCM_IFLAGNUM): Generalized to use the
	tc9 macros and scm_tc9_flag.
2003-09-16 17:37:56 +00:00
Kevin Ryde
cd56b18192 Fix a grammatical typo in my last entry. 2003-09-15 22:47:27 +00:00
Kevin Ryde
f319727482 Add another comment to:
(file-exists?): Use stat rather than access?, ...
2003-09-15 22:29:32 +00:00
Marius Vollmer
5dc1ba739f *** empty log message *** 2003-09-15 13:38:07 +00:00
Marius Vollmer
093d2ca9af (format): Rewritten as a big letrec to make it reentrant. No mutex is
necessary.  Thanks to Clinton Ebadi!
2003-09-15 13:37:50 +00:00
Marius Vollmer
eecac80630 *** empty log message *** 2003-09-15 12:37:16 +00:00
Marius Vollmer
2eb78d0670 (scm_setgroups): Check that the gid list is not too long. Thanks to
Paul Jarc!
2003-09-15 12:36:57 +00:00
Dirk Herrmann
22f2cf2d9a * tags.h: Reduced the number of short instructions from 14 to 13.
The typecode of the former 14th short instruction is now used to
	represent long instructions.  Changed some comments to reflect
	this fact.

	(SCM_MAKISYM): ISYMs get a new tc7 code, namely the one that was
	previously used by SCM_IM_DEFINE.

	(SCM_IM_DEFINE): Turned into a long instruction.

	* eval.c (unmemocopy, SCM_CEVAL): Treat SCM_IM_DEFINE as a long
	instruction.

	* eval.c (SCM_CEVAL): Since characters and iflags have now a tc7
	code that is separate from all instructions, one level of dispatch
	for long instructions can be eliminated.

	* print.c (scm_isymnames): Removed some commented code.
2003-09-14 08:07:10 +00:00
Kevin Ryde
89990cc656 *** empty log message *** 2003-09-13 00:39:44 +00:00
Kevin Ryde
85600a0f78 (SRFI-19): Rewrite, adding descriptions of all
functions, and a bit of an introduction.
2003-09-13 00:39:16 +00:00
Kevin Ryde
9f5e5b5601 *** empty log message *** 2003-09-13 00:18:46 +00:00
Kevin Ryde
c537e01bce (Append/Reverse): Merge reverse and reverse!,
describe newtail parameter for reverse!, remove confusing caveat about
head becoming tail for reverse!.
2003-09-13 00:12:08 +00:00
Kevin Ryde
eee36f2105 (Reading): Add scm_c_read.
(Writing): Add scm_c_write.
2003-09-13 00:09:14 +00:00
Kevin Ryde
57066448c2 (SRFI-1 Constructors): Add list-copy. 2003-09-13 00:01:48 +00:00
Kevin Ryde
957f9f622d (Network Address Conversion): Under IPv4, describe
numeric representation in Guile, add INADDR_LOOPBACK and
INADDR_BROADCAST, add commented-out INADDR_NONE.
2003-09-12 23:59:30 +00:00