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

243 commits

Author SHA1 Message Date
Neil Jerram
0ebbcf43c4 Remove AC_SYS_RESTARTABLE_SYSCALLS and related code
As the Autoconf documentation says, "These days portable programs
[...] should not rely on `HAVE_RESTARTABLE_SYSCALLS', since nowadays
whether a system call is restartable is a dynamic issue, not a
configuration-time issue."

In other words, if we ever rely on HAVE_RESTARTABLE_SYSCALLS, we are
at the mercy of any code that Guile happens to be linked with, because
that code could install a signal handler without the SA_RESTART flag,
and then a Guile system call could unexpectedly return EINTR.

The readline part of this goes back to this problem report:
http://sources.redhat.com/ml/guile/2000-05/msg00177.html; and is an
excellent example of the above paragraph.  It was noted during the
discussion that undefining HAVE_RESTARTABLE_SYSCALLS would fix the
problem, but that solution wasn't adopted - I guess because Guile was
still using cooperative threads then (not pthreads) and so there was a
significant concern (whether founded or not) that not using
restartable syscalls (where available) could lead to a loss of
performance.

Now Guile's default mode of operation is with pthreads, where we
already don't assume that HAVE_RESTARTABLE_SYSCALLS is reliable, so
there is no possible further performance loss.  And in any case we
really have no choice, if we want correct operation.

Thanks to Sylvain Beucler for reporting this and suggesting the fix.

* configure.in (AC_SYS_RESTARTABLE_SYSCALLS): Removed.

* doc/ref/posix.texi (Signals): Remove statement that Guile always
  sets SA_RESTART flag.

* guile-readline/configure.in (GUILE_SIGWINCH_SA_RESTART_CLEARED):
  Remove this setting, together with its test code.
  (HAVE_RL_PRE_INPUT_HOOK): Remove this setting and its code, as no
  longer needed.

* guile-readline/readline.c (sigwinch_enable_restart): Removed.
  (scm_init_readline): Remove setting of rl_pre_input_hook.

* libguile/_scm.h (SCM_SYSCALL): Remove the definition that relies on
  HAVE_RESTARTABLE_SYSCALLS.

* libguile/scmsigs.c (scm_sigaction_for_thread): Don't always set the
  SA_RESTART flag if available.  Update docstring accordingly.
  (scm_init_scmsigs): Remove code that sets SA_RESTART flag for all
  signals.

* THANKS: Add Sylvain.
2009-06-23 23:04:41 +01:00
Neil Jerram
b82a8b4850 Change guile-readline license to GPLv3+ 2009-06-17 22:35:30 +01:00
Neil Jerram
39b94fee43 Provide easier configure options for GMP and readline
This patch uses the AC_LIB_LINKFLAGS macro, provided by Gnulib's
havelib module, to provide --with-gmp-prefix and
--with-readline-prefix configure options.  Many thanks to Bruno Haible
for suggesting and explaining this to me.

* configure.in (top level): Add AC_LIB_LINKFLAGS(gmp).

* guile-readline/configure.in (AC_CONFIG_AUX_DIR): Change to
  ../build-aux, to share the main build-aux directory and so avoid
  having to distribute multiple copies of config.rpath.
  (top level): Add AC_LIB_LINKFLAGS(readline).

* lib/Makefile.am, m4/gnulib-cache.m4: Regenerated by gnulib-tool for
  new import of the `havelib' module.
2009-06-14 17:58:15 +01:00
Andy Wingo
64e5d08d3e leap of faith: (ice-9 syncase) in psyntax-pp.scm -> (guile)
* module/ice-9/psyntax-pp.scm: Manually switch psyntax-pp over to (guile)
  from (ice-9 syncase). Heh heh.
2009-04-24 14:21:06 +02:00
Andy Wingo
999f1b26e7 Merge commit 'origin/master' into vm
Conflicts:

	doc/Makefile.am
	ice-9/Makefile.am
	libguile/gc.c
