diff options
author | Daniel Llorens <lloda@sarc.name> | 2020-01-27 22:43:56 +0100 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2020-02-12 10:32:12 +0100 |
commit | f361584a15358dc52ecb2981d4c47ab507c6a02a (patch) | |
tree | 6be6d19586a740de196f1a530d276f03cfb2c747 | |
parent | 9a11be136f8509ec09227866414abfed25894910 (diff) |
Fix check for rl_get_keymap
This lets Guile build on OS X (tested on 10.14) with the system-provided
libreadline.
* acinclude.m4 (GUILE_READLINE): Check for rl_get_keymap_name instead of
rl_get_keymap. The system provided libreadline is an alias to libedit,
which has _keymap but not _keymap_name, and Guile uses both.
* guile-readline/readline.c: Adjust the include guard.
-rw-r--r-- | acinclude.m4 | 10 | ||||
-rw-r--r-- | guile-readline/readline.c | 6 |
2 files changed, 9 insertions, 7 deletions
diff --git a/acinclude.m4 b/acinclude.m4 index 70cb247aa..3004f2fb1 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -427,10 +427,12 @@ AC_DEFUN([GUILE_READLINE], [ [[#include <stdio.h>] [#include <readline/readline.h>]]) - dnl Check for rl_get_keymap. We only use this for deciding whether to - dnl install paren matching on the Guile command line (when using - dnl readline for input), so it's completely optional. - AC_CHECK_FUNCS([rl_get_keymap]) + dnl Check rl_get_keymap_name instead of rl_get_keymap because some + dnl systems only have the latter and the feature needs both. + dnl We only use this for deciding whether to install paren matching on + dnl the Guile command line (when using readline for input), so it's + dnl completely optional. + AC_CHECK_FUNCS([rl_get_keymap_name]) AC_CACHE_CHECK([for rl_getc_function pointer in readline], ac_cv_var_rl_getc_function, diff --git a/guile-readline/readline.c b/guile-readline/readline.c index c15275dd3..b80b49545 100644 --- a/guile-readline/readline.c +++ b/guile-readline/readline.c @@ -420,7 +420,7 @@ completion_function (char *text, int continuep) } } -#if HAVE_RL_GET_KEYMAP +#if HAVE_RL_GET_KEYMAP_NAME /*Bouncing parenthesis (reimplemented by GH, 11/23/98, since readline is strict gpl)*/ static int match_paren (int x, int k); @@ -515,7 +515,7 @@ match_paren (int x, int k) } return 0; } -#endif /* HAVE_RL_GET_KEYMAP */ +#endif /* HAVE_RL_GET_KEYMAP_NAME */ #endif /* HAVE_RL_GETC_FUNCTION */ @@ -551,7 +551,7 @@ scm_init_readline () rl_variable_bind ("enable-bracketed-paste", SCM_READLINE_BRACKETED_PASTE ? "on" : "off"); -#if HAVE_RL_GET_KEYMAP +#if HAVE_RL_GET_KEYMAP_NAME init_bouncing_parens(); #endif scm_add_feature ("readline"); |