nnn

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README | LICENSE

commit 53a2e4c56058db01dbe7bcbaeb37a9352fc73959
parent 5077b020bcf0e4418d520db8a21ae686ca5db1a8
Author: Arun Prakash Jana <engineerarun@gmail.com>
Date:   Fri,  8 Nov 2019 19:15:53 +0530

Incorporate PR #368

Diffstat:
Msrc/nnn.c | 22++++++++++++----------
1 file changed, 12 insertions(+), 10 deletions(-)

diff --git a/src/nnn.c b/src/nnn.c @@ -3424,7 +3424,7 @@ static bool run_selected_plugin(char **path, const char *file, char *newpath, ch if (len > 1) { int ctx = g_buf[0] - '0'; - if (ctx == 0) { + if (ctx == 0 || ctx == cfg.curctx + 1) { xstrlcpy(*lastdir, *path, PATH_MAX); xstrlcpy(*path, g_buf + 1, PATH_MAX); } else if (ctx >= 1 && ctx <= CTX_MAX) { @@ -4966,18 +4966,20 @@ nochange: if (tmp[0] == '_' && tmp[1]) { xstrlcpy(newpath, ++tmp, PATH_MAX); flag = F_CLI | F_CONFIRM; - tmp = NULL; + spawn(newpath, (ndents ? dents[cur].name : NULL), + NULL, path, flag); } else { - mkpath(plugindir, tmp, newpath); - tmp = path; - } + xstrlcpy(rundir, path, PATH_MAX); + xstrlcpy(path, plugindir, PATH_MAX); + if (!run_selected_plugin(&path, tmp, newpath, rundir, + (ndents ? dents[cur].name : NULL), + &lastname, &lastdir)) + goto nochange; - spawn(newpath, (ndents ? dents[cur].name : NULL), - tmp, path, flag); + } - if (cfg.filtermode) - presel = FILTER; - goto nochange; + setdirwatch(); + goto begin; } cfg.runplugin ^= 1;