* readline.c (scm_init_readline): Only do init_bouncing_parens ()
authorNeil Jerram <neil@ossau.uklinux.net>
Tue, 29 Jan 2008 23:02:18 +0000 (23:02 +0000)
committerNeil Jerram <neil@ossau.uklinux.net>
Tue, 29 Jan 2008 23:02:18 +0000 (23:02 +0000)
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.

guile-readline/ChangeLog
guile-readline/configure.in
guile-readline/readline.c

index a599a66..97d2982 100644 (file)
@@ -1,3 +1,12 @@
+2008-01-29  Neil Jerram  <neil@ossau.uklinux.net>
+
+       * 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.
+
 2007-07-29  Ludovic Courtès  <ludo@gnu.org>
 
        * Makefile.am (INCLUDES): Add Gnulib includes.
index b58b46b..d0fda02 100644 (file)
@@ -43,6 +43,11 @@ AC_CHECK_FUNCS(siginterrupt rl_clear_signals rl_cleanup_after_signal)
 dnl Check for modern readline naming
 AC_CHECK_FUNCS(rl_filename_completion_function)
 
+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 for rl_pre_input_hook.  This is more complicated because on
 dnl some systems (HP/UX), the linker wont let us treat
 dnl rl_pre_input_hook as a function when it really is a function
index 5a8ced6..aa14e39 100644 (file)
@@ -425,6 +425,7 @@ completion_function (char *text, int continuep)
     }
 }
 
+#if HAVE_RL_GET_KEYMAP
 /*Bouncing parenthesis (reimplemented by GH, 11/23/98, since readline is strict gpl)*/
 
 static int match_paren (int x, int k);
@@ -528,6 +529,7 @@ match_paren (int x, int k)
     }
   return 0;
 }
+#endif /* HAVE_RL_GET_KEYMAP */
 
 #if defined (HAVE_RL_PRE_INPUT_HOOK) && defined (GUILE_SIGWINCH_SA_RESTART_CLEARED)
 /* Readline disables SA_RESTART on SIGWINCH.
@@ -575,7 +577,9 @@ scm_init_readline ()
   reentry_barrier_mutex = scm_permanent_object (scm_make_mutex ());
   scm_init_opts (scm_readline_options,
                 scm_readline_opts);
+#if HAVE_RL_GET_KEYMAP
   init_bouncing_parens();
+#endif
   scm_add_feature ("readline");
 #endif /* HAVE_RL_GETC_FUNCTION */
 }