diff -ur fenris-0.07build3244/aegir.c fenris-0.07build3244-ktm/aegir.c --- fenris-0.07build3244/aegir.c Mon Sep 2 04:14:08 2002 +++ fenris-0.07build3244-ktm/aegir.c Sat Aug 7 17:18:41 2004 @@ -161,6 +161,7 @@ char *read_stack, *read_tmp; static int read_the_line(void* arg) { + char* buffer=0; char* prev=0; signal(SIGINT,SIG_IGN); usleep(200000); @@ -170,7 +171,16 @@ if (prev) free(prev); if (!(read_tmp=readline(PROMPT))) { debug("Use 'quit yes' (or 'q y') to quit.\n"); - } else if (strlen(read_tmp)) add_history(read_tmp); + } else if (strlen(read_tmp)) { + add_history(read_tmp); + } else { /* empty line ? we repeat the last command */ + history_entry = history_get(where_history()); + if(history_entry) { + if (buffer) free(buffer); + buffer = strdup(history_entry->line); + read_tmp = buffer; + } + } prev=read_tmp; kill(getppid(),SIGUSR1); }