diff -up sapi/phpdbg/config.m4.old sapi/phpdbg/config.m4 --- sapi/phpdbg/config.m4.old 2014-06-23 09:42:29.381980030 +0200 +++ sapi/phpdbg/config.m4 2014-06-23 09:20:13.948592684 +0200 @@ -21,7 +21,7 @@ if test "$PHP_PHPDBG" != "no"; then PHP_PHPDBG_CFLAGS="-D_GNU_SOURCE" PHP_PHPDBG_FILES="phpdbg.c phpdbg_parser.c phpdbg_lexer.c phpdbg_prompt.c phpdbg_help.c phpdbg_break.c phpdbg_print.c phpdbg_bp.c phpdbg_opcode.c phpdbg_list.c phpdbg_utils.c phpdbg_info.c phpdbg_cmd.c phpdbg_set.c phpdbg_frame.c phpdbg_watch.c phpdbg_btree.c" - if test "$PHP_READLINE" != "no"; then + if test "$PHP_READLINE" != "no" -o "$PHP_LIBEDIT" != "no"; then PHPDBG_EXTRA_LIBS="$PHP_READLINE_LIBS" fi diff -up sapi/phpdbg/phpdbg_cmd.c.old sapi/phpdbg/phpdbg_cmd.c --- sapi/phpdbg/phpdbg_cmd.c.old 2014-06-23 09:43:13.910158686 +0200 +++ sapi/phpdbg/phpdbg_cmd.c 2014-06-23 09:35:30.571299456 +0200 @@ -792,7 +792,7 @@ PHPDBG_API int phpdbg_stack_execute(phpd PHPDBG_API char* phpdbg_read_input(char *buffered TSRMLS_DC) /* {{{ */ { char *cmd = NULL; -#ifndef HAVE_LIBREADLINE +#if !defined(HAVE_LIBREADLINE) && !defined(HAVE_LIBEDIT) char buf[PHPDBG_MAX_CMD]; #endif char *buffer = NULL; @@ -811,7 +811,7 @@ disconnect: return NULL; } -#ifndef HAVE_LIBREADLINE +#if !defined(HAVE_LIBREADLINE) && !defined(HAVE_LIBEDIT) if (!(PHPDBG_G(flags) & PHPDBG_IS_REMOTE)) { if (!phpdbg_write("%s", phpdbg_get_prompt(TSRMLS_C))) { goto disconnect; @@ -850,7 +850,7 @@ readline: buffer = estrdup(cmd); -#ifdef HAVE_LIBREADLINE +#if defined(HAVE_LIBREADLINE) || defined(HAVE_LIBEDIT) if (!buffered && cmd && !(PHPDBG_G(flags) & PHPDBG_IS_REMOTE)) { free(cmd); diff -up sapi/phpdbg/phpdbg.h.old sapi/phpdbg/phpdbg.h --- sapi/phpdbg/phpdbg.h.old 2014-06-23 09:42:47.364052178 +0200 +++ sapi/phpdbg/phpdbg.h 2014-06-23 09:22:20.941107800 +0200 @@ -64,7 +64,7 @@ # include "TSRM.h" #endif -#ifdef HAVE_LIBREADLINE +#if defined(HAVE_LIBREADLINE) || defined(HAVE_LIBEDIT) # include # include #endif diff -up sapi/phpdbg/phpdbg_prompt.c.old sapi/phpdbg/phpdbg_prompt.c --- sapi/phpdbg/phpdbg_prompt.c.old 2014-06-23 09:43:04.216119792 +0200 +++ sapi/phpdbg/phpdbg_prompt.c 2014-06-23 09:32:02.850463053 +0200 @@ -732,6 +732,11 @@ PHPDBG_COMMAND(print) /* {{{ */ #else phpdbg_writeln("Readline\tno"); #endif +#ifdef HAVE_LIBEDIT + phpdbg_writeln("Libedit\t\tyes"); +#else + phpdbg_writeln("Libedit\t\tno"); +#endif phpdbg_writeln("Exec\t\t%s", PHPDBG_G(exec) ? PHPDBG_G(exec) : "none"); phpdbg_writeln("Compiled\t%s", PHPDBG_G(ops) ? "yes" : "no"); diff -up sapi/phpdbg/phpdbg_utils.c.old sapi/phpdbg/phpdbg_utils.c --- sapi/phpdbg/phpdbg_utils.c.old 2014-06-23 09:43:20.690185888 +0200 +++ sapi/phpdbg/phpdbg_utils.c 2014-06-23 09:58:37.075896488 +0200 @@ -400,12 +400,16 @@ PHPDBG_API const char *phpdbg_get_prompt } /* create cached prompt */ +#ifdef HAVE_LIBREADLINE + /* TODO: libedit doesn't seems to support coloured prompt */ if ((PHPDBG_G(flags) & PHPDBG_IS_COLOURED)) { asprintf( &PHPDBG_G(prompt)[1], "\033[%sm%s\033[0m ", PHPDBG_G(colors)[PHPDBG_COLOR_PROMPT]->code, PHPDBG_G(prompt)[0]); - } else { + } else +#endif + { asprintf( &PHPDBG_G(prompt)[1], "%s ", PHPDBG_G(prompt)[0]); diff -up sapi/phpdbg/phpdbg.h.orig sapi/phpdbg/phpdbg.h --- sapi/phpdbg/phpdbg.h.orig 2014-06-23 10:10:19.674754095 +0200 +++ sapi/phpdbg/phpdbg.h 2014-06-23 10:13:14.041460315 +0200 @@ -64,10 +64,13 @@ # include "TSRM.h" #endif -#if defined(HAVE_LIBREADLINE) || defined(HAVE_LIBEDIT) +#ifdef LIBREADLINE # include # include #endif +#ifdef HAVE_LIBEDIT +# include +#endif #include "phpdbg_lexer.h" #include "phpdbg_cmd.h" diff -up sapi/phpdbg/phpdbg_utils.c.orig sapi/phpdbg/phpdbg_utils.c --- sapi/phpdbg/phpdbg_utils.c.orig 2014-06-23 10:10:13.224727967 +0200 +++ sapi/phpdbg/phpdbg_utils.c 2014-06-23 10:12:41.309327759 +0200 @@ -400,7 +400,7 @@ PHPDBG_API const char *phpdbg_get_prompt } /* create cached prompt */ -#ifdef HAVE_LIBREADLINE +#ifndef HAVE_LIBEDIT /* TODO: libedit doesn't seems to support coloured prompt */ if ((PHPDBG_G(flags) & PHPDBG_IS_COLOURED)) { asprintf(