From 5aa4c799c0b64eb0959306205e1373f684527772 Mon Sep 17 00:00:00 2001
From: Arun Prakash Jana <engineerarun@gmail.com>
Date: Sat, 8 Apr 2017 11:14:51 +0530
Subject: [PATCH] Remove redundant search when entering directory

---
 nnn.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/nnn.c b/nnn.c
index e12e1471..fedd65bf 100644
--- a/nnn.c
+++ b/nnn.c
@@ -1065,13 +1065,18 @@ browse(char *ipath, char *ifilter)
 	struct stat sb;
 	regex_t re;
 	int r, fd;
+	enum action sel = SEL_RUNARG + 1;
 
 	xstrlcpy(path, ipath, sizeof(path));
 	xstrlcpy(fltr, ifilter, sizeof(fltr));
 	oldpath[0] = '\0';
 	newpath[0] = '\0';
 begin:
-	r = populate(path, oldpath, fltr);
+
+	if (sel == SEL_GOIN && S_ISDIR(sb.st_mode))
+		r = populate(path, NULL, fltr);
+	else
+		r = populate(path, oldpath, fltr);
 	if (r == -1) {
 		printwarn();
 		goto nochange;
@@ -1080,7 +1085,8 @@ begin:
 	for (;;) {
 		redraw(path);
 nochange:
-		switch (nextsel(&run, &env)) {
+		sel = nextsel(&run, &env);
+		switch (sel) {
 		case SEL_QUIT:
 			dentfree(dents);
 			return;
-- 
2.51.0