nnn

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README | LICENSE

commit f269be5802130433a1fbf90c1ce460cdd6500933
parent aa6013378f2152521ff5b4eaeef3fdcc0c192334
Author: Arun Prakash Jana <engineerarun@gmail.com>
Date:   Tue,  4 Jun 2019 20:32:16 +0530

Restrict opening 0B files.

See #187. The behaviour has always remained so confusing. In my case a 0B file
opens in the GUI editor though I have NNN_USE_EDITOR set. We have a sensible
message in place to help users with what to do next.

Diffstat:
MREADME.md | 1-
Msrc/nnn.c | 16++++------------
2 files changed, 4 insertions(+), 13 deletions(-)

diff --git a/README.md b/README.md @@ -377,7 +377,6 @@ The following indicators are used in the detail view: | `NNN_USE_EDITOR=1` | open text files in `$EDITOR` (`$VISUAL`, if defined; fallback vi) | | `NNN_NO_AUTOSELECT=1` | do not auto-select matching dir in _nav-as-you-type_ mode | | `NNN_RESTRICT_NAV_OPEN=1` | open files on <kbd> ↵</kbd>, not <kbd>→</kbd> or <kbd>l</kbd> | -| `NNN_RESTRICT_0B=1` | disable 0-byte file open; see [#187](https://github.com/jarun/nnn/issues/187), use _edit_ or _open with_ | | `NNN_TRASH=1` | trash files to the desktop Trash [default: delete] | | `NNN_OPS_PROG=1` | show copy, move progress on Linux | diff --git a/src/nnn.c b/src/nnn.c @@ -212,7 +212,7 @@ typedef struct { uint copymode : 1; /* Set when copying files */ uint showdetail : 1; /* Clear to show fewer file info */ uint ctxactive : 1; /* Context active or not */ - uint reserved : 7; + uint reserved : 8; /* The following settings are global */ uint curctx : 2; /* Current context number */ uint dircolor : 1; /* Current status of dir color */ @@ -224,7 +224,6 @@ typedef struct { uint useeditor : 1; /* Use VISUAL to open text files */ uint runplugin : 1; /* Choose plugin mode */ uint runctx : 2; /* The context in which plugin is to be run */ - uint restrict0b : 1; /* Restrict 0-byte file opening */ uint filter_re : 1; /* Use regex filters */ uint wild : 1; /* Do not sort entries on dir load */ uint trash : 1; /* Move removed files to trash */ @@ -264,7 +263,6 @@ static settings cfg = { 0, /* useeditor */ 0, /* runplugin */ 0, /* runctx */ - 0, /* restrict0b */ 1, /* filter_re */ 0, /* wild */ 0, /* trash */ @@ -396,10 +394,9 @@ static const char * const messages[] = { #define NNN_USE_EDITOR 8 /* flags begin here */ #define NNN_NO_AUTOSELECT 9 #define NNN_RESTRICT_NAV_OPEN 10 -#define NNN_RESTRICT_0B 11 -#define NNN_TRASH 12 +#define NNN_TRASH 11 #ifdef __linux__ -#define NNN_OPS_PROG 13 +#define NNN_OPS_PROG 12 #endif static const char * const env_cfg[] = { @@ -414,7 +411,6 @@ static const char * const env_cfg[] = { "NNN_USE_EDITOR", "NNN_NO_AUTOSELECT", "NNN_RESTRICT_NAV_OPEN", - "NNN_RESTRICT_0B", "NNN_TRASH", #ifdef __linux__ "NNN_OPS_PROG", @@ -3356,7 +3352,7 @@ nochange: continue; } - if (!sb.st_size && cfg.restrict0b) { + if (!sb.st_size) { printwait("empty: use edit or open with", &presel); goto nochange; } @@ -4594,10 +4590,6 @@ int main(int argc, char *argv[]) if (xgetenv_set(env_cfg[NNN_RESTRICT_NAV_OPEN])) cfg.nonavopen = 1; - /* Restrict opening of 0-byte files */ - if (xgetenv_set(env_cfg[NNN_RESTRICT_0B])) - cfg.restrict0b = 1; - #ifdef __linux__ if (!xgetenv_set(env_cfg[NNN_OPS_PROG])) { cp[5] = cp[4];