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
|
hoc at the moment. In our experience, bugs in the thread support do
|
||||||
not affect you if you don't actually use threads.
|
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
|
--enable-dynamic-linking --- Build a Guile executable and library
|
||||||
providing Scheme functions which can load a shared library and
|
providing Scheme functions which can load a shared library and
|
||||||
initialize it, perhaps thereby adding new functions to Guile. This
|
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
|
* 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
|
Based on the different license terms of Guile and Readline, we
|
||||||
library, if a sufficiently recent version of the library is installed
|
concluded that Guile should not *by default* cause the linking of
|
||||||
on your system.
|
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
|
Although Guile is GNU software, its distribution terms add a special
|
||||||
to the configure script:
|
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
|
Because of this difference in distribution terms, an application that
|
||||||
to release your program under the GNU General Public License; the
|
can use Guile may not be able to use Readline. Now users will be
|
||||||
readline library is released under the GPL, so anything linked with it
|
explicitly offered two independent decisions about the use of these
|
||||||
must also be distributed under the GPL.
|
two packages.
|
||||||
|
|
||||||
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.
|
|
||||||
|
|
||||||
* Changes to the stand-alone interpreter
|
* 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.
|
** All builtins now print as primitives.
|
||||||
Previously builtin procedures not belonging to the fundamental subr
|
Previously builtin procedures not belonging to the fundamental subr
|
||||||
types printed as #<compiled closure #<primitive-procedure gsubr-apply>>.
|
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)
|
AC_CHECK_LIB(socket, connect)
|
||||||
fi
|
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
|
# Checks for dynamic linking
|
||||||
|
|
||||||
if test "$enable_dynamic_linking" = "yes"; then
|
if test "$enable_dynamic_linking" = "yes"; then
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue