From 9312e2d06ae29db2e21b575b007c29da514e5df3 Mon Sep 17 00:00:00 2001 From: "Justin M. Keyes" Date: Mon, 11 Mar 2019 21:01:47 +0100 Subject: autocmd: rename "once" => "-once" #9713 - Rename "nested" to "-nested", but continue to support "nested" for backwards-compatibility. - Allow any order: "-once -nested" or "-nested -once". ref https://github.com/neovim/neovim/pull/9706#issuecomment-471295747 --- src/nvim/fileio.c | 29 ++++++++++++++++------------- 1 file changed, 16 insertions(+), 13 deletions(-) (limited to 'src/nvim/fileio.c') diff --git a/src/nvim/fileio.c b/src/nvim/fileio.c index f111376d84..51180c4939 100644 --- a/src/nvim/fileio.c +++ b/src/nvim/fileio.c @@ -6047,20 +6047,23 @@ void do_autocmd(char_u *arg_in, int forceit) } } - // Check for "once" flag. cmd = skipwhite(cmd); - if (*cmd != NUL && STRNCMP(cmd, "once", 4) == 0 - && ascii_iswhite(cmd[4])) { - once = true; - cmd = skipwhite(cmd + 4); - } - - // Check for "nested" flag. - cmd = skipwhite(cmd); - if (*cmd != NUL && STRNCMP(cmd, "nested", 6) == 0 - && ascii_iswhite(cmd[6])) { - nested = true; - cmd = skipwhite(cmd + 6); + for (size_t i = 0; i < 2; i++) { + if (*cmd != NUL) { + // Check for "-once" flag. + if (!once && STRNCMP(cmd, "-once", 5) == 0 && ascii_iswhite(cmd[5])) { + once = true; + cmd = skipwhite(cmd + 5); + } + // Check for "-nested" flag. + if (!nested + && ((STRNCMP(cmd, "-nested", 7) == 0 && ascii_iswhite(cmd[7])) + // Deprecated form (without "-"). + || (STRNCMP(cmd, "nested", 6) == 0 && ascii_iswhite(cmd[6])))) { + nested = true; + cmd = skipwhite(cmd + ('-' == cmd[0] ? 7 : 6)); + } + } } // Find the start of the commands. -- cgit