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

3964 commits

Author SHA1 Message Date
Dirk Herrmann
828865c30d * (scm_quotient, scm_modulo): Reordered to handle the case of immediate
numbers parameters first.  Also, only use decoded numbers for numerical
comparison.
2000-04-11 13:00:15 +00:00
Gary Houston
d8859d6bd8 *** empty log message *** 2000-04-10 21:56:38 +00:00
Gary Houston
70cb4fa6ac * popen.scm (open-process): after forking, close all ports except
the end of the pipe to the parent.  otherwise move->fdes and
	the exec'd program and the exit handlers can interfere with file
	descriptors still in use in parent ports.
2000-04-10 21:55:53 +00:00
Mikael Djurfeldt
1cf49a85c9 * objects.h: Don't redeclare scm_call_generic_0 and
scm_apply_generic.  (Thanks to Tal Tversky.)
2000-04-10 20:37:48 +00:00
Mikael Djurfeldt
abfadf764a *** empty log message *** 2000-04-10 20:37:23 +00:00
Dirk Herrmann
dba97178b1 scm_hasher: Use symbolic names for the tc3 constants and some SCM usage
cleanups.
2000-04-10 14:29:26 +00:00
Mikael Djurfeldt
3da01fa367 *** empty log message *** 2000-04-10 12:38:19 +00:00
Mikael Djurfeldt
51523cd1f2 * coop.c (mother): Handled EINTR (the wait has been interrupted by
a signal).
2000-04-10 12:35:57 +00:00
Gary Houston
bf0e28d8f1 *** empty log message *** 2000-04-09 21:10:33 +00:00
Gary Houston
2969637c9e * popen.scm (close-process-quietly): new procedure. use it from
reap-pipes to avoid errors or hanging during background cleanup.
2000-04-09 21:10:06 +00:00
Dirk Herrmann
451e591cdd Some SCM/scm_bits_t type strictness fixes. 2000-04-07 10:41:39 +00:00
Michael Livshin
e94e3f21d6 * async.[ch]: unexpose low-level async access macros (thanks to
Dirk Herrmann).

* validate.h: move async validation macros to async.c (nobody else
needs them anyway), and rename them.
2000-04-05 15:28:28 +00:00
Michael Livshin
843e4e9d17 * async.h: kill the scm_async_t struct. having a heap cell
pretending to be a C struct is not helthy, and is not needed here
anyway, as asyncs happily fit in one heap cell.

* async.c: reflect the fact that asyncs are now represented by
single heap cell each.
2000-04-04 20:07:11 +00:00
Gary Houston
873c35ee82 *** empty log message *** 2000-04-04 19:12:59 +00:00
Gary Houston
1de052a72c * error.c (scm_syserror): save errno before doing anything else,
since it's used in two expressions and may get mutated (thanks to
	Dirk Herrmann).
2000-04-04 19:11:58 +00:00
Dirk Herrmann
4260a7fced Lots of fixes with respect to strict typing. 2000-04-04 12:13:41 +00:00
Mikael Djurfeldt
304b56da60 *** empty log message *** 2000-04-04 11:40:49 +00:00
Mikael Djurfeldt
186cf94654 * format.scm (format:obj->str): Handle circular references. Also,
print improper lists with (x y . z) syntax rather than as
individual pairs.  (This code should probably be integrated into C
level facilities.  It is currently terribly slow.)
2000-04-04 11:40:39 +00:00
Dirk Herrmann
f60d011a05 Fix handling of SCM value with regard to strict typing. 2000-04-04 10:46:08 +00:00
Mikael Djurfeldt
5b15c3b457 *** empty log message *** 2000-04-04 09:15:11 +00:00
Mikael Djurfeldt
5d46ebe36d * print.c: Removed promise to rewrite printer code before next
release.  :)
2000-04-04 09:15:03 +00:00
Mikael Djurfeldt
395c856721 *** empty log message *** 2000-04-03 19:45:32 +00:00
Mikael Djurfeldt
26cbcbf968 * iselect.c (add_fd_sets): Insert empty statement after label.
(Thanks to Tim Mooney.)
2000-04-03 19:45:20 +00:00
Michael Livshin
f6e2fd8bf3 tweaked ChangeLog comments alittle 2000-04-03 15:56:17 +00:00
Michael Livshin
b87e3d4d19 * streams.scm (stream-fold, stream-for-each): don't use named let,
because it prevents the gc from junking the stream argument.
2000-04-03 15:38:35 +00:00
Michael Livshin
50fecba92d * guardians.c (scm_guardian_zombify): mark all zombies in a
separate loop after processing all the currently known live
guardians, so as to not introduce order dependencies (thanks to
Gary Houston).  also, make another outer loop to process zombified
guardians (which are uncovered while marking zombies).
2000-04-03 13:55:54 +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
Gary Houston
abeed82198 *** empty log message *** 2000-04-02 21:53:17 +00:00
Gary Houston
e46f3fa6ba * guardians.c (TCONC_IN, scm_make_guardian): set the CDR of the
empty tconc pair to SCM_EOL instead of SCM_BOOL_F, avoiding the
	use of an improper list (which breaks g_print.  g_print isn't
	used).
	guardians.c: Added more comments and modified the make-guardian
	docstring.  Reordered a few procedures.
