aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2021-12-02 13:06:27 -0500
committerTom Lane <tgl@sss.pgh.pa.us>2021-12-02 13:06:27 -0500
commita7da41981021575e2359683d994eec6c9d246321 (patch)
treefcc3b7bc23f87bb62164ee62b21d740687cd74d2
parenta22d6a2cb62c4fc6d7c4b077d8014fd4ffaec426 (diff)
downloadpostgresql-a7da41981021575e2359683d994eec6c9d246321.tar.gz
postgresql-a7da41981021575e2359683d994eec6c9d246321.zip
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
-rwxr-xr-xconfigure14
-rw-r--r--configure.ac10
-rw-r--r--src/bin/psql/input.c2
-rw-r--r--src/include/pg_config.h.in3
-rw-r--r--src/tools/msvc/Solution.pm1
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 <security/pam_appl.h> 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,