diff --git a/src/nnn.c b/src/nnn.c index bc7b629c..1cbb7d2b 100644 --- a/src/nnn.c +++ b/src/nnn.c @@ -6330,12 +6330,17 @@ nochange: xstrsncpy(path, rundir, PATH_MAX); rundir[0] = '\0'; + bool picker = g_state.picker; + if (chdir(path) == -1 || !run_selected_plugin(&path, pent->name, runfile, &lastname, &lastdir)) { DPRINTF_S("plugin failed!"); } + if (picker != g_state.picker) + return EXIT_SUCCESS; + if (runfile[0]) runfile[0] = '\0'; clearfilter(); @@ -7050,12 +7055,17 @@ nochange: } else r = TRUE; + bool picker = g_state.picker; + if (!run_selected_plugin(&path, tmp, (ndents ? pdents[cur].name : NULL), &lastname, &lastdir)) { printwait(messages[MSG_FAILED], &presel); goto nochange; } + if (picker != g_state.picker) + return EXIT_SUCCESS; + if (ndents) copycurname();