Mikael Djurfeldt [Fri, 21 Apr 2000 14:16:44 +0000 (14:16 +0000)]
* Makefile.am (DEFS): Added. automake adds -I options to DEFS,
and we don't want that.
(INCLUDES): Removed all -I options except for the root source
directory and the root build directory.
* *.*: Change includes so that they always use the "prefixes"
libguile/, qt/, guile-readline/, or libltdl/.
(Thanks to Tim Mooney.)
Mikael Djurfeldt [Fri, 21 Apr 2000 14:12:45 +0000 (14:12 +0000)]
*** empty log message ***
Mikael Djurfeldt [Fri, 21 Apr 2000 14:12:05 +0000 (14:12 +0000)]
* qthreads.m4: Removed THREADS_CPPFLAGS.
Mikael Djurfeldt [Fri, 21 Apr 2000 14:11:50 +0000 (14:11 +0000)]
* acinclude.m4: Removed qthreads macros. They are provided in
qthreads.m4, so these were redundant.
Mikael Djurfeldt [Fri, 21 Apr 2000 11:36:09 +0000 (11:36 +0000)]
*** empty log message ***
Mikael Djurfeldt [Fri, 21 Apr 2000 11:35:39 +0000 (11:35 +0000)]
* numbers.c (scm_odd_p, scm_even_p): Use SCM_WRONG_TYPE_ARG
instead of SCM_ASSERT (0, ...). (Some compilers will complain
about control reaching end of function otherwise, and, besides,
the new code is not less clear.)
Mikael Djurfeldt [Fri, 21 Apr 2000 00:27:52 +0000 (00:27 +0000)]
*** empty log message ***
Mikael Djurfeldt [Fri, 21 Apr 2000 00:27:27 +0000 (00:27 +0000)]
* init.c (scm_boot_guile_1): Added calls to debug-malloc init
functions.
Mikael Djurfeldt [Fri, 21 Apr 2000 00:27:14 +0000 (00:27 +0000)]
* debug-malloc.c, debug-malloc.h: New files.
Mikael Djurfeldt [Fri, 21 Apr 2000 00:26:35 +0000 (00:26 +0000)]
* gc.c (scm_must_malloc, scm_must_realloc, scm_must_free): Added
calls to malloc debugging functions.
Mikael Djurfeldt [Fri, 21 Apr 2000 00:26:13 +0000 (00:26 +0000)]
* Makefile.am: Added debug-malloc.c, debug-malloc.h,
debug-malloc.x.
Mikael Djurfeldt [Fri, 21 Apr 2000 00:24:26 +0000 (00:24 +0000)]
* configure.in: New --enable-debug-malloc configuration option.
Mikael Djurfeldt [Fri, 21 Apr 2000 00:24:11 +0000 (00:24 +0000)]
* acconfig.h (GUILE_DEBUG_MALLOC): New.
Dirk Herrmann [Thu, 20 Apr 2000 15:51:09 +0000 (15:51 +0000)]
Added documentation strings and reordered some dispatch sequences.
Dirk Herrmann [Wed, 19 Apr 2000 16:47:11 +0000 (16:47 +0000)]
Some cleanups with regard to the use of SCM2PTR and casts to SCM_CELLPTR.
Dirk Herrmann [Wed, 19 Apr 2000 11:32:05 +0000 (11:32 +0000)]
Again, SCM/scm_bits_t mixup fixes.
Dirk Herrmann [Wed, 19 Apr 2000 09:37:48 +0000 (09:37 +0000)]
* Another couple of SCM/scm_bits_t cleanups.
* eval.c: replaced undef_cell by undef_object.
* eval.c: made some struct vcell accesses explicit.
Mikael Djurfeldt [Wed, 19 Apr 2000 03:31:02 +0000 (03:31 +0000)]
*** empty log message ***
Mikael Djurfeldt [Wed, 19 Apr 2000 03:28:21 +0000 (03:28 +0000)]
* struct.c (scm_struct_free_light, scm_struct_free_standard,
scm_struct_free_entity): Use `scm_must_free' instead of `free'.
Mikael Djurfeldt [Wed, 19 Apr 2000 03:26:13 +0000 (03:26 +0000)]
* numbers.c (scm_adjbig): Tell scm_must_realloc "what" instead of "who".
Mikael Djurfeldt [Wed, 19 Apr 2000 03:25:22 +0000 (03:25 +0000)]
* procs.c (scm_make_subr_opt): Tell scm_must_realloc that we're
realloc:ing scm_subr_table ("what" instead of "who").
Dirk Herrmann [Tue, 18 Apr 2000 15:49:34 +0000 (15:49 +0000)]
Fixed a stupid bug introduced with the last patch. Sorry.
Greg J. Badros [Tue, 18 Apr 2000 15:23:11 +0000 (15:23 +0000)]
* validate.h: Do not cast to (unsigned) in SCM_VALIDATE_INUM_RANGE
when testing high-end of the range. Mikael Djurfeldt noticed this
anomaly -- thanks Mikael!
Dirk Herrmann [Tue, 18 Apr 2000 14:12:07 +0000 (14:12 +0000)]
Fixed some SCM/scm_bits_t mixups.
Mikael Djurfeldt [Tue, 18 Apr 2000 11:30:35 +0000 (11:30 +0000)]
*** empty log message ***
Mikael Djurfeldt [Tue, 18 Apr 2000 11:30:00 +0000 (11:30 +0000)]
* script.c (scm_compile_shell_switches): Also enable
record-positions when given the --debug option. (Thanks to Diego
Dainese.)
Dirk Herrmann [Tue, 18 Apr 2000 07:24:24 +0000 (07:24 +0000)]
Fixed some SCM/scm_bits_t mixups and initialization problems.
Dirk Herrmann [Mon, 17 Apr 2000 16:25:11 +0000 (16:25 +0000)]
* struct.c, struct.h: Struct data regions (and thus also vtable data regions)
are now C arrays of scm_bits_t elements.
* gc.c: Made the mixup of glocs and structs explicit.
Dirk Herrmann [Mon, 17 Apr 2000 15:05:20 +0000 (15:05 +0000)]
* eval.c (scm_unmemocar): Use macros to test for gloc cell.
* eval.h (SCM_IFRAME, SCM_IDIST), weaks.h (SCM_IS_WHVEC_ANY): Added missing
call to SCM_UNPACK.
Mikael Djurfeldt [Mon, 17 Apr 2000 03:17:02 +0000 (03:17 +0000)]
Renamed SCM_VALIDATE_REAL_COPY --> SCM_VALIDATE_REAL_NUMBER.
Mikael Djurfeldt [Mon, 17 Apr 2000 02:55:28 +0000 (02:55 +0000)]
*** empty log message ***
Mikael Djurfeldt [Mon, 17 Apr 2000 02:55:00 +0000 (02:55 +0000)]
* validate.h (SCM_VALIDATE_INUM_RANGE_COPY,
SCM_VALIDATE_REAL_COPY): New macros.
Mikael Djurfeldt [Sun, 16 Apr 2000 23:02:04 +0000 (23:02 +0000)]
*** empty log message ***
Mikael Djurfeldt [Sun, 16 Apr 2000 23:01:51 +0000 (23:01 +0000)]
* validate.h (SCM_VALIDATE_INUM_RANGE_COPY): New macro.
Mikael Djurfeldt [Sun, 16 Apr 2000 14:22:30 +0000 (14:22 +0000)]
*** empty log message ***
Mikael Djurfeldt [Sun, 16 Apr 2000 14:22:22 +0000 (14:22 +0000)]
* script.c (scm_compile_shell_switches): Added --debug option.
Mikael Djurfeldt [Sun, 16 Apr 2000 02:04:25 +0000 (02:04 +0000)]
*** empty log message ***
Mikael Djurfeldt [Sun, 16 Apr 2000 02:02:31 +0000 (02:02 +0000)]
* r4rs.scm (close-input-port, close-output-port): Removed.
Mikael Djurfeldt [Sat, 15 Apr 2000 22:24:29 +0000 (22:24 +0000)]
*** empty log message ***
Mikael Djurfeldt [Sat, 15 Apr 2000 22:24:14 +0000 (22:24 +0000)]
* vectors.c (scm_vector_set_x): Return SCM_UNSPECIFIED (as
specified by R5RS).
Mikael Djurfeldt [Sat, 15 Apr 2000 19:34:09 +0000 (19:34 +0000)]
*** empty log message ***
Mikael Djurfeldt [Sat, 15 Apr 2000 19:30:16 +0000 (19:30 +0000)]
* validate.h (SCM_VALIDATE_INPUT_PORT, SCM_VALIDATE_OUTPUT_PORT):
New macros.
Cleanup of code layout.
Mikael Djurfeldt [Sat, 15 Apr 2000 19:29:58 +0000 (19:29 +0000)]
* ports.h (SCM_INPUT_PORT_P, SCM_OUTPUT_PORT_P): New macros.
(SCM_INPORTP, SCM_OUTPORTP): Marked as deprecated.
* ports.c, ports.h (close-input-port, close-output-port): New R5RS
procedures.
Mikael Djurfeldt [Sat, 15 Apr 2000 19:29:47 +0000 (19:29 +0000)]
* ports.c, ports.h (close-input-port, close-output-port): New R5RS
procedures.
Dirk Herrmann [Thu, 13 Apr 2000 12:02:18 +0000 (12:02 +0000)]
* Made scm_dynthrow static.
* Simplified and optimized the continuation calling code.
Mikael Djurfeldt [Thu, 13 Apr 2000 03:45:07 +0000 (03:45 +0000)]
*** empty log message ***
Mikael Djurfeldt [Thu, 13 Apr 2000 03:44:51 +0000 (03:44 +0000)]
* unif.c, unif.h (shared-array-root, shared-array-offset,
shared-array-increments): New primitives.
Mikael Djurfeldt [Thu, 13 Apr 2000 00:29:22 +0000 (00:29 +0000)]
Typo
Mikael Djurfeldt [Thu, 13 Apr 2000 00:15:21 +0000 (00:15 +0000)]
*** empty log message ***
Mikael Djurfeldt [Thu, 13 Apr 2000 00:08:44 +0000 (00:08 +0000)]
*** empty log message ***
Mikael Djurfeldt [Thu, 13 Apr 2000 00:08:22 +0000 (00:08 +0000)]
* session.scm (help): New macro. Prints helpful information.
Mikael Djurfeldt [Wed, 12 Apr 2000 21:55:36 +0000 (21:55 +0000)]
*** empty log message ***
Dirk Herrmann [Wed, 12 Apr 2000 12:48:11 +0000 (12:48 +0000)]
The msymbol slots are now a field of scm_bits_t values.
Dirk Herrmann [Wed, 12 Apr 2000 09:58:43 +0000 (09:58 +0000)]
Fix some SCM/scm_bits_t mismatches.
Dirk Herrmann [Wed, 12 Apr 2000 01:19:49 +0000 (01:19 +0000)]
The struct data is now an array of scm_bits_t variables.
Dirk Herrmann [Tue, 11 Apr 2000 22:36:55 +0000 (22:36 +0000)]
The struct vtable data is now an array of scm_bits_t variables.
Dirk Herrmann [Tue, 11 Apr 2000 13:45:01 +0000 (13:45 +0000)]
Don't use C operators to compare SCM values.
Dirk Herrmann [Tue, 11 Apr 2000 13:00:15 +0000 (13:00 +0000)]
* (scm_quotient, scm_modulo): Reordered to handle the case of immediate
numbers parameters first. Also, only use decoded numbers for numerical
comparison.
Gary Houston [Mon, 10 Apr 2000 21:56:38 +0000 (21:56 +0000)]
*** empty log message ***
Gary Houston [Mon, 10 Apr 2000 21:55:53 +0000 (21:55 +0000)]
* 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.
Mikael Djurfeldt [Mon, 10 Apr 2000 20:37:48 +0000 (20:37 +0000)]
* objects.h: Don't redeclare scm_call_generic_0 and
scm_apply_generic. (Thanks to Tal Tversky.)
Mikael Djurfeldt [Mon, 10 Apr 2000 20:37:23 +0000 (20:37 +0000)]
*** empty log message ***
Dirk Herrmann [Mon, 10 Apr 2000 14:29:26 +0000 (14:29 +0000)]
scm_hasher: Use symbolic names for the tc3 constants and some SCM usage
cleanups.
Mikael Djurfeldt [Mon, 10 Apr 2000 12:38:19 +0000 (12:38 +0000)]
*** empty log message ***
Mikael Djurfeldt [Mon, 10 Apr 2000 12:35:57 +0000 (12:35 +0000)]
* coop.c (mother): Handled EINTR (the wait has been interrupted by
a signal).
Gary Houston [Sun, 9 Apr 2000 21:10:33 +0000 (21:10 +0000)]
*** empty log message ***
Gary Houston [Sun, 9 Apr 2000 21:10:06 +0000 (21:10 +0000)]
* popen.scm (close-process-quietly): new procedure. use it from
reap-pipes to avoid errors or hanging during background cleanup.
Dirk Herrmann [Fri, 7 Apr 2000 10:41:39 +0000 (10:41 +0000)]
Some SCM/scm_bits_t type strictness fixes.
Michael Livshin [Wed, 5 Apr 2000 15:28:28 +0000 (15:28 +0000)]
* 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.
Michael Livshin [Tue, 4 Apr 2000 20:07:11 +0000 (20:07 +0000)]
* 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.
Gary Houston [Tue, 4 Apr 2000 19:12:59 +0000 (19:12 +0000)]
*** empty log message ***
Gary Houston [Tue, 4 Apr 2000 19:11:58 +0000 (19:11 +0000)]
* 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).
Dirk Herrmann [Tue, 4 Apr 2000 12:13:41 +0000 (12:13 +0000)]
Lots of fixes with respect to strict typing.
Mikael Djurfeldt [Tue, 4 Apr 2000 11:40:49 +0000 (11:40 +0000)]
*** empty log message ***
Mikael Djurfeldt [Tue, 4 Apr 2000 11:40:39 +0000 (11:40 +0000)]
* 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.)
Dirk Herrmann [Tue, 4 Apr 2000 10:46:08 +0000 (10:46 +0000)]
Fix handling of SCM value with regard to strict typing.
Mikael Djurfeldt [Tue, 4 Apr 2000 09:15:11 +0000 (09:15 +0000)]
*** empty log message ***
Mikael Djurfeldt [Tue, 4 Apr 2000 09:15:03 +0000 (09:15 +0000)]
* print.c: Removed promise to rewrite printer code before next
release. :)
Mikael Djurfeldt [Mon, 3 Apr 2000 19:45:32 +0000 (19:45 +0000)]
*** empty log message ***
Mikael Djurfeldt [Mon, 3 Apr 2000 19:45:20 +0000 (19:45 +0000)]
* iselect.c (add_fd_sets): Insert empty statement after label.
(Thanks to Tim Mooney.)
Michael Livshin [Mon, 3 Apr 2000 15:56:17 +0000 (15:56 +0000)]
tweaked ChangeLog comments alittle
Michael Livshin [Mon, 3 Apr 2000 15:38:35 +0000 (15:38 +0000)]
* streams.scm (stream-fold, stream-for-each): don't use named let,
because it prevents the gc from junking the stream argument.
Michael Livshin [Mon, 3 Apr 2000 13:55:54 +0000 (13:55 +0000)]
* 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).
Dirk Herrmann [Mon, 3 Apr 2000 08:47:51 +0000 (08:47 +0000)]
Lots of fixes to make guile (at some time) compile with strict typing.
Gary Houston [Sun, 2 Apr 2000 21:53:17 +0000 (21:53 +0000)]
*** empty log message ***
Gary Houston [Sun, 2 Apr 2000 21:52:49 +0000 (21:52 +0000)]
* 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.
Dirk Herrmann [Sat, 1 Apr 2000 21:23:09 +0000 (21:23 +0000)]
Some fixes for strict typing.
Gary Houston [Fri, 31 Mar 2000 19:24:09 +0000 (19:24 +0000)]
*** empty log message ***
Gary Houston [Fri, 31 Mar 2000 19:23:52 +0000 (19:23 +0000)]
* 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.
Dirk Herrmann [Fri, 31 Mar 2000 15:59:57 +0000 (15:59 +0000)]
Some more SCM/scm_bits_t and SCM-is-union issues.
Dirk Herrmann [Fri, 31 Mar 2000 13:34:30 +0000 (13:34 +0000)]
Use SCM_EQ_P to compare scheme objects, use SCM_CELL_WORD_1 for raw data.
Dirk Herrmann [Fri, 31 Mar 2000 07:56:40 +0000 (07:56 +0000)]
Change type of member 'stream' in scm_port from SCM to scm_bits_t.
Mikael Djurfeldt [Thu, 30 Mar 2000 23:32:56 +0000 (23:32 +0000)]
*** empty log message ***
Mikael Djurfeldt [Thu, 30 Mar 2000 23:32:45 +0000 (23:32 +0000)]
* 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.
Mikael Djurfeldt [Thu, 30 Mar 2000 23:23:28 +0000 (23:23 +0000)]
*** empty log message ***
Mikael Djurfeldt [Thu, 30 Mar 2000 23:23:10 +0000 (23:23 +0000)]
* 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.
Mikael Djurfeldt [Thu, 30 Mar 2000 23:22:50 +0000 (23:22 +0000)]
* 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.
Mikael Djurfeldt [Thu, 30 Mar 2000 23:18:39 +0000 (23:18 +0000)]
* coop-defs.h, coop-threads.c (struct coop_t): Eliminate
`sto'-field when GUILE_PTHREAD_COMPAT is enabled.
Dirk Herrmann [Thu, 30 Mar 2000 09:15:15 +0000 (09:15 +0000)]
Fix some typing issues wrt SCM/scm_bits_t.
Dirk Herrmann [Wed, 29 Mar 2000 16:22:57 +0000 (16:22 +0000)]
Don't use C operators == and != to compare SCM values.