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

8995 commits

Author SHA1 Message Date
Kevin Ryde
9b4bbf4752 *** empty log message *** 2003-09-19 01:19:48 +00:00
Kevin Ryde
7c45fc4df5 Add ice-9 popen duplicate pipe fd fix. 2003-09-19 01:18:20 +00:00
Kevin Ryde
3a4f981f2b *** empty log message *** 2003-09-19 01:12:08 +00:00
Kevin Ryde
557b225f49 (open-process): Close input-fdes, output-fdes and
error-fdes after duping them to 0, 1 and 2.
2003-09-19 01:11:34 +00:00
Kevin Ryde
0ed417f42b New file. 2003-09-19 01:07:57 +00:00
Kevin Ryde
89eff59fd0 * tests/popen.test: New file.
* Makefile.am (SCM_TESTS): Add it.
2003-09-19 01:07:16 +00:00
Kevin Ryde
3bdc8f4d17 * tests/popen.test: New file.
* Makefile.am (SCM_TESTS): Add it.
2003-09-19 01:06:14 +00:00
cvs2svn
0ad5796162 This commit was manufactured by cvs2svn to create branch
'branch_release-1-6'.
2003-09-19 01:05: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
Kevin Ryde
5c3917e7f5 (File System): In stat:dev and stat:mode, clarify that both are numbers. 2003-09-12 23:57:03 +00:00
Kevin Ryde
eaa032c389 (Reading): In port-column, port-line,
set-port-column! and set-port-line!, port parameter must be given,
there's no default to current input.
2003-09-12 23:55:03 +00:00
Kevin Ryde
f45fd5e126 *** empty log message *** 2003-09-12 23:50:23 +00:00
Kevin Ryde
e4e92cf0af (file-exists?): Use stat rather than access?, so as to
follow the effective UID/GID not the real ID.  file-exists? is
normally be used as a prelude to opening or some other operation, and
it's the effective ID which will apply there.  Emacs file-exists-p
uses stat, presumably for the the same reason.
2003-09-12 23:49:08 +00:00
Kevin Ryde
7743d628c6 *** empty log message *** 2003-09-12 23:47:35 +00:00
Kevin Ryde
833fc2f186 (file-exists?): Use stat rather than access?, so as to
follow the effective UID/GID not the real ID.  file-exists? is
normally be used as a prelude to opening or some other operation, and
it's the effective ID which will apply there.  Emacs file-exists-p
uses stat, presumably for the the same reason.
2003-09-12 23:35:54 +00:00
Marius Vollmer
97a61c5f91 *** empty log message *** 2003-09-12 15:43:04 +00:00
Marius Vollmer
189b66ba87 (SCM_FENCE): Use __memory_barrier with the Intel compiler on IA64. 2003-09-12 15:42:29 +00:00
Marius Vollmer
e721987c47 *** empty log message *** 2003-09-12 15:32:46 +00:00
Marius Vollmer
deddb10425 * continuations.h: Include <ucontext.h> on IA64 instead of
<sys/ucontext.h>.
* continuations.c (scm_make_continuation): Use ia64_getcontext
instead of getcontext on IA64.
2003-09-12 15:32:15 +00:00
Marius Vollmer
50e0ba57da *** empty log message *** 2003-09-12 15:16:56 +00:00
Marius Vollmer
eb84efa171 (make-autoload-interface): Use a proper hashtable as
the obarray, not an empty vector.
(make-module): Always construct a hashtable for the obarray, even
for empty ones.
2003-09-12 15:16:42 +00:00
Marius Vollmer
8da867bfc6 (format:error): Use 'format:format' instead of
'format' since the latter will lock the mutex again that we have
already locked.
(format:format-work): Flag multiple '#' as an error.
2003-09-12 15:14:25 +00:00
Marius Vollmer
cdc5f67652 (scm_tc16_hashtable): Added "extern" declaration. 2003-09-12 15:11:59 +00:00
Marius Vollmer
6dc1cd1eec (scm_module_reverse_lookup): Check that the obarray really is a
hashtable and do nothing if not.
2003-09-12 15:11:09 +00:00
Marius Vollmer
62f548e16c *** empty log message *** 2003-09-12 14:14:05 +00:00
Marius Vollmer
2b2c6fca20 Use "extern inline" only with GCC. Use "static
inline" else.
2003-09-12 14:13:48 +00:00
Dirk Herrmann
0d5e348022 * numbers.h (SCM_INEXACTP, SCM_REALP, SCM_COMPLEXP): Removed uses
of SCM_SLOPPY_INEXACTP, SCM_SLOPPY_REALP and SCM_SLOPPY_COMPLEXP.

	* numbers.h, deprecated.h (SCM_SLOPPY_INEXACTP, SCM_SLOPPY_REALP,
	SCM_SLOPPY_COMPLEXP): Deprecated and moved from numbers.h to
	deprecated.h.
2003-09-06 09:17:29 +00:00
Dirk Herrmann
6b412e9171 * eq.c (scm_eqv_p, scm_equal_p): Removed uses of
SCM_SLOPPY_INEXACTP, SCM_SLOPPY_REALP and SCM_SLOPPY_COMPLEXP.

	* eq.c (scm_eqv_p, scm_equal_p): Reordered comparisons from
	0.0==some_expression to some_expression==0.0.  The latter is
	better readable.  The former is preferred by some people, since it
	leads to a compiler error when confusing == with =.  However, when
	using gcc, a warning will be issued if in an if-statement an
	assigment appears.  Since many Guile developers are using gcc,
	such errors will not remain unnoticed anyway.  We can therefore
	focus on better readability.
2003-09-06 08:50:26 +00:00
Dirk Herrmann
7e3b25bf51 * tags.h: Added description of Guile's type system. Removed some
old and misleading comments.
2003-09-04 20:47:41 +00:00