summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Llorens <lloda@sarc.name>2020-01-27 22:43:56 +0100
committerLudovic Courtès <ludo@gnu.org>2020-02-12 10:32:12 +0100
commitf361584a15358dc52ecb2981d4c47ab507c6a02a (patch)
tree6be6d19586a740de196f1a530d276f03cfb2c747
parent9a11be136f8509ec09227866414abfed25894910 (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.m410
-rw-r--r--guile-readline/readline.c6
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");