2000-04-02 21:52:49 +00:00
Dirk Herrmann
cf49832683 Some fixes for strict typing. 2000-04-01 21:23:09 +00:00
Gary Houston
47a4dcc5b4 *** empty log message *** 2000-03-31 19:24:09 +00:00
Gary Houston
8cc58ec1cc * tests/ports.test (non-blocking-I/O): a couple more details:
a) combine the O_NONBLOCK flag with the default flags instead
	of replacing them.  b) check EWOULDBLOCK as well as EAGAIN.
2000-03-31 19:23:52 +00:00
Dirk Herrmann
cffcab3013 Some more SCM/scm_bits_t and SCM-is-union issues. 2000-03-31 15:59:57 +00:00
Dirk Herrmann
7fa93bf859 Use SCM_EQ_P to compare scheme objects, use SCM_CELL_WORD_1 for raw data. 2000-03-31 13:34:30 +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
Mikael Djurfeldt
6a87835719 *** empty log message *** 2000-03-30 23:32:56 +00:00
Mikael Djurfeldt
5c90be5282 * coop-defs.h (struct coop_t): Added `sto'-field again because of
binary compatibility---let's remove it next time we alter some
major structure.
2000-03-30 23:32:45 +00:00
Mikael Djurfeldt
b6cc0ef66d *** empty log message *** 2000-03-30 23:23:28 +00:00
Mikael Djurfeldt
6219b5eb41 * coop.c (coop_quitting_p, coop_cond_create, coop_mutex_create,
coop_mother, coop_child): New variables.
(mother): New function.
(coop_create): New thread spawning mechanism which uses a "mother
thread".  The "dummy" pthreads aren't healthy enough to give birth
to new threads since Linux threads thinks they are asleep.
2000-03-30 23:23:10 +00:00
Mikael Djurfeldt
2f511ab1aa * coop-defs.h (struct coop_t): Removed dummy_mutex.
* coop-defs.h, coop-threads.c (struct coop_t): Eliminate
`sto'-field when GUILE_PTHREAD_COMPAT is enabled.
2000-03-30 23:22:50 +00:00
Mikael Djurfeldt
21aab5c929 * coop-defs.h, coop-threads.c (struct coop_t): Eliminate
`sto'-field when GUILE_PTHREAD_COMPAT is enabled.
2000-03-30 23:18:39 +00:00
Dirk Herrmann
843524cc20 Fix some typing issues wrt SCM/scm_bits_t. 2000-03-30 09:15:15 +00:00
Dirk Herrmann
fbd485ba49 Don't use C operators == and != to compare SCM values. 2000-03-29 16:22:57 +00:00
Mikael Djurfeldt
91163914cf *** empty log message *** 2000-03-29 11:02:44 +00:00
Mikael Djurfeldt
0208baa0d9 *** empty log message *** 2000-03-29 10:52:26 +00:00
Mikael Djurfeldt
7a8e7a6ce2 * coop-threads.c (scm_call_with_new_thread, scm_spawn_thread,
scm_make_mutex, scm_make_condition_variable): Cast data to
scm_bits_t in SCM_SET_CELL_WORD and SCM_NEWSMOB macros.
2000-03-29 10:52:07 +00:00
Mikael Djurfeldt
64e3bf6c38 *** empty log message *** 2000-03-29 10:44:28 +00:00
Mikael Djurfeldt
e4d2166f80 * configure.in: Enable workaround for COOP-linuxthreads
compatibility on Linux systems.
2000-03-29 10:44:13 +00:00
Mikael Djurfeldt
ac1aca3515 * coop.c (coop_create): Set specific' field, not data' to NULL. 2000-03-29 10:43:18 +00:00
Dirk Herrmann
941132492e Access smob data with SCM_{SET_}?CELL_TYPE or SCM_{SET_}?WORD_[1-3]. 2000-03-29 09:17:25 +00:00