Neil Jerram [Sat, 19 Oct 2002 16:33:25 +0000 (16:33 +0000)]
Auto docstring updates, including soft port enhancement.
Dirk Herrmann [Sat, 19 Oct 2002 09:07:23 +0000 (09:07 +0000)]
* evalext.h, evalext.c (scm_definedp, scm_defined_p): Renamed
scm_definedp to scm_defined_p and deprecated scm_definedp.
Dirk Herrmann [Sat, 19 Oct 2002 08:22:50 +0000 (08:22 +0000)]
* async.h, async.c (scm_system_async): Fixed deprecation to work
correctly when deprecated features are excluded.
Marius Vollmer [Wed, 16 Oct 2002 16:36:29 +0000 (16:36 +0000)]
Added blurb about "null" threads.
Marius Vollmer [Wed, 16 Oct 2002 16:33:12 +0000 (16:33 +0000)]
*** empty log message ***
Marius Vollmer [Wed, 16 Oct 2002 16:32:28 +0000 (16:32 +0000)]
Shuffled around and extended the thread configuration code to allow
the "null" thread package to be selected. Define USE_NULL_THREADS in
that case.
Marius Vollmer [Wed, 16 Oct 2002 16:27:46 +0000 (16:27 +0000)]
(scm_system_async_mark_for_thread): Validate thread argument.
Marius Vollmer [Wed, 16 Oct 2002 16:25:45 +0000 (16:25 +0000)]
It's scm_t_cond, not scm_t_condvar.
Marius Vollmer [Wed, 16 Oct 2002 16:10:40 +0000 (16:10 +0000)]
(scm_t_cond): Renamed from scm_t_condvar, which was the wrong name.
Marius Vollmer [Wed, 16 Oct 2002 16:09:22 +0000 (16:09 +0000)]
(scm_i_thread_root): Do not validate argument.
Marius Vollmer [Wed, 16 Oct 2002 16:08:03 +0000 (16:08 +0000)]
(scm_init_feature): Don't add 'threads' for USE_NULL_THREADS.
Marius Vollmer [Wed, 16 Oct 2002 16:03:44 +0000 (16:03 +0000)]
(scm_cell, scm_double_cell): Also allow USE_NULL_THREADS to not
protect the slot initializers.
Marius Vollmer [Wed, 16 Oct 2002 16:01:22 +0000 (16:01 +0000)]
(scm_sigaction_for_thread): It's "USE_THREADS" not "USE_THREAD".
Marius Vollmer [Wed, 16 Oct 2002 15:59:37 +0000 (15:59 +0000)]
(noinst_HEADERS): Added null-threads.c.
(modinclude_HEADERS): Added null-threads.h.
Marius Vollmer [Wed, 16 Oct 2002 15:57:13 +0000 (15:57 +0000)]
* threads.h: Include null-threads.h when !USE_COOP_THREADS.
* threads.c: Include null-threads.c when !USE_COOP_THREADS.
(scm_init_threads): Use generic type names scm_t_mutex and
scm_t_coop instead of coop_m and coop_t.
Marius Vollmer [Wed, 16 Oct 2002 15:54:23 +0000 (15:54 +0000)]
New files.
Marius Vollmer [Tue, 15 Oct 2002 12:06:14 +0000 (12:06 +0000)]
... but not for guile-procedures.texi since that is created in the build dir.
Marius Vollmer [Tue, 15 Oct 2002 10:36:42 +0000 (10:36 +0000)]
Update to last change: include $(srcdir)/ in replaced $< constructs.
Marius Vollmer [Mon, 14 Oct 2002 22:55:24 +0000 (22:55 +0000)]
*** empty log message ***
Marius Vollmer [Mon, 14 Oct 2002 22:54:50 +0000 (22:54 +0000)]
Replaced "$<" in non-pattern rules with its value. This is to support
makes that know about "$<" only in pattern rules, like Sun's make.
Marius Vollmer [Mon, 14 Oct 2002 21:47:47 +0000 (21:47 +0000)]
*** empty log message ***
Marius Vollmer [Mon, 14 Oct 2002 21:47:40 +0000 (21:47 +0000)]
(Whirlwind Tour): Added pointer to examples directory.
Marius Vollmer [Mon, 14 Oct 2002 10:48:12 +0000 (10:48 +0000)]
*** empty log message ***
Marius Vollmer [Mon, 14 Oct 2002 10:47:48 +0000 (10:47 +0000)]
(build-link): Include "-lguile-ltdl" in link flags.
Gary Houston [Sun, 13 Oct 2002 22:20:46 +0000 (22:20 +0000)]
* autogen.sh (ac_version): try automake 1.7 too.
Marius Vollmer [Sun, 13 Oct 2002 18:25:29 +0000 (18:25 +0000)]
*** empty log message ***
Marius Vollmer [Sun, 13 Oct 2002 18:24:59 +0000 (18:24 +0000)]
(libpath.h): Fixed typo in top_srcdir_absolute substitution. Thanks
to David Allouche!
Dirk Herrmann [Sun, 13 Oct 2002 11:02:58 +0000 (11:02 +0000)]
* evalext.h: Replaced SCM_DEBUG_DEPRECATED with !SCM_ENABLE_DEPRECATED.
Marius Vollmer [Fri, 11 Oct 2002 13:07:43 +0000 (13:07 +0000)]
*** empty log message ***
Marius Vollmer [Fri, 11 Oct 2002 13:07:14 +0000 (13:07 +0000)]
* upstream/Makefile.am (ltdl.h.diff, ltdl.c.diff): Look for
raw-ltdl.h and raw-ltdl.c in "$(srcdir)/..". This is needed for
VPATH builds.
Marius Vollmer [Fri, 11 Oct 2002 13:05:43 +0000 (13:05 +0000)]
(INCLUDES): Also look for includes in "." and
"$(srcdir)". This is needed for VPATH builds.
(EXTRA_DIST): Also distribute EXTRA_HEADERS.
Marius Vollmer [Fri, 11 Oct 2002 13:02:50 +0000 (13:02 +0000)]
* async.c (s_scm_system_async_mark_for_thread): Only call
scm_i_thread_root when USE_THREADS is defined. Use scm_root
otherwise.
* scmsigs.c (take_signal): Only call scm_i_thread_root when
USE_THREADS is defined. Use scm_root otherwise.
(scm_sigaction_for_thread): Ignore THREAD argument when
USE_THREADS is not defined. Also, move THREAD argument defaulting
out of HAVE_SIGACTION section, which was a bug.
Marius Vollmer [Thu, 10 Oct 2002 18:11:20 +0000 (18:11 +0000)]
*** empty log message ***
Marius Vollmer [Thu, 10 Oct 2002 18:11:06 +0000 (18:11 +0000)]
(scm_sigaction_for_thread): Store original handler in signal_handlers,
not the closure that is used as the async. The closure is stored in
signal_handler_cells, as previously.
Marius Vollmer [Wed, 9 Oct 2002 22:49:00 +0000 (22:49 +0000)]
*** empty log message ***
Marius Vollmer [Wed, 9 Oct 2002 22:48:30 +0000 (22:48 +0000)]
(System Asyncs): Updated.
Marius Vollmer [Wed, 9 Oct 2002 22:47:34 +0000 (22:47 +0000)]
(top-repl): Use 2 as the limit when saving the stack.
(error-catching-loop): use call-with-blocked-asyncs and
call-with-unblocked-asyncs instead of mask-signals and unmask-signals.
Marius Vollmer [Wed, 9 Oct 2002 22:45:07 +0000 (22:45 +0000)]
(SCM_ASYNC_TICK): Do without the scm_active_asyncs abbrev.
Marius Vollmer [Wed, 9 Oct 2002 22:44:02 +0000 (22:44 +0000)]
* async.h (scm_call_with_blocked_asyncs,
scm_call_with_unblocked_asyncs, scm_c_call_with_blocked_asyncs,
scm_c_call_with_unblocked_asyncs): New prototypes.
(scm_mask_signals, scm_unmask_signals): Deprecated.
(scm_mask_ints): Turned into a macro.
* async.c (scm_mask_ints): Removed.
(scm_run_asyncs): Do not set scm_mask_ints while running an async.
this should not be necessary.
(scm_async_click): Test block_asyncs instead of scm_mask_ints.
(scm_mask_signals, scm_unmask_signals): Deprecated. Emit
deprecation warning and check for errornous use. Set block_asyncs
instead of scm_mask_ints.
(increase_block, decrease_block, scm_call_with_blocked_asyncs,
scm_call_with_unblocked_asyncs, scm_c_call_with_blocked_asyncs,
scm_c_call_with_unblocked_asyncs): New.
Marius Vollmer [Wed, 9 Oct 2002 22:37:29 +0000 (22:37 +0000)]
* root.h (scm_root_state): Added 'block_async' slot.
(scm_active_asyncs): Removed abbrev.
* root.c (scm_make_root): Initialize 'block_asyncs' slot.
Marius Vollmer [Wed, 9 Oct 2002 22:26:37 +0000 (22:26 +0000)]
(scm_compile_shell_switches): Do not set scm_mask_ints. Asyncs are
enabled by default.
Rob Browning [Wed, 9 Oct 2002 21:56:00 +0000 (21:56 +0000)]
* Makefile.am (srfiinclude_HEADERS, srfiincludedir): install the
srfi headers into guile/srfi/.
Rob Browning [Wed, 9 Oct 2002 21:16:31 +0000 (21:16 +0000)]
* upstream/Makefile.am (ltdl.h.diff): remove
SCM_INSERTED_DLSYMLIST_STRUCT_DECL during diff computation.
(ltdl.c.diff): remove SCM_INSERTED_DLSYMLIST_STRUCT_DECL during
diff computation.
Rob Browning [Wed, 9 Oct 2002 21:16:24 +0000 (21:16 +0000)]
* raw-ltdl.h: add SCM_INSERTED_DLSYMLIST_STRUCT_DECL so we can
insert our own struct name here.
Rob Browning [Wed, 9 Oct 2002 21:16:18 +0000 (21:16 +0000)]
* guile-ltdl.h: add scm_lt_dlsymlist typedef.
(scm_lt_dlpreload_default): new function. Replaces
scm_lt_dlset_preloaded_symbols which depended on global that
libtool automagically defines in binaries, not libs.
Rob Browning [Wed, 9 Oct 2002 21:16:12 +0000 (21:16 +0000)]
* guile-ltdl.c (scm_lt_dlpreload_default): new function. Replaces
scm_lt_dlset_preloaded_symbols which depended on global that
libtool automagically defines in binaries, not libs. Now the call
in guile.c has to pass us that magic value.
(SCM_INSERTED_DLSYMLIST_STRUCT_DECL): used to add a struct name in
the lt_dlsymlist typedef -- we use such a crazy name so we can
remove this in the upstream diff computation.
Rob Browning [Wed, 9 Oct 2002 21:16:05 +0000 (21:16 +0000)]
*** empty log message ***
Rob Browning [Wed, 9 Oct 2002 21:15:59 +0000 (21:15 +0000)]
* guile.c (main): change to call scm_lt_dlpreload_default and pass
in lt_preloaded_symbols, a value libtool automagically adds to the
binary.
Neil Jerram [Wed, 9 Oct 2002 19:34:55 +0000 (19:34 +0000)]
Use scm_num2int rather than SCM_INUM in soft port extension.
Neil Jerram [Wed, 9 Oct 2002 19:07:23 +0000 (19:07 +0000)]
Extend soft ports to use input-waiting thunks.
Marius Vollmer [Mon, 7 Oct 2002 16:38:04 +0000 (16:38 +0000)]
*** empty log message ***
Marius Vollmer [Mon, 7 Oct 2002 16:34:28 +0000 (16:34 +0000)]
* scheme-scheduling.texi (Asyncs): Updated.
* posix.texi (sigaction): Updated.
Rob Browning [Sat, 5 Oct 2002 20:34:24 +0000 (20:34 +0000)]
*** empty log message ***
Marius Vollmer [Sat, 5 Oct 2002 13:07:28 +0000 (13:07 +0000)]
*** empty log message ***
Marius Vollmer [Sat, 5 Oct 2002 13:07:06 +0000 (13:07 +0000)]
(root_mark): Mark active_asyncs slot.
Marius Vollmer [Sat, 5 Oct 2002 13:06:58 +0000 (13:06 +0000)]
* async.c (scm_async_click): Set the cdr of a executed handler
cell to SCM_BOOL_F, not SCM_EOL.
(scm_i_queue_async_cell): Queue the cell at the end of the list,
and only if the handler procedure is not already present.
(scm_system_async_mark_for_thread): Initialize cdr of handler cell
with SCM_BOOL_F.
* scmsigs.c (scm_sigaction_for_thread): Likewise.
Marius Vollmer [Sat, 5 Oct 2002 11:57:41 +0000 (11:57 +0000)]
*** empty log message ***
Marius Vollmer [Sat, 5 Oct 2002 11:57:35 +0000 (11:57 +0000)]
(end-multiline): Use '*function-name*' instead of nonexisting 'name'.
Marius Vollmer [Sat, 5 Oct 2002 11:55:56 +0000 (11:55 +0000)]
(ltdl.h.diff, ltdl.c.diff): Create them in '.' not in 'upstream' since
we are already in upstream.
Marius Vollmer [Sat, 5 Oct 2002 11:52:07 +0000 (11:52 +0000)]
Make sure that $autoheader is always set. When we would use the plain
"autoconf", $autoheader would end up empty and libguile/scmconfig.h.in
would not be updated.
Rob Browning [Sat, 5 Oct 2002 04:57:09 +0000 (04:57 +0000)]
* configure.in: turn on -Werror by default. We're now clean. I'd
like to stay that way. If we want, we can turn it off by default
when we make the stable release, but I caught a lot of bugs this
way. Accomodate libguile-ltdl -- therea are some ltdl things that
are commented out now INCLTDL and LIBLTDL. I think we may not
need them anymore, but I'll leave them until we're sure. We also
killed off the libltdl dir and related options including the
AC_CONFIG_SUBDIRS. I also added some explicit tests for some
headers and functions that weren't listed but were in
scmconfig.h.in. though this may have been unnecessary.
Rob Browning [Sat, 5 Oct 2002 04:55:57 +0000 (04:55 +0000)]
* autogen.sh: remove support for libltdl sub-configure.
(ac_version): widen support check to any 2.5? autoconf version.
2.54 is out now.
Rob Browning [Sat, 5 Oct 2002 04:55:51 +0000 (04:55 +0000)]
* Makefile.am (SUBDIRS): remove libltdl.
Rob Browning [Sat, 5 Oct 2002 04:55:43 +0000 (04:55 +0000)]
*** empty log message ***
Rob Browning [Sat, 5 Oct 2002 04:55:28 +0000 (04:55 +0000)]
* guile.c (main): switch to scm_lt_dlset_preloaded_symbols;
Rob Browning [Sat, 5 Oct 2002 04:55:22 +0000 (04:55 +0000)]
* dynl.c (sysdep_dynl_link): switch to scm_lt_dlhandle,
scm_lt_dlopenext, and scm_lt_dlerror.
(sysdep_dynl_unlink): switch to scm_lt_dlhandle, scm_lt_dlclose,
and scm_lt_dlerror.
(sysdep_dynl_func): switch to scm_lt_dlhandle, scm_lt_dlsym,
and scm_lt_dlerror.
(sysdep_dynl_init): switch to scm_lt_dlinit();
Rob Browning [Sat, 5 Oct 2002 04:55:16 +0000 (04:55 +0000)]
* Makefile.am (libguile_la_LIBADD): switch to use
libguile-ltdl.la.
Rob Browning [Sat, 5 Oct 2002 04:54:50 +0000 (04:54 +0000)]
* ChangeLog: moved from ../libltdl.
Rob Browning [Sat, 5 Oct 2002 04:52:02 +0000 (04:52 +0000)]
* raw-ltdl.h: guile's modified version of the upstream ltdl.h.
Rob Browning [Sat, 5 Oct 2002 04:51:55 +0000 (04:51 +0000)]
* raw-ltdl.c: guile's modified version of the upstream ltdl.c.
* raw-ltdl.c: Remove custom realloc. (#define rpl_realloc
realloc). You can't define realloc like this unless you also
define malloc. This is a quick hack for now; we may want
something cleaner later.
(memcpy): coerce ptrs to (char *) before copying characters
through them -- I can't recall for sure, but I believe this was
causing an overrun error at times.
(realloc): commented out -- as mentioned above, you can't define
your own malloc unless you know enough about the malloc in use to
be able to tell how big the src ptr is. The disabled code
incorrectly used the *destination* ptr to decide how much to copy.
This sometimes results in out-of-bound accesses which cause
segfaults.
(tryall_dlopen_module): check to be sure (dirname_len > 0) before
testing first character against '/'.
(try_dlopen): check for feof(file) in read loop -- otherwise
infloop?
(scm_lt_dlopenext): remove unused variable file_found.
(LT_EOS_CHAR): moved here from guile-ltdl.h.
Rob Browning [Sat, 5 Oct 2002 04:51:36 +0000 (04:51 +0000)]
* guile-ltdl.h: main header file for guile's internal
libguile-ltdl.
* raw-ltdl.c: Remove custom realloc. (#define rpl_realloc
realloc). You can't define realloc like this unless you also
define malloc. This is a quick hack for now; we may want
something cleaner later.
(memcpy): coerce ptrs to (char *) before copying characters
through them -- I can't recall for sure, but I believe this was
causing an overrun error at times.
(realloc): commented out -- as mentioned above, you can't define
your own malloc unless you know enough about the malloc in use to
be able to tell how big the src ptr is. The disabled code
incorrectly used the *destination* ptr to decide how much to copy.
This sometimes results in out-of-bound accesses which cause
segfaults.
(tryall_dlopen_module): check to be sure (dirname_len > 0) before
testing first character against '/'.
(try_dlopen): check for feof(file) in read loop -- otherwise
infloop?
(scm_lt_dlopenext): remove unused variable file_found.
(LT_EOS_CHAR): moved here from guile-ltdl.h.
Rob Browning [Sat, 5 Oct 2002 04:51:30 +0000 (04:51 +0000)]
* guile-ltdl.c: main source file for libguile-ltdl -- #includes
raw-ltdl.c and raw-ldtl.h directly. See README.
Rob Browning [Sat, 5 Oct 2002 04:51:24 +0000 (04:51 +0000)]
* guile-ltdl.c: main source file for libguile-ltdl -- #includes
raw-ltdl.c and raw-ldtl.h directly. See README.
* README: moved from ../libltdl.
Rob Browning [Sat, 5 Oct 2002 04:51:19 +0000 (04:51 +0000)]
* Makefile.am: build new libguile-ltdl.
* upstream/Makefile.am: new file.
Rob Browning [Sat, 5 Oct 2002 04:51:12 +0000 (04:51 +0000)]
* ChangeLog: moved from ../libltdl.
Rob Browning [Sat, 5 Oct 2002 04:51:06 +0000 (04:51 +0000)]
* COPYING.LIB: moved from ../libltdl.
Rob Browning [Sat, 5 Oct 2002 04:46:57 +0000 (04:46 +0000)]
* upstream/ltdl.h: upstream source.
Rob Browning [Sat, 5 Oct 2002 04:46:51 +0000 (04:46 +0000)]
* upstream/ltdl.c: upstream source.
Rob Browning [Sat, 5 Oct 2002 04:46:44 +0000 (04:46 +0000)]
* upstream/Makefile.am: new file.
Rob Browning [Sat, 5 Oct 2002 04:45:15 +0000 (04:45 +0000)]
*** empty log message ***
Rob Browning [Sat, 5 Oct 2002 04:33:35 +0000 (04:33 +0000)]
*** empty log message ***
Rob Browning [Sat, 5 Oct 2002 04:27:35 +0000 (04:27 +0000)]
* numbers.c (s_scm_integer_expt): (expt 0 1) should be 1.
Rob Browning [Sat, 5 Oct 2002 04:21:04 +0000 (04:21 +0000)]
*** empty log message ***
Rob Browning [Sat, 5 Oct 2002 04:12:23 +0000 (04:12 +0000)]
* tests/numbers.test ("expt"): add tests.
Rob Browning [Sat, 5 Oct 2002 04:11:51 +0000 (04:11 +0000)]
* summarize-guile-TODO (as-leaf): make #\: a char-set.
Rob Browning [Sat, 5 Oct 2002 04:10:48 +0000 (04:10 +0000)]
* boot-9.scm (expt): switch if sense and use negative? rather than
>= 0.
Marius Vollmer [Fri, 4 Oct 2002 14:13:51 +0000 (14:13 +0000)]
*** empty log message ***
Marius Vollmer [Fri, 4 Oct 2002 14:13:26 +0000 (14:13 +0000)]
* scmsigs.h (scm_sigaction_for_thread): New prototype.
* scmsigs.c (got_signal): Removed.
(signal_handler_cells, signal_handler_threads): New.
(take_signal): Queue the cell of the signal for the specified
thread. Reset the signal handler on systems that don't have
sigaction.
(sys_deliver_signals): Removed.
(close_1): New.
(scm_sigaction_for_thread): Renamed from scm_sigaction and
extended to also set the thread of a signal and allocate a cell
for it. Keep the Scheme name "sigaction". Check that signum is
within range. Also, use SCM_VECTOR_REF instead of SCM_VELTS.
(scm_sigaction): Implement in terms of scm_sigaction_for_thread.
(scm_init_scmsigs): Allocate signal_handler_cells and
signal_handler_threads vectors.
Marius Vollmer [Fri, 4 Oct 2002 13:49:29 +0000 (13:49 +0000)]
* __scm.h (scm_asyncs_pending_p): Removed.
(SCM_ASYNC_CLICK): Check scm_active_asyncs instead of
scm_asyncs_pending_p.
Marius Vollmer [Fri, 4 Oct 2002 13:49:13 +0000 (13:49 +0000)]
Removed GUILE_OLD_ASYNC_CLICK code. Reorganized so that system asnycs
and user asyncs are separated. Reimplemented system asyncs to work
per-thread.
Marius Vollmer [Fri, 4 Oct 2002 13:47:35 +0000 (13:47 +0000)]
* async.h (scm_asyncs_pending, scm_set_tick_rate,
scm_set_switch_rate, scm_system_async_mark_from_signal_handler):
Removed prototypes.
(scm_i_queue_async_cell): New.
Marius Vollmer [Fri, 4 Oct 2002 13:42:43 +0000 (13:42 +0000)]
(scm_init_gc): Do not use scm_system_async.
Marius Vollmer [Fri, 4 Oct 2002 13:09:45 +0000 (13:09 +0000)]
*** empty log message ***
Marius Vollmer [Fri, 4 Oct 2002 13:09:30 +0000 (13:09 +0000)]
(top-repl): Use "1" instead of "%deliver-signals" to limit the signal
stack.
Marius Vollmer [Thu, 3 Oct 2002 23:00:58 +0000 (23:00 +0000)]
(scm_system_async_mark_for_thread): New prototype.
Marius Vollmer [Thu, 3 Oct 2002 22:59:08 +0000 (22:59 +0000)]
Removed GUILE_OLD_ASYNC_CLICK code.
Marius Vollmer [Thu, 3 Oct 2002 22:56:52 +0000 (22:56 +0000)]
* root.h (scm_root_state): Added new "active_asyncs" slot.
* root.c (scm_make_root): Initialize it to SCM_EOL.
Marius Vollmer [Thu, 3 Oct 2002 22:54:25 +0000 (22:54 +0000)]
(scm_root_state): Added new "active_asyncs" slot.
Marius Vollmer [Thu, 3 Oct 2002 22:53:17 +0000 (22:53 +0000)]
* coop-defs.h (coop_t): Added new "handle" slot.
* coop-threads.c (all_threads, scm_current_thread,
scm_all_threads, scm_i_thread_root): New.
(scm_threads_init): Add main thread to all_threads.
(scheme_launch_thread): Remove thread from all_threads when it
terminates.
(scm_call_with_new_thread): Initialize handle slot of coop_t
structure and add new thread to all_threads.
(scm_spawn_thread): Likewise.
Marius Vollmer [Thu, 3 Oct 2002 22:48:15 +0000 (22:48 +0000)]
* threads.h (scm_current_thread, scm_all_threads): New prototypes.
* threads.c (scm_current_thread, scm_all_threads): Register as
primitives.