commit 4baee859f8763ed0ca3703ac3e5ab0d291149aed
parent de004d944e34dbc8574028b74ac0dfb4c3231044
Author: Göran Gustafsson <gustafsson.g@gmail.com>
Date: Wed, 8 Jun 2022 07:45:18 +0200
Go to last dir on bookmark key repeat
Diffstat:
2 files changed, 10 insertions(+), 2 deletions(-)
diff --git a/nnn.1 b/nnn.1
@@ -363,6 +363,9 @@ There are 2 ways (can be used together) to manage bookmarks.
On entering a bookmark, the directory where the select bookmark key was
pressed is set as the previous directory. Press '-' to return to it.
.Pp
+When \fINNN_BMS\fR` is not set, it's possible to return to the previous directory
+from the bookmarks directory using the select bookmark key.
+.Pp
.Sh UNITS
The minimum file size unit is byte (B). The rest are K, M, G, T, P, E, Z, Y
(powers of 1024), same as the default units in \fIls\fR.
diff --git a/src/nnn.c b/src/nnn.c
@@ -7142,8 +7142,13 @@ nochange:
goto nochange;
}
- if (strcmp(path, newpath) == 0)
- break;
+ if (strcmp(path, newpath) == 0) {
+ if (bookmark)
+ break;
+
+ dir = lastdir; /* Go to last dir on bookmark key repeat */
+ xstrsncpy(newpath, dir, PATH_MAX);
+ }
}
/* In list mode, retain the last file name to highlight it, if possible */