mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-06-09 21:40:33 +02:00
Remove all automatic readline support, to avoid copyright
confusion. * INSTALL: Update text. * NEWS: Explain the situation. * configure.in: Remove configury for readline and its supporting libraries. * configure: Regenerated.
This commit is contained in:
parent
4640803949
commit
1d3358634f
4 changed files with 287 additions and 1074 deletions
4
INSTALL
4
INSTALL
|
@ -78,10 +78,6 @@ be enabled by default. The interaction with blocking I/O is pretty ad
|
|||
hoc at the moment. In our experience, bugs in the thread support do
|
||||
not affect you if you don't actually use threads.
|
||||
|
||||
--with-readline --- include support for fancy line editing, based on
|
||||
the GNU readline library. This is enabled by default, so you must
|
||||
specify --with-readline=no if you don't want it.
|
||||
|
||||
--enable-dynamic-linking --- Build a Guile executable and library
|
||||
providing Scheme functions which can load a shared library and
|
||||
initialize it, perhaps thereby adding new functions to Guile. This
|
||||
|
|
72
NEWS
72
NEWS
|
@ -8,65 +8,33 @@ Changes since Guile 1.3:
|
|||
|
||||
* Changes to the distribution
|
||||
|
||||
** The configure script now accepts a --with-readline flag.
|
||||
** Readline support is no longer included with Guile by default.
|
||||
|
||||
By default, Guile includes support for the readline line-editing
|
||||
library, if a sufficiently recent version of the library is installed
|
||||
on your system.
|
||||
Based on the different license terms of Guile and Readline, we
|
||||
concluded that Guile should not *by default* cause the linking of
|
||||
Readline into an application program. Readline support is now offered
|
||||
as a separate module, which is linked into an application only when
|
||||
you explicitly specify it.
|
||||
|
||||
If you do not want readline included in Guile, pass the following flag
|
||||
to the configure script:
|
||||
Although Guile is GNU software, its distribution terms add a special
|
||||
exception to the usual GNU General Public License (GPL). Guile's
|
||||
license includes a clause that allows you to link Guile with non-free
|
||||
programs. We add this exception so as not to put Guile at a
|
||||
disadvantage vis-a-vis other extensibility packages that support other
|
||||
languages.
|
||||
|
||||
--with-readline=no
|
||||
In contrast, the GNU Readline library is distributed under the GNU
|
||||
General Public License pure and simple. This means that you may not
|
||||
link Readline, even dynamically, into an application unless it is
|
||||
distributed under a free software license that is compatible the GPL.
|
||||
|
||||
You may not want to configure Guile to use readline if you are unable
|
||||
to release your program under the GNU General Public License; the
|
||||
readline library is released under the GPL, so anything linked with it
|
||||
must also be distributed under the GPL.
|
||||
|
||||
Enabling readline support does not significantly increase the size of
|
||||
the Guile library. Readline itself is a shared library on most
|
||||
systems, and the readline interface code in Guile is less than 3
|
||||
kilobytes long.
|
||||
|
||||
In future releases of Guile, we hope to have the readline support
|
||||
linked into Guile dynamically, if and when you use it. This would
|
||||
make this configuration option unnecessary; the same Guile library
|
||||
could be used both with and without the readline library.
|
||||
Because of this difference in distribution terms, an application that
|
||||
can use Guile may not be able to use Readline. Now users will be
|
||||
explicitly offered two independent decisions about the use of these
|
||||
two packages.
|
||||
|
||||
* Changes to the stand-alone interpreter
|
||||
|
||||
** Command-line editing is enhanced.
|
||||
|
||||
If you have a sufficiently recent version of the GNU readline library
|
||||
installed on your system, Guile will use it to read expressions
|
||||
interactively.
|
||||
|
||||
You can now use the readline-options interface to control readline's
|
||||
behavior. You can now control the readline library's behavior by
|
||||
changing the options listed below.
|
||||
|
||||
(readline-enable 'history-file)
|
||||
Tell readline to record your commands in a file when you exit
|
||||
Guile, and restore them when you restart Guile. By default, Guile
|
||||
saves commands to `$HOME/.guile_history', but if the
|
||||
`GUILE_HISTORY' environment variable is set, Guile will use its
|
||||
value as the name of the history file.
|
||||
|
||||
If Guile is unable to save or restore lines from the history file,
|
||||
the operation is simply not performed; the user is not notified.
|
||||
|
||||
(readline-disable 'history-file)
|
||||
Tell Guile not to save or restore command history.
|
||||
|
||||
(readline-set! history-length N)
|
||||
Tell Guile to save at most N lines of command history.
|
||||
|
||||
(readline-set! bounce-parens N)
|
||||
Tell Guile to indicate the matching opening parenthesis when you
|
||||
type a closing parenthesis, by resting the cursor on it for N
|
||||
milliseconds. If N is zero, do not highlight opening parethesis.
|
||||
|
||||
** All builtins now print as primitives.
|
||||
Previously builtin procedures not belonging to the fundamental subr
|
||||
types printed as #<compiled closure #<primitive-procedure gsubr-apply>>.
|
||||
|
|
34
configure.in
34
configure.in
|
@ -93,40 +93,6 @@ if test $ac_cv_func_connect = no; then
|
|||
AC_CHECK_LIB(socket, connect)
|
||||
fi
|
||||
|
||||
dnl Should we check for curses, terminfo, and termlib, too?
|
||||
for termlib in ncurses termcap ; do
|
||||
AC_CHECK_LIB(${termlib}, tgoto,
|
||||
[LIBS="-l${termlib} $LIBS"; break])
|
||||
done
|
||||
|
||||
AC_ARG_WITH([readline],
|
||||
[ --with-readline use Readline library for command-line editing],
|
||||
[], [with_readline=yes])
|
||||
|
||||
if test "x$with_readline" = "xyes"; then
|
||||
AC_CHECK_LIB(readline, main)
|
||||
AC_CHECK_FUNCS(rl_clear_signals rl_cleanup_after_signal)
|
||||
|
||||
AC_CACHE_CHECK([for rl_getc_function pointer in readline],
|
||||
ac_cv_var_rl_getc_function,
|
||||
[AC_TRY_LINK([
|
||||
#include <stdio.h>
|
||||
#include <readline/readline.h>],
|
||||
[rl_getc_function;],
|
||||
[ac_cv_var_rl_getc_function=yes],
|
||||
[ac_cv_var_rl_getc_function=no])])
|
||||
if test "${ac_cv_var_rl_getc_function}" = "yes"; then
|
||||
AC_DEFINE(HAVE_RL_GETC_FUNCTION)
|
||||
fi
|
||||
|
||||
if test $ac_cv_lib_readline_main = yes \
|
||||
-a $ac_cv_var_rl_getc_function = no; then
|
||||
AC_MSG_WARN([Warning: libreadline is too old on your system. You need])
|
||||
AC_MSG_WARN([readline version 2.1 or later.])
|
||||
fi
|
||||
|
||||
fi
|
||||
|
||||
# Checks for dynamic linking
|
||||
|
||||
if test "$enable_dynamic_linking" = "yes"; then
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue