diff options
Diffstat (limited to 'emma.c')
-rw-r--r-- | emma.c | 27 |
1 files changed, 26 insertions, 1 deletions
@@ -30,6 +30,11 @@ static const char id[]="$Id$"; #include <signal.h> #include <stdarg.h> +#ifdef ENABLE_READLINE +#include <readline/readline.h> +#include <readline/history.h> +#endif + #include "z80.h" #include "expr.h" @@ -1080,7 +1085,6 @@ static int IntCheck(Z80 *z80, Z80Val v) int main(int argc, char *argv[]) { const char *autoarg[2]={".","auto"}; - char buff[1024]; int f; for(f=0;f<256;f++) memctl[f]=1; @@ -1111,6 +1115,26 @@ int main(int argc, char *argv[]) while(!quit) { +#ifdef ENABLE_READLINE + char *line; + + if ((line=readline("EMMA> "))) + { + if (line[0]) + { + Run(line); + add_history(line); + free(line); + } + } + else + { + quit=TRUE; + continue; + } +#else + char buff[1024]; + Log("EMMA> "); fflush(stdout); @@ -1121,6 +1145,7 @@ int main(int argc, char *argv[]) } Run(buff); +#endif } return EXIT_SUCCESS; |