From a7da41981021575e2359683d994eec6c9d246321 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Thu, 2 Dec 2021 13:06:27 -0500 Subject: [PATCH] Add configure probe for rl_variable_bind(). Some exceedingly ancient readline libraries lack this function, causing commit 3d858af07 to fail. Per buildfarm (via Michael Paquier). Discussion: https://postgr.es/m/E1msTLm-0007Cm-Ri@gemulon.postgresql.org --- configure | 14 +------------- configure.ac | 10 ++++++++-- src/bin/psql/input.c | 2 ++ src/include/pg_config.h.in | 3 +++ src/tools/msvc/Solution.pm | 1 + 5 files changed, 15 insertions(+), 15 deletions(-) diff --git a/configure b/configure index 5d72ee3fdea..5f842a86b27 100755 --- a/configure +++ b/configure @@ -17164,19 +17164,7 @@ $as_echo "#define HAVE_RL_FILENAME_QUOTING_FUNCTION 1" >>confdefs.h fi - for ac_func in rl_completion_matches rl_filename_completion_function rl_reset_screen_size -do : - as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" -if eval test \"x\$"$as_ac_var"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF - -fi -done - - for ac_func in append_history history_truncate_file + for ac_func in append_history history_truncate_file rl_completion_matches rl_filename_completion_function rl_reset_screen_size rl_variable_bind do : as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" diff --git a/configure.ac b/configure.ac index 03ca3a4dc05..566a6010dd7 100644 --- a/configure.ac +++ b/configure.ac @@ -2001,8 +2001,14 @@ LIBS="$LIBS_including_readline" if test "$with_readline" = yes; then PGAC_READLINE_VARIABLES - AC_CHECK_FUNCS([rl_completion_matches rl_filename_completion_function rl_reset_screen_size]) - AC_CHECK_FUNCS([append_history history_truncate_file]) + AC_CHECK_FUNCS(m4_normalize([ + append_history + history_truncate_file + rl_completion_matches + rl_filename_completion_function + rl_reset_screen_size + rl_variable_bind + ])) fi diff --git a/src/bin/psql/input.c b/src/bin/psql/input.c index 1dcd95a7b9e..501f5d5fbc5 100644 --- a/src/bin/psql/input.c +++ b/src/bin/psql/input.c @@ -356,8 +356,10 @@ initializeInput(int flags) /* set appropriate values for Readline's global variables */ initialize_readline(); +#ifdef HAVE_RL_VARIABLE_BIND /* set comment-begin to a useful value for SQL */ (void) rl_variable_bind("comment-begin", "-- "); +#endif /* this reads ~/.inputrc, so do it after rl_variable_bind */ rl_initialize(); diff --git a/src/include/pg_config.h.in b/src/include/pg_config.h.in index d793734fe10..7525c165974 100644 --- a/src/include/pg_config.h.in +++ b/src/include/pg_config.h.in @@ -485,6 +485,9 @@ /* Define to 1 if you have the `rl_reset_screen_size' function. */ #undef HAVE_RL_RESET_SCREEN_SIZE +/* Define to 1 if you have the `rl_variable_bind' function. */ +#undef HAVE_RL_VARIABLE_BIND + /* Define to 1 if you have the header file. */ #undef HAVE_SECURITY_PAM_APPL_H diff --git a/src/tools/msvc/Solution.pm b/src/tools/msvc/Solution.pm index 1cb31d929fe..2c8cd521e94 100644 --- a/src/tools/msvc/Solution.pm +++ b/src/tools/msvc/Solution.pm @@ -354,6 +354,7 @@ sub GenerateFiles HAVE_RL_FILENAME_QUOTE_CHARACTERS => undef, HAVE_RL_FILENAME_QUOTING_FUNCTION => undef, HAVE_RL_RESET_SCREEN_SIZE => undef, + HAVE_RL_VARIABLE_BIND => undef, HAVE_SECURITY_PAM_APPL_H => undef, HAVE_SETENV => undef, HAVE_SETPROCTITLE => undef, -- 2.39.5