aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/nnn.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/nnn.c b/src/nnn.c
index 6f27339..ce46c1c 100644
--- a/src/nnn.c
+++ b/src/nnn.c
@@ -3709,8 +3709,22 @@ nochange:
break;
default: /* SEL_RUNCMD */
exitcurses();
+
+ /* Switch to current path for readline(3) */
+ if (chdir(path) == -1) {
+ printwarn();
+ goto nochange;
+ }
+
tmp = readline("nnn> ");
+
+ if (chdir(ipath) == -1) {
+ printwarn();
+ goto nochange;
+ }
+
refresh();
+
if (tmp && tmp[0]) {
spawn(shell, "-c", tmp, path, F_NORMAL | F_SIGINT);
add_history(tmp);