mirror of
https://git.postgresql.org/git/postgresql.git
synced 2025-03-19 20:00:51 +08:00
Here's the patch I promised over on HACKERS - it alters the
implementation of '\e' history tracking for systems that have a readline compatability library without replace_history_entry. I fall back to pushing the query onto the history stack after the \e, rather than replacing it. The patch adds one more place to look for readline headers, and a test for replace_history_entry. I've only included the patch for configure.in Ross J. Reedstrom
This commit is contained in:
parent
d0f3a7e9c4
commit
adc3b34b9c
13
configure.in
13
configure.in
@ -1,5 +1,5 @@
|
||||
dnl Process this file with autoconf to produce a configure script.
|
||||
dnl $Header: /cvsroot/pgsql/configure.in,v 1.236 2003/02/14 14:05:00 momjian Exp $
|
||||
dnl $Header: /cvsroot/pgsql/configure.in,v 1.237 2003/02/19 04:04:04 momjian Exp $
|
||||
dnl
|
||||
dnl Developers, please strive to achieve this order:
|
||||
dnl
|
||||
@ -689,17 +689,19 @@ AC_CHECK_HEADERS(netinet/tcp.h, [], [],
|
||||
|
||||
if test "$with_readline" = yes; then
|
||||
AC_CHECK_HEADERS(readline/readline.h, [],
|
||||
[AC_CHECK_HEADERS(readline.h, [],
|
||||
[AC_CHECK_HEADERS(editline/readline.h, [],
|
||||
[AC_CHECK_HEADERS(readline.h, [],
|
||||
[AC_MSG_ERROR([readline header not found
|
||||
If you have readline already installed, see config.log for details on the
|
||||
failure. It is possible the compiler isn't looking in the proper directory.
|
||||
Use --without-readline to disable readline support.])])])
|
||||
Use --without-readline to disable readline support.])])])])
|
||||
AC_CHECK_HEADERS(readline/history.h, [],
|
||||
[AC_CHECK_HEADERS(history.h, [],
|
||||
[AC_CHECK_HEADERS(editline/history.h, [],
|
||||
[AC_CHECK_HEADERS(history.h, [],
|
||||
[AC_MSG_ERROR([history header not found
|
||||
If you have readline already installed, see config.log for details on the
|
||||
failure. It is possible the compiler isn't looking in the proper directory.
|
||||
Use --without-readline to disable readline support.])])])
|
||||
Use --without-readline to disable readline support.])])])])
|
||||
fi
|
||||
|
||||
if test "$with_zlib" = yes; then
|
||||
@ -878,6 +880,7 @@ AC_CHECK_FUNCS(rint, [],
|
||||
if test "$with_readline" = yes; then
|
||||
PGAC_VAR_RL_COMPLETION_APPEND_CHARACTER
|
||||
AC_CHECK_FUNCS([rl_completion_matches rl_filename_completion_function])
|
||||
AC_CHECK_FUNCS([replace_history_entry])
|
||||
fi
|
||||
|
||||
|
||||
|
@ -3,7 +3,7 @@
|
||||
*
|
||||
* Copyright 2000-2002 by PostgreSQL Global Development Group
|
||||
*
|
||||
* $Header: /cvsroot/pgsql/src/bin/psql/command.c,v 1.89 2003/02/13 04:08:16 momjian Exp $
|
||||
* $Header: /cvsroot/pgsql/src/bin/psql/command.c,v 1.90 2003/02/19 04:04:04 momjian Exp $
|
||||
*/
|
||||
#include "postgres_fe.h"
|
||||
#include "command.h"
|
||||
@ -1649,7 +1649,12 @@ do_edit(const char *filename_arg, PQExpBuffer query_buf)
|
||||
}
|
||||
|
||||
#ifdef USE_READLINE
|
||||
#ifdef HAVE_REPLACE_HISTORY_ENTRY
|
||||
|
||||
replace_history_entry(where_history(),query_buf->data,NULL);
|
||||
#else
|
||||
add_history(query_buf->data);
|
||||
#endif
|
||||
#endif
|
||||
fclose(stream);
|
||||
}
|
||||
|
@ -3,7 +3,7 @@
|
||||
*
|
||||
* Copyright 2000 by PostgreSQL Global Development Group
|
||||
*
|
||||
* $Header: /cvsroot/pgsql/src/bin/psql/input.h,v 1.17 2002/09/04 20:31:36 momjian Exp $
|
||||
* $Header: /cvsroot/pgsql/src/bin/psql/input.h,v 1.18 2003/02/19 04:04:04 momjian Exp $
|
||||
*/
|
||||
#ifndef INPUT_H
|
||||
#define INPUT_H
|
||||
@ -18,11 +18,15 @@
|
||||
#define USE_READLINE 1
|
||||
#if defined(HAVE_READLINE_READLINE_H)
|
||||
#include <readline/readline.h>
|
||||
#elif defined(HAVE_EDITLINE_READLINE_H)
|
||||
#include <editline/readline.h>
|
||||
#elif defined(HAVE_READLINE_H)
|
||||
#include <readline.h>
|
||||
#endif
|
||||
#if defined(HAVE_READLINE_HISTORY_H)
|
||||
#include <readline/history.h>
|
||||
#elif defined(HAVE_EDITLINE_HISTORY_H)
|
||||
#include <editline/history.h>
|
||||
#elif defined(HAVE_HISTORY_H)
|
||||
#include <history.h>
|
||||
#endif
|
||||
|
@ -8,7 +8,7 @@
|
||||
* or in pg_config.h afterwards. Of course, if you edit pg_config.h, then your
|
||||
* changes will be overwritten the next time you run configure.
|
||||
*
|
||||
* $Id: pg_config.h.in,v 1.39 2003/02/14 14:05:00 momjian Exp $
|
||||
* $Id: pg_config.h.in,v 1.40 2003/02/19 04:04:04 momjian Exp $
|
||||
*/
|
||||
|
||||
#ifndef PG_CONFIG_H
|
||||
@ -356,6 +356,12 @@
|
||||
/* Set to 1 if you have <readline/readline.h> */
|
||||
#undef HAVE_READLINE_READLINE_H
|
||||
|
||||
/* Set to 1 if you have <editline/history.h> */
|
||||
#undef HAVE_EDITLINE_HISTORY_H
|
||||
|
||||
/* Set to 1 if you have <editline/readline.h> */
|
||||
#undef HAVE_EDITLINE_READLINE_H
|
||||
|
||||
/* Set to 1 if you have <security/pam_appl.h> */
|
||||
#undef HAVE_SECURITY_PAM_APPL_H
|
||||
|
||||
@ -553,6 +559,9 @@
|
||||
/* Set to 1 if you have rl_filename_completion_function */
|
||||
#undef HAVE_RL_FILENAME_COMPLETION_FUNCTION
|
||||
|
||||
/* Set to 1 if you have replace_history_entry */
|
||||
#undef HAVE_REPLACE_HISTORY_ENTRY
|
||||
|
||||
/* Set to 1 if you have getopt_long() (GNU long options) */
|
||||
#undef HAVE_GETOPT_LONG
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user