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

7511 commits

Author SHA1 Message Date
Marius Vollmer
f6b44bd99f * 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.
2002-10-05 13:06:58 +00:00
Marius Vollmer
5e405a6055 *** empty log message *** 2002-10-05 11:57:41 +00:00
Marius Vollmer
f4e093308a (end-multiline): Use '*function-name*' instead of nonexisting 'name'. 2002-10-05 11:57:35 +00:00
Marius Vollmer
d2d414843b (ltdl.h.diff, ltdl.c.diff): Create them in '.' not in 'upstream' since
we are already in upstream.
2002-10-05 11:55:56 +00:00
Marius Vollmer
47f2f62523 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.
2002-10-05 11:52:07 +00:00
Rob Browning
bdcccc1806 * 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.
2002-10-05 04:57:09 +00:00
Rob Browning
39eef5091d * autogen.sh: remove support for libltdl sub-configure.
(ac_version): widen support check to any 2.5?  autoconf version.
2.54 is out now.
2002-10-05 04:55:57 +00:00
Rob Browning
1c09a4c30f * Makefile.am (SUBDIRS): remove libltdl. 2002-10-05 04:55:51 +00:00
Rob Browning
1360a142de *** empty log message *** 2002-10-05 04:55:43 +00:00
Rob Browning
823b49519f * guile.c (main): switch to scm_lt_dlset_preloaded_symbols; 2002-10-05 04:55:28 +00:00
Rob Browning
66d4f5ccaa * 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();
2002-10-05 04:55:22 +00:00
Rob Browning
45cf70fa41 * Makefile.am (libguile_la_LIBADD): switch to use
libguile-ltdl.la.
2002-10-05 04:55:16 +00:00
Rob Browning
aa5af3d1be * ChangeLog: moved from ../libltdl. 2002-10-05 04:54:50 +00:00
Rob Browning
cf736a072d * raw-ltdl.h: guile's modified version of the upstream ltdl.h. 2002-10-05 04:52:02 +00:00
Rob Browning
344d7170d7 * 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.
2002-10-05 04:51:55 +00:00
Rob Browning
ac7cc4628d * 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.
2002-10-05 04:51:36 +00:00
Rob Browning
c29fbdf231 * guile-ltdl.c: main source file for libguile-ltdl -- #includes
raw-ltdl.c and raw-ldtl.h directly.  See README.
2002-10-05 04:51:30 +00:00
Rob Browning
f64d164b1b * guile-ltdl.c: main source file for libguile-ltdl -- #includes
raw-ltdl.c and raw-ldtl.h directly.  See README.

* README: moved from ../libltdl.
2002-10-05 04:51:24 +00:00
Rob Browning
46229a272f * Makefile.am: build new libguile-ltdl.
* upstream/Makefile.am: new file.
2002-10-05 04:51:19 +00:00
Rob Browning
250aecfecf * ChangeLog: moved from ../libltdl. 2002-10-05 04:51:12 +00:00
Rob Browning
f4b028e3d8 * COPYING.LIB: moved from ../libltdl. 2002-10-05 04:51:06 +00:00
Rob Browning
b6b42411cf * upstream/ltdl.h: upstream source. 2002-10-05 04:46:57 +00:00
Rob Browning
d15601668c * upstream/ltdl.c: upstream source. 2002-10-05 04:46:51 +00:00
Rob Browning
a834f6d508 * upstream/Makefile.am: new file. 2002-10-05 04:46:44 +00:00
Rob Browning
7971b3b82d *** empty log message *** 2002-10-05 04:45:15 +00:00
Rob Browning
ac48c7193e *** empty log message *** 2002-10-05 04:33:35 +00:00
Rob Browning
20bf9a3cfe * numbers.c (s_scm_integer_expt): (expt 0 1) should be 1. 2002-10-05 04:27:35 +00:00
Rob Browning
9bc548798d *** empty log message *** 2002-10-05 04:21:04 +00:00
Rob Browning
46f2c0f148 * tests/numbers.test ("expt"): add tests. 2002-10-05 04:12:23 +00:00
Rob Browning
201e7da791 * summarize-guile-TODO (as-leaf): make #\: a char-set. 2002-10-05 04:11:51 +00:00
Rob Browning
0ad7cc4f97 * boot-9.scm (expt): switch if sense and use negative? rather than
>= 0.
2002-10-05 04:10:48 +00:00
Marius Vollmer
497092c9d1 *** empty log message *** 2002-10-04 14:13:51 +00:00
Marius Vollmer
2fbc8609b2 * 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.
2002-10-04 14:13:26 +00:00
Marius Vollmer
e3c9bec302 * __scm.h (scm_asyncs_pending_p): Removed.
(SCM_ASYNC_CLICK): Check scm_active_asyncs instead of
scm_asyncs_pending_p.
2002-10-04 13:49:29 +00:00
Marius Vollmer
2d3179db77 Removed GUILE_OLD_ASYNC_CLICK code. Reorganized so that system asnycs
and user asyncs are separated.  Reimplemented system asyncs to work
per-thread.
2002-10-04 13:49:13 +00:00
Marius Vollmer
5b900ecff2 * 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.
2002-10-04 13:47:35 +00:00
Marius Vollmer
2592c4c765 (scm_init_gc): Do not use scm_system_async. 2002-10-04 13:42:43 +00:00
Marius Vollmer
3538c2b2a6 *** empty log message *** 2002-10-04 13:09:45 +00:00
Marius Vollmer
f823f7e774 (top-repl): Use "1" instead of "%deliver-signals" to limit the signal
stack.
2002-10-04 13:09:30 +00:00
Marius Vollmer
61c95a4992 (scm_system_async_mark_for_thread): New prototype. 2002-10-03 23:00:58 +00:00
Marius Vollmer
a6b54e30d3 Removed GUILE_OLD_ASYNC_CLICK code. 2002-10-03 22:59:08 +00:00
Marius Vollmer
d4719ab892 * root.h (scm_root_state): Added new "active_asyncs" slot.
* root.c (scm_make_root): Initialize it to SCM_EOL.
2002-10-03 22:56:52 +00:00
Marius Vollmer
3b1df92480 (scm_root_state): Added new "active_asyncs" slot. 2002-10-03 22:54:25 +00:00
Marius Vollmer
9997213b7d * 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.
2002-10-03 22:53:17 +00:00
Marius Vollmer
f7eca35dfe * threads.h (scm_current_thread, scm_all_threads): New prototypes.
* threads.c (scm_current_thread, scm_all_threads): Register as
primitives.
2002-10-03 22:48:15 +00:00
Marius Vollmer
8e583c6e1b Use scm_lt_ prefix for libltdl functions. 2002-10-03 22:44:48 +00:00
Marius Vollmer
4e250dedc2 *** empty log message *** 2002-10-03 22:27:28 +00:00
Neil Jerram
480fa28d20 Refer to provided? rather than the deprecated feature?. 2002-10-03 22:23:43 +00:00
Neil Jerram
66add4ebf5 Refer to provided? rather than the deprecated feature?. 2002-10-03 22:16:17 +00:00
Marius Vollmer
d2184983c7 New file. 2002-10-03 22:10:00 +00:00