2008-09-30 21:12:16 +02:00
Han-Wen Nienhuys
89bc270db3 Remove GH and its traces. 2008-09-28 18:42:02 -03:00
Ludovic Courtès
61db429e25 Add `ChangeLog-2008' files to the distribution. 2008-09-12 21:57:52 +02:00
Ludovic Courtès
afb59d75b8 Rename ChangeLog' files to ChangeLog-2008'. 2008-09-12 21:49:58 +02:00
Ludovic Courtès
85ca88c68b Remove `.cvsignore' files. 2008-09-11 21:28:21 +02:00
Andy Wingo
fdc0a82263 merge from guile master
Had to fix up .gitignore for some conflicts.
2008-08-26 12:51:19 -07:00
Andy Wingo
d28d59933c make readline's `repl-reader' impl check the current-reader fluid
* guile-readline/ice-9/readline.scm (activate-readline): Use the current
  binding of the current-reader fluid, if it is available.
2008-08-02 12:29:07 +02:00
Ludovic Courtès
a728672018 Remove uses of non-portable makefile constructs. 2008-05-07 21:38:13 +02:00
Ludovic Courtès
c4d088f54c Don't use "echo -n" in `guile-readline/configure.in'. 2008-04-16 09:01:33 +02:00
Ludovic Courtès
25a640ca6e Merge 1.8.4 release commit. 2008-02-21 08:41:24 +00:00
Neil Jerram
b226295af8 Release stuff: missing NEWS and 2007/2008 copyrights. 2008-02-15 23:13:59 +00:00
Neil Jerram
6a945c34cf * readline.c (scm_init_readline): Only do init_bouncing_parens ()
if HAVE_RL_GET_KEYMAP.
(init_bouncing_parens, find_matching_paren, match_paren): Compile
out if ! HAVE_RL_GET_KEYMAP.

* configure.in: Add check for rl_get_keymap.
2008-01-29 23:02:18 +00:00
Ludovic Courtès
6caac03c93 Changes from arch/CVS synchronization 2007-07-29 14:58:21 +00:00
Ludovic Courtès
df44972273 Changes from arch/CVS synchronization 2007-07-17 08:39:35 +00:00
Ludovic Courtès
d3075c52ac Changes from arch/CVS synchronization 2007-06-25 22:25:22 +00:00
Han-Wen Nienhuys
0710943619 terminate option list with NULL.
(scm_init_readline): fix CVS mess-up.
2007-01-19 19:28:55 +00:00
Han-Wen Nienhuys
6256065013 * readline.c: terminate option list with NULL.
* read.c: idem.

* print.c: idem.

* eval.c: terminate option lists with 0.

