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

2288 commits

Author SHA1 Message Date
Dirk Herrmann
bc66755eef Don't use C operators to compare SCM values. 2000-04-11 13:45:01 +00:00
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
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
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
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
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
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
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
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
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
Mikael Djurfeldt
1978b33ef8 *** empty log message *** 2000-03-29 01:58:30 +00:00
Mikael Djurfeldt
31bc6de36a * threads.c (scm_init_threads): Pass 0 size to scm_make_smob_type
for scm_tc16_thread.  As the current COOP threads are written, GC
is not supposed to manage storage for threads.
2000-03-29 01:58:17 +00:00
Mikael Djurfeldt
ef18914a94 * error.c (scm_error): Don't try to throw an error if
scm_gc_heap_lock is true.
2000-03-29 01:57:54 +00:00
Mikael Djurfeldt
f85a9bcf5f * coop.c (coop_finish): New function. Called at exit.
(coop_aborthelp): Free thread structures when threads die.
Finished LinuxThreads compatibility support => COOP threads now
mesh with LinuxThreads.
2000-03-29 01:57:40 +00:00
Mikael Djurfeldt
0e551780ec * coop-threads.c (scm_call_with_new_thread, scm_spawn_thread):
Changed SETCDR --> SET_CELL_WORD_1.

* coop-threads.c (scheme_launch_thread): Set word 1 of handle to 0
when thread dies.
2000-03-29 01:57:25 +00:00
Mikael Djurfeldt
ad1a269029 Removed definition of GUILE_PTHREAD_COMPAT inside commentary 2000-03-29 01:57:12 +00:00
Dirk Herrmann
dd039d6dc6 * New macro SCM_TRUE_P.
* Use SCM_EQ_P to compare SCM values.
2000-03-29 01:15:56 +00:00
Dirk Herrmann
8b3bda2058 Cleaned up continuation data access. 2000-03-28 17:13:40 +00:00
Dirk Herrmann
3210f49a6f Use SCM_{SET_}?CELL_WORD_[01] to access length and char * fields
of strings and symbols.
2000-03-28 10:16:16 +00:00
Dirk Herrmann
2d67e39007 Use SCM_{SET_}?CELL_TYPE when accessing the type entry of a cell. 2000-03-27 22:43:37 +00:00
Dirk Herrmann
76a369d95d * SCM_C[AD]R and SCM_SETC[AD]R use SCM_{SET_}?OBJECT now.
* Moved SCM_GCCDR from pairs.h to tags.h.
2000-03-27 12:42:16 +00:00
Dirk Herrmann
2549a7096d Moved some cell related definitions from tags.h and pairs.h to gc.h. 2000-03-26 10:08:52 +00:00