mirror of
https://github.com/jarun/nnn.git
synced 2025-02-26 03:01:32 +00:00
Fix only the last file path is copied to selection buffer
This commit is contained in:
parent
9b384799b7
commit
3b2b6f2b46
1 changed files with 7 additions and 1 deletions
|
@ -306,7 +306,7 @@ static int ndents, cur, curscroll, total_dents = ENTRY_INCR;
|
||||||
static int xlines, xcols;
|
static int xlines, xcols;
|
||||||
static int nselected;
|
static int nselected;
|
||||||
static uint idle;
|
static uint idle;
|
||||||
static uint idletimeout, selbufpos, selbuflen;
|
static uint idletimeout, selbufpos, lastappendpos, selbuflen;
|
||||||
static char *bmstr;
|
static char *bmstr;
|
||||||
static char *pluginstr;
|
static char *pluginstr;
|
||||||
static char *opener;
|
static char *opener;
|
||||||
|
@ -1007,6 +1007,8 @@ static void startselection(void)
|
||||||
writesel(NULL, 0);
|
writesel(NULL, 0);
|
||||||
selbufpos = 0;
|
selbufpos = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
lastappendpos = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -4834,9 +4836,11 @@ nochange:
|
||||||
/* Write the path to selection file to avoid flush */
|
/* Write the path to selection file to avoid flush */
|
||||||
if (!(dents[cur].flags & FILE_SELECTED)) {
|
if (!(dents[cur].flags & FILE_SELECTED)) {
|
||||||
utmp = selbufpos;
|
utmp = selbufpos;
|
||||||
|
selbufpos = lastappendpos;
|
||||||
appendfpath(newpath, mkpath(path, dents[cur].name, newpath));
|
appendfpath(newpath, mkpath(path, dents[cur].name, newpath));
|
||||||
writesel(pselbuf, selbufpos - 1); /* Truncate NULL from end */
|
writesel(pselbuf, selbufpos - 1); /* Truncate NULL from end */
|
||||||
spawn(copier, NULL, NULL, NULL, F_NOTRACE);
|
spawn(copier, NULL, NULL, NULL, F_NOTRACE);
|
||||||
|
lastappendpos = selbufpos;
|
||||||
selbufpos = utmp;
|
selbufpos = utmp;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -4901,6 +4905,7 @@ nochange:
|
||||||
|
|
||||||
/* Remember current selection buffer position */
|
/* Remember current selection buffer position */
|
||||||
utmp = selbufpos;
|
utmp = selbufpos;
|
||||||
|
selbufpos = lastappendpos;
|
||||||
|
|
||||||
for (r = selstartid; r <= selendid; ++r)
|
for (r = selstartid; r <= selendid; ++r)
|
||||||
if (!(dents[r].flags & FILE_SELECTED)) {
|
if (!(dents[r].flags & FILE_SELECTED)) {
|
||||||
|
@ -4915,6 +4920,7 @@ nochange:
|
||||||
writesel(pselbuf, selbufpos - 1); /* Truncate NULL from end */
|
writesel(pselbuf, selbufpos - 1); /* Truncate NULL from end */
|
||||||
spawn(copier, NULL, NULL, NULL, F_NOTRACE);
|
spawn(copier, NULL, NULL, NULL, F_NOTRACE);
|
||||||
/* Restore current selection buffer position */
|
/* Restore current selection buffer position */
|
||||||
|
lastappendpos = selbufpos;
|
||||||
selbufpos = utmp;
|
selbufpos = utmp;
|
||||||
}
|
}
|
||||||
continue;
|
continue;
|
||||||
|
|
Loading…
Add table
Reference in a new issue