nano

nano with my custom patches
git clone git://bsandro.tech/nano
Log | Files | Refs | README | LICENSE

commit a75bf0a1d17151ea96d674b80294bfe57a00aef6
parent 5f70229c7e8102fced2150e10182766999ecabd4
Author: Marco Diego Aurélio Mesquita <marcodiegomesquita@gmail.com>
Date:   Thu, 14 Sep 2017 20:02:24 -0300

history: remember the list of executed commands across sessions

Signed-off-by: Marco Diego Aurélio Mesquita <marcodiegomesquita@gmail.com>

Diffstat:
Msrc/files.c | 10+++++++---
1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/src/files.c b/src/files.c @@ -2828,8 +2828,11 @@ void load_history(void) /* Encode any embedded NUL as 0x0A. */ unsunder(line, read); update_history(history, line); - } else + } else if (history == &search_history) history = &replace_history; + else + history = &execute_history; + } fclose(hist); @@ -2871,7 +2874,7 @@ void save_history(void) /* If the histories are unchanged or empty, don't bother saving them. */ if (!history_has_changed() || (searchbot->lineno == 1 && - replacebot->lineno == 1)) + replacebot->lineno == 1 && executebot->lineno == 1)) return; searchhist = histfilename(); @@ -2888,7 +2891,8 @@ void save_history(void) /* Don't allow others to read or write the history file. */ chmod(searchhist, S_IRUSR | S_IWUSR); - if (!writehist(hist, searchage) || !writehist(hist, replaceage)) + if (!writehist(hist, searchage) || !writehist(hist, replaceage) || + !writehist(hist, executetop)) fprintf(stderr, _("Error writing %s: %s\n"), searchhist, strerror(errno));