* options.c: remove n (for length) from scm_option_X
functions. Detect option list length by looking for NULL name.
2007-01-19 19:26:36 +00:00
Kevin Ryde
afc4ccd4dd merge from 1.8 branch 2006-10-09 22:59:10 +00:00
Neil Jerram
3bff1789df (new-input-prompt): Renamed from "prompt".
(continuation-prompt): Renamed from "prompt2".
(make-readline-port, readline, set-readline-prompt!): Reflect above renamings.
(activate-readline): Rename locals "read-hook" and "prompt" to
"repl-read-hook" and "repl-prompt", to disambiguate them from
globals.  Save and restore the new-input- and continuation-
prompts around the REPL read call.
2006-10-05 23:28:44 +00:00
Kevin Ryde
22acb29853 merge from 1.8 branch 2006-06-17 23:41:24 +00:00
Kevin Ryde
5be9f7290b merge from 1.8 branch 2006-06-17 22:53:04 +00:00
Kevin Ryde
34646b1062 *** empty log message *** 2006-04-17 01:36:55 +00:00
Kevin Ryde
6cecdff760 Bump lib file version to libguilereadline-v-18,
matching LIBGUILEREADLINE-VERSION.
2006-04-17 01:35:37 +00:00
Kevin Ryde
1b09b607dd merge from 1.8 branch 2006-04-16 23:18:55 +00:00
Marius Vollmer
349b48f9a9 Bumped versions for 1.9 series. 2006-02-05 22:57:57 +00:00
Kevin Ryde
314f7832d7 Plain ascii backquote. 2005-07-12 00:18:54 +00:00
Marius Vollmer
92205699d0 The FSF has a new address. 2005-05-23 19:57:22 +00:00
Marius Vollmer
a81b861870 *** empty log message *** 2005-03-02 20:56:45 +00:00
Marius Vollmer
0ddf47fcaa Use scm_current_input_port instead of scm_cur_inp. Use scm_std_select
instead of scm_internal_select.
2005-03-02 20:56:34 +00:00
Marius Vollmer
1d1a921178 *** empty log message *** 2004-08-26 15:17:07 +00:00
Marius Vollmer
0e33f86234 * LIBGUILEREADLINE-VERSION: Bumped versions for the 1.7.1 release.
Added LIBGUILEREADLINE_MAJOR variable for inclusion in the name of
the shared library.
* configure.in: AC_SUBST it.
* Makefile.am: Substitute it into name of library.
* ice-9/readline.scm: Use new name with load-extension.
2004-08-26 15:16:56 +00:00
Marius Vollmer
51fab002a8 *** empty log message *** 2004-08-26 15:16:21 +00:00
Marius Vollmer
e5ab7101aa * LIBGUILEREADLINE-VERSION: Bumped versions for the 1.7.1 release.
Added LIBGUILEREADLINE_MAJOR variable for inclusion in the name of
the shared library.
* configure.in: AC_SUBST it.
* Makefile.am: Substitute it into name of library.
2004-08-26 15:16:10 +00:00
Marius Vollmer
b2988f465b *** empty log message *** 2004-08-19 17:30:03 +00:00
Marius Vollmer
ad6dec055f Avoid the use of discouraged or deprecated things. 2004-08-19 17:28:53 +00:00
Marius Vollmer
be49d1df07 Replaced all uses of deprecated SCM_FALSEP, SCM_NFALSEP, SCM_BOOL,
SCM_NEGATE_BOOL, and SCM_BOOLP with scm_is_false, scm_is_true,
scm_from_bool, and scm_is_bool, respectively.  Thanks to Andreas
Vögele!
2004-07-10 15:25:01 +00:00
Marius Vollmer
590f893b3b *** empty log message *** 2004-07-06 11:52:50 +00:00
Marius Vollmer
00874d5fb0 Replaced all uses of deprecated SCM_FALSEP, SCM_NFALSEP, SCM_BOOL,
SCM_NEGATE_BOOL, and SCM_BOOLP with scm_is_false, scm_is_true,
scm_from_bool, and scm_is_bool, respectively.
2004-07-06 11:02:47 +00:00
Rob Browning
060fd2f92c *** empty log message *** 2004-06-16 17:14:54 +00:00
Rob Browning
8f6a429e47 * readline.scm: moved to ./ice-9/ 2004-06-16 17:14:37 +00:00
Rob Browning
6fb858d50c move package and version args to AC_INIT as is now
recommended.  This also requires m4_esyscmd to read GUILE-VERSION
given the way AC_INIT handles its args.  Also move "foreign"
indication here.
2004-06-16 17:14:20 +00:00
Rob Browning
0dcee83729 * Makefile.am: move support for readline.scm to ice-9/ subdir. 2004-06-16 17:13:55 +00:00
Rob Browning
a2f120791e * .cvsignore: add ice-9 dir.
* ice-9/.cvsignore: new file.
2004-06-16 17:13:43 +00:00
Rob Browning
74c88f531a * ice-9/readline.scm: moved here from ../ 2004-06-16 17:12:40 +00:00
Rob Browning
b6ccd4c126 * Makefile.am: move support for readline.scm to ice-9/ subdir.
* ice-9/Makefile.am: new file.
2004-06-16 17:12:14 +00:00
Mikael Djurfeldt
c78a96e063 * configure.in: Use AC_PROG_LIBTOOL instead of AM_PROG_LIBTOOL.
* scheme-compound.texi (Hash Table Reference): Renamed hash-map
--> hash-map->list.

* configure.in: Use AC_PROG_LIBTOOL instead of AM_PROG_LIBTOOL.
2004-02-15 18:27:31 +00:00