aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/nvim/api/vim.c2
-rw-r--r--src/nvim/buffer.c5
-rw-r--r--src/nvim/eval.c1
-rw-r--r--src/nvim/ex_cmds.c10
-rw-r--r--src/nvim/ex_cmds2.c2
-rw-r--r--src/nvim/ex_docmd.c4
-rw-r--r--src/nvim/globals.h6
-rw-r--r--src/nvim/hardcopy.c4
-rw-r--r--src/nvim/main.c82
-rw-r--r--src/nvim/memline.c1
-rw-r--r--src/nvim/misc1.c2
-rw-r--r--src/nvim/os/fs.c2
-rw-r--r--src/nvim/os/unix_defs.h2
-rw-r--r--src/nvim/os_unix_defs.h21
-rw-r--r--src/nvim/testdir/test100.in53
-rw-r--r--src/nvim/testdir/test100.ok51
-rw-r--r--src/nvim/testdir/test103.in37
-rw-r--r--src/nvim/testdir/test103.ok2
-rw-r--r--src/nvim/testdir/test15.in135
-rw-r--r--src/nvim/testdir/test15.ok111
-rw-r--r--src/nvim/testdir/test77.in30
-rw-r--r--src/nvim/testdir/test77.ok1
-rw-r--r--src/nvim/testdir/test84.in35
-rw-r--r--src/nvim/testdir/test84.ok3
-rw-r--r--src/nvim/testdir/test90.in53
-rw-r--r--src/nvim/testdir/test90.ok6
-rw-r--r--src/nvim/testdir/test91.in112
-rw-r--r--src/nvim/testdir/test91.ok48
-rw-r--r--src/nvim/testdir/test95.in140
-rw-r--r--src/nvim/testdir/test95.ok140
-rw-r--r--src/nvim/testdir/test98.in43
-rw-r--r--src/nvim/testdir/test98.ok1
-rw-r--r--src/nvim/testdir/test_listlbr_utf8.in53
-rw-r--r--src/nvim/testdir/test_listlbr_utf8.ok21
-rw-r--r--src/nvim/testdir/test_qf_title.in18
-rw-r--r--src/nvim/testdir/test_qf_title.ok2
-rw-r--r--src/nvim/version.c22
-rw-r--r--src/nvim/version.h17
-rw-r--r--src/nvim/version_defs.h56
39 files changed, 62 insertions, 1272 deletions
diff --git a/src/nvim/api/vim.c b/src/nvim/api/vim.c
index f852c8b561..587e19fe35 100644
--- a/src/nvim/api/vim.c
+++ b/src/nvim/api/vim.c
@@ -145,7 +145,7 @@ String vim_command_output(String str, Error *err)
Object vim_eval(String str, Error *err)
FUNC_ATTR_DEFERRED
{
- Object rv;
+ Object rv = OBJECT_INIT;
// Evaluate the expression
try_start();
typval_T *expr_result = eval_expr((char_u *) str.data, NULL);
diff --git a/src/nvim/buffer.c b/src/nvim/buffer.c
index fdccff91c3..5ece645b0d 100644
--- a/src/nvim/buffer.c
+++ b/src/nvim/buffer.c
@@ -70,6 +70,7 @@
#include "nvim/syntax.h"
#include "nvim/ui.h"
#include "nvim/undo.h"
+#include "nvim/version.h"
#include "nvim/window.h"
#include "nvim/os/os.h"
#include "nvim/os/time.h"
@@ -212,7 +213,7 @@ open_buffer (
* So the modelines have priority over auto commands.
*/
/* When reading stdin, the buffer contents always needs writing, so set
- * the changed flag. Unless in readonly mode: "ls | gview -".
+ * the changed flag. Unless in readonly mode: "ls | nvim -R -".
* When interrupted and 'cpoptions' contains 'i' set changed flag. */
if ((got_int && vim_strchr(p_cpo, CPO_INTMOD) != NULL)
|| modified_was_set /* ":set modified" used in autocmd */
@@ -4033,8 +4034,6 @@ void do_modelines(int flags)
--entered;
}
-#include "nvim/version_defs.h" /* for version number */
-
/*
* chk_modeline() - check a single line for a mode string
* Return FAIL if an error encountered.
diff --git a/src/nvim/eval.c b/src/nvim/eval.c
index 9b4b4ce496..ae8e0d329f 100644
--- a/src/nvim/eval.c
+++ b/src/nvim/eval.c
@@ -351,7 +351,6 @@ typedef enum {
* The reason to use this table anyway is for very quick access to the
* variables with the VV_ defines.
*/
-#include "nvim/version_defs.h"
/* values for vv_flags: */
#define VV_COMPAT 1 /* compatible, also used without "v:" */
diff --git a/src/nvim/ex_cmds.c b/src/nvim/ex_cmds.c
index 009c128726..739243cbee 100644
--- a/src/nvim/ex_cmds.c
+++ b/src/nvim/ex_cmds.c
@@ -19,7 +19,6 @@
#include "nvim/vim.h"
#include "nvim/ascii.h"
-#include "nvim/version_defs.h"
#include "nvim/ex_cmds.h"
#include "nvim/buffer.h"
#include "nvim/charset.h"
@@ -64,6 +63,7 @@
#include "nvim/tempfile.h"
#include "nvim/ui.h"
#include "nvim/undo.h"
+#include "nvim/version.h"
#include "nvim/window.h"
#include "nvim/os/os.h"
#include "nvim/os/shell.h"
@@ -853,7 +853,7 @@ void do_bang(int addr_count, exarg_T *eap, int forceit, int do_in, int do_out)
int scroll_save = msg_scroll;
/*
- * Disallow shell commands for "rvim".
+ * Disallow shell commands in restricted mode (-Z)
* Disallow shell commands from .exrc and .vimrc in current directory for
* security reasons.
*/
@@ -1217,7 +1217,7 @@ do_shell (
int save_nwr;
/*
- * Disallow shell commands for "rvim".
+ * Disallow shell commands in restricted mode (-Z)
* Disallow shell commands from .exrc and .vimrc in current directory for
* security reasons.
*/
@@ -1708,7 +1708,7 @@ static void do_viminfo(FILE *fp_in, FILE *fp_out, int flags)
if (fp_out != NULL) {
/* Write the info: */
fprintf(fp_out, _("# This viminfo file was generated by Nvim %s.\n"),
- NVIM_VERSION_MEDIUM);
+ mediumVersion);
fputs(_("# You may edit it if you're careful!\n\n"), fp_out);
fputs(_("# Value of 'encoding' when this file was written\n"), fp_out);
fprintf(fp_out, "*encoding=%s\n\n", p_enc);
@@ -3378,7 +3378,7 @@ void ex_z(exarg_T *eap)
int check_restricted(void)
{
if (restricted) {
- EMSG(_("E145: Shell commands not allowed in rvim"));
+ EMSG(_("E145: Shell commands not allowed in restricted mode"));
return TRUE;
}
return FALSE;
diff --git a/src/nvim/ex_cmds2.c b/src/nvim/ex_cmds2.c
index 7ad79efe25..07d63c9be5 100644
--- a/src/nvim/ex_cmds2.c
+++ b/src/nvim/ex_cmds2.c
@@ -21,7 +21,7 @@
#ifdef HAVE_LOCALE_H
# include <locale.h>
#endif
-#include "nvim/version_defs.h"
+#include "nvim/version.h"
#include "nvim/ex_cmds2.h"
#include "nvim/buffer.h"
#include "nvim/charset.h"
diff --git a/src/nvim/ex_docmd.c b/src/nvim/ex_docmd.c
index 86ffb194b8..8167824a41 100644
--- a/src/nvim/ex_docmd.c
+++ b/src/nvim/ex_docmd.c
@@ -5375,9 +5375,7 @@ static void ex_hide(exarg_T *eap)
*/
static void ex_stop(exarg_T *eap)
{
- /*
- * Disallow suspending for "rvim".
- */
+ // Disallow suspending in restricted mode (-Z)
if (!check_restricted()) {
if (!eap->forceit) {
autowrite_all();
diff --git a/src/nvim/globals.h b/src/nvim/globals.h
index 5d52774f40..d7087ee928 100644
--- a/src/nvim/globals.h
+++ b/src/nvim/globals.h
@@ -601,7 +601,7 @@ EXTERN volatile int full_screen INIT(= FALSE);
* otherwise only writing some messages */
EXTERN int restricted INIT(= FALSE);
-/* TRUE when started as "rvim" */
+// TRUE when started in restricted mode (-Z)
EXTERN int secure INIT(= FALSE);
/* non-zero when only "safe" commands are
* allowed, e.g. when sourcing .exrc or .vimrc
@@ -967,10 +967,6 @@ EXTERN int wild_menu_showing INIT(= 0);
EXTERN char breakat_flags[256]; /* which characters are in 'breakat' */
-/* these are in version.c */
-extern char *Version;
-extern char *longVersion;
-
/*
* Some file names are stored in pathdef.c, which is generated from the
* Makefile to make their value depend on the Makefile.
diff --git a/src/nvim/hardcopy.c b/src/nvim/hardcopy.c
index d2724d066d..f5eed26a2d 100644
--- a/src/nvim/hardcopy.c
+++ b/src/nvim/hardcopy.c
@@ -21,7 +21,6 @@
#ifdef HAVE_LOCALE_H
# include <locale.h>
#endif
-#include "nvim/version_defs.h"
#include "nvim/hardcopy.h"
#include "nvim/buffer.h"
#include "nvim/charset.h"
@@ -42,6 +41,7 @@
#include "nvim/strings.h"
#include "nvim/syntax.h"
#include "nvim/ui.h"
+#include "nvim/version.h"
#include "nvim/tempfile.h"
#include "nvim/os/os.h"
#include "nvim/os/input.h"
@@ -2440,7 +2440,7 @@ int mch_print_begin(prt_settings_T *psettings)
STRCPY(buffer, "Unknown");
}
prt_dsc_textline("For", buffer);
- prt_dsc_textline("Creator", NVIM_VERSION_LONG);
+ prt_dsc_textline("Creator", longVersion);
/* Note: to ensure Clean8bit I don't think we can use LC_TIME */
now = time(NULL);
p_time = ctime(&now);
diff --git a/src/nvim/main.c b/src/nvim/main.c
index 897f251bb3..a4f430e811 100644
--- a/src/nvim/main.c
+++ b/src/nvim/main.c
@@ -204,11 +204,9 @@ int main(int argc, char **argv)
// Check if we have an interactive window.
check_and_set_isatty(&params);
- /*
- * Figure out the way to work from the command name argv[0].
- * "view" sets "readonlymode", "rvim" sets "restricted", etc.
- */
- parse_command_name(&params);
+ // Get the name with which Nvim was invoked, with and without path.
+ set_vim_var_string(VV_PROGPATH, (char_u *)argv[0], -1);
+ set_vim_var_string(VV_PROGNAME, path_tail((char_u *)argv[0]), -1);
/*
* Process the command line arguments. File names are put in the global
@@ -820,69 +818,8 @@ static void init_locale(void)
}
TIME_MSG("locale set");
}
-
#endif
-/*
- * Check for: [r][g][vi|vim|view][ex[im]]
- * If the executable name starts with "r" we disable shell commands.
- * If the next character is "g" we run the GUI version.
- * If the next characters are "view" we start in readonly mode.
- * If the next characters are "ex" we start in Ex mode. If it's followed
- * by "im" use improved Ex mode.
- */
-static void parse_command_name(mparm_T *parmp)
-{
- char_u *initstr;
-
- initstr = path_tail((char_u *)parmp->argv[0]);
-
- set_vim_var_string(VV_PROGNAME, initstr, -1);
- set_vim_var_string(VV_PROGPATH, (char_u *)parmp->argv[0], -1);
-
- if (parse_string(&initstr, "editor", 6))
- return;
-
- if (parse_char_i(&initstr, 'r'))
- restricted = TRUE;
-
- /* "gvim" starts the GUI. Also accept "Gvim" for MS-Windows. */
- if (parse_char_i(&initstr, 'g'))
- main_start_gui();
-
- if (parse_string(&initstr, "view", 4)) {
- readonlymode = TRUE;
- curbuf->b_p_ro = TRUE;
- p_uc = 10000; /* don't update very often */
- } else {
- parse_string(&initstr, "vim", 3); /* consume "vim" if it's there */
- }
-
- if (parse_string(&initstr, "ex", 2)) {
- if (parse_string(&initstr, "im", 2))
- exmode_active = EXMODE_VIM;
- else
- exmode_active = EXMODE_NORMAL;
- }
-}
-
-static bool parse_char_i(char_u **input, char val)
-{
- if (TOLOWER_ASC(**input) == val) {
- *input += 1; /* or (*input)++ WITH parens */
- return true;
- }
- return false;
-}
-
-static bool parse_string(char_u **input, char *val, int len)
-{
- if (STRNICMP(*input, val, len) == 0) {
- *input += len;
- return true;
- }
- return false;
-}
/*
* Scan the command line arguments.
@@ -1134,10 +1071,6 @@ static void command_line_scan(mparm_T *parmp)
}
break;
- case 'v': /* "-v" Vi-mode (as if called "vi") */
- exmode_active = 0;
- break;
-
case 'w': /* "-w{number}" set window height */
/* "-w {scriptout}" write to script */
if (vim_isdigit(((char_u *)argv[0])[argv_idx])) {
@@ -2034,13 +1967,12 @@ static void usage(void)
#if !defined(UNIX)
mch_msg(_(" --literal Don't expand wildcards\n"));
#endif
- mch_msg(_(" -v Vi mode (like \"vi\")\n"));
- mch_msg(_(" -e Ex mode (like \"ex\")\n"));
+ mch_msg(_(" -e Ex mode\n"));
mch_msg(_(" -E Improved Ex mode\n"));
- mch_msg(_(" -s Silent (batch) mode (only for \"ex\")\n"));
+ mch_msg(_(" -s Silent (batch) mode (only for ex mode)\n"));
mch_msg(_(" -d Diff mode\n"));
- mch_msg(_(" -R Readonly mode (like \"view\")\n"));
- mch_msg(_(" -Z Restricted mode (like \"rvim\")\n"));
+ mch_msg(_(" -R Readonly mode\n"));
+ mch_msg(_(" -Z Restricted mode\n"));
mch_msg(_(" -m Modifications (writing files) not allowed\n"));
mch_msg(_(" -M Modifications in text not allowed\n"));
mch_msg(_(" -b Binary mode\n"));
diff --git a/src/nvim/memline.c b/src/nvim/memline.c
index eb08640274..1dc3a27415 100644
--- a/src/nvim/memline.c
+++ b/src/nvim/memline.c
@@ -70,6 +70,7 @@
#include "nvim/spell.h"
#include "nvim/strings.h"
#include "nvim/ui.h"
+#include "nvim/version.h"
#include "nvim/tempfile.h"
#include "nvim/undo.h"
#include "nvim/window.h"
diff --git a/src/nvim/misc1.c b/src/nvim/misc1.c
index 9c03c60565..3ed6b416d6 100644
--- a/src/nvim/misc1.c
+++ b/src/nvim/misc1.c
@@ -19,7 +19,7 @@
#include "nvim/vim.h"
#include "nvim/ascii.h"
-#include "nvim/version_defs.h"
+#include "nvim/version.h"
#include "nvim/misc1.h"
#include "nvim/charset.h"
#include "nvim/cursor.h"
diff --git a/src/nvim/os/fs.c b/src/nvim/os/fs.c
index 242f8fb461..6200685076 100644
--- a/src/nvim/os/fs.c
+++ b/src/nvim/os/fs.c
@@ -42,8 +42,6 @@ int os_chdir(const char *path)
int os_dirname(char_u *buf, size_t len)
FUNC_ATTR_NONNULL_ALL
{
- assert(buf && len);
-
int error_number;
if ((error_number = uv_cwd((char *)buf, &len)) != kLibuvSuccess) {
STRLCPY(buf, uv_strerror(error_number), len);
diff --git a/src/nvim/os/unix_defs.h b/src/nvim/os/unix_defs.h
index e518ac67e5..28ae89ff77 100644
--- a/src/nvim/os/unix_defs.h
+++ b/src/nvim/os/unix_defs.h
@@ -1,7 +1,7 @@
#ifndef NVIM_OS_UNIX_DEFS_H
#define NVIM_OS_UNIX_DEFS_H
-#define TEMP_DIR_NAMES {"$TMPDIR", "/tmp", ".", "$HOME"}
+#define TEMP_DIR_NAMES {"$TMPDIR", "/tmp", ".", "~"}
#define TEMP_FILE_PATH_MAXLEN 256
#endif // NVIM_OS_UNIX_DEFS_H
diff --git a/src/nvim/os_unix_defs.h b/src/nvim/os_unix_defs.h
index 40230c7944..e5ab9fd4f7 100644
--- a/src/nvim/os_unix_defs.h
+++ b/src/nvim/os_unix_defs.h
@@ -101,9 +101,6 @@
#ifndef SYS_VIMRC_FILE
# define SYS_VIMRC_FILE "$VIM/nvimrc"
#endif
-#ifndef SYS_GVIMRC_FILE
-# define SYS_GVIMRC_FILE "$VIM/ngvimrc"
-#endif
#ifndef DFLT_HELPFILE
# define DFLT_HELPFILE "$VIMRUNTIME/doc/help.txt"
#endif
@@ -130,12 +127,12 @@
#endif
#ifndef USR_EXRC_FILE
-# define USR_EXRC_FILE "$HOME/.exrc"
+# define USR_EXRC_FILE "~/.exrc"
#endif
#ifndef USR_VIMRC_FILE
-# define USR_VIMRC_FILE "$HOME/.nvimrc"
+# define USR_VIMRC_FILE "~/.nvimrc"
#endif
@@ -143,18 +140,8 @@
# define USR_VIMRC_FILE2 "~/.nvim/nvimrc"
#endif
-
-#ifndef USR_GVIMRC_FILE
-# define USR_GVIMRC_FILE "$HOME/.ngvimrc"
-#endif
-
-#ifndef USR_GVIMRC_FILE2
-# define USR_GVIMRC_FILE2 "~/.nvim/ngvimrc"
-#endif
-
-
# ifndef VIMINFO_FILE
-# define VIMINFO_FILE "$HOME/.nviminfo"
+# define VIMINFO_FILE "~/.nviminfo"
# endif
#ifndef EXRC_FILE
@@ -179,7 +166,7 @@
#endif
#ifndef DFLT_VDIR
-# define DFLT_VDIR "$HOME/.nvim/view" /* default for 'viewdir' */
+# define DFLT_VDIR "~/.nvim/view" // default for 'viewdir'
#endif
#define DFLT_ERRORFILE "errors.err"
diff --git a/src/nvim/testdir/test100.in b/src/nvim/testdir/test100.in
deleted file mode 100644
index bc1a55e4d3..0000000000
--- a/src/nvim/testdir/test100.in
+++ /dev/null
@@ -1,53 +0,0 @@
-Tests for 'undolevel' setting being global-local
-
-STARTTEST
-:so small.vim
-:set ul=5
-:fu! FillBuffer()
- :for i in range(1,13)
- :put=i
- :exe "setg ul=" . &g:ul
- :endfor
-:endfu
-:fu! UndoLevel()
- :redir @a | setglobal undolevels? | echon ' global' | setlocal undolevels? | echon ' local' |redir end
- :$put a
-:endfu
-:new one
-:0put ='ONE: expecting global undolevels: 5, local undolevels: -123456 (default)'
-:call FillBuffer()
-:earlier 10
-:call UndoLevel()
-:set ff=unix
-:%w! test.out
-:new two
-:0put ='TWO: expecting global undolevels: 5, local undolevels: 2 (first) then 10 (afterwards)'
-:setlocal ul=2
-:call FillBuffer()
-:earlier 10
-:call UndoLevel()
-:setlocal ul=10
-:call UndoLevel()
-:set ff=unix
-:%w >> test.out
-:wincmd p
-:redir >>test.out | echo "global value shouldn't be changed and still be 5!" | echo 'ONE: expecting global undolevels: 5, local undolevels: -123456 (default)'|:setglobal undolevels? | echon ' global' | setlocal undolevels? | echon ' local' |echo "" |redir end
-:new three
-:setglobal ul=50
-:1put ='global value should be changed to 50'
-:2put ='THREE: expecting global undolevels: 50, local undolevels: -123456 (default)'
-:call UndoLevel()
-:set ff=unix
-:%w >> test.out
-:"sleep 10
-:"
-:" Testing 'lispwords'
-:"
-:setglobal lispwords=foo,bar,baz
-:setlocal lispwords-=foo | setlocal lispwords+=quux
-:redir >> test.out | echon "\nTesting 'lispwords' local value" | setglobal lispwords? | setlocal lispwords? | echo &lispwords . "\n" | redir end
-:setlocal lispwords<
-:redir >> test.out | echon "\nTesting 'lispwords' value reset" | setglobal lispwords? | setlocal lispwords? | echo &lispwords . "\n" | redir end
-:qa!
-ENDTEST
-
diff --git a/src/nvim/testdir/test100.ok b/src/nvim/testdir/test100.ok
deleted file mode 100644
index 477106b8f2..0000000000
--- a/src/nvim/testdir/test100.ok
+++ /dev/null
@@ -1,51 +0,0 @@
-ONE: expecting global undolevels: 5, local undolevels: -123456 (default)
-1
-2
-3
-4
-5
-6
-7
-
-
- undolevels=5 global
- undolevels=-123456 local
-TWO: expecting global undolevels: 5, local undolevels: 2 (first) then 10 (afterwards)
-1
-2
-3
-4
-5
-6
-7
-8
-9
-10
-
-
- undolevels=5 global
- undolevels=2 local
-
- undolevels=5 global
- undolevels=10 local
-
-global value shouldn't be changed and still be 5!
-ONE: expecting global undolevels: 5, local undolevels: -123456 (default)
- undolevels=5 global
- undolevels=-123456 local
-
-global value should be changed to 50
-THREE: expecting global undolevels: 50, local undolevels: -123456 (default)
-
- undolevels=50 global
- undolevels=-123456 local
-
-Testing 'lispwords' local value
- lispwords=foo,bar,baz
- lispwords=bar,baz,quux
-bar,baz,quux
-
-Testing 'lispwords' value reset
- lispwords=foo,bar,baz
- lispwords=foo,bar,baz
-foo,bar,baz
diff --git a/src/nvim/testdir/test103.in b/src/nvim/testdir/test103.in
deleted file mode 100644
index 7c7591e3b9..0000000000
--- a/src/nvim/testdir/test103.in
+++ /dev/null
@@ -1,37 +0,0 @@
-Test for visual mode not being reset causing E315 error.
-STARTTEST
-:so small.vim
-:enew
-:let g:msg="Everything's fine."
-:function! TriggerTheProblem()
-: " At this point there is no visual selection because :call reset it.
-: " Let's restore the selection:
-: normal gv
-: '<,'>del _
-: try
-: exe "normal \<Esc>"
-: catch /^Vim\%((\a\+)\)\=:E315/
-: echom 'Snap! E315 error!'
-: let g:msg='Snap! E315 error!'
-: endtry
-:endfunction
-:enew
-:setl buftype=nofile
-:call append(line('$'), 'Delete this line.')
-:"
-:"
-:" NOTE: this has to be done by a call to a function because executing :del the
-:" ex-way will require the colon operator which resets the visual mode thus
-:" preventing the problem:
-:"
-GV:call TriggerTheProblem()
-:%del _
-:call append(line('$'), g:msg)
-:w! test.out
-:brewind
-ENDTEST
-
-STARTTEST
-:qa!
-ENDTEST
-
diff --git a/src/nvim/testdir/test103.ok b/src/nvim/testdir/test103.ok
deleted file mode 100644
index 9ea6dd6eea..0000000000
--- a/src/nvim/testdir/test103.ok
+++ /dev/null
@@ -1,2 +0,0 @@
-
-Everything's fine.
diff --git a/src/nvim/testdir/test15.in b/src/nvim/testdir/test15.in
deleted file mode 100644
index 60d8717278..0000000000
--- a/src/nvim/testdir/test15.in
+++ /dev/null
@@ -1,135 +0,0 @@
-Tests for :right on text with embedded TAB.
-Also test formatting a paragraph.
-Also test undo after ":%s" and formatting.
-
-STARTTEST
-:so small.vim
-:set tw=65
-
-:/^\s*test for :left/,/^\s*test for :center/ left
-:/^\s*test for :center/,/^\s*test for :right/ center
-:/^\s*test for :right/,/^xxx/-1 right
-:set fo+=tcroql tw=72
-/xxxxxxxx$
-0gq6kk
-:" undo/redo here to make the next undo only work on the following changes
-u
-:map gg :.,.+2s/^/x/<CR>kk:set tw=3<CR>gqq
-/^aa
-ggu
-:?test for :left?,$w! test.out
-:qa!
-ENDTEST
-
- test for :left
- a a
- fa a
- dfa a
- sdfa a
- asdfa a
- xasdfa a
-asxxdfa a
-
- test for :center
- a a
- fa afd asdf
- dfa a
- sdfa afd asdf
- asdfa a
- xasdfa asdfasdfasdfasdfasdf
-asxxdfa a
-
- test for :right
- a a
- fa a
- dfa a
- sdfa a
- asdfa a
- xasdfa a
- asxxdfa a
- asxa;ofa a
- asdfaqwer a
- a ax
- fa ax
- dfa ax
- sdfa ax
- asdfa ax
- xasdfa ax
- asxxdfa ax
- asxa;ofa ax
- asdfaqwer ax
- a axx
- fa axx
- dfa axx
- sdfa axx
- asdfa axx
- xasdfa axx
- asxxdfa axx
- asxa;ofa axx
- asdfaqwer axx
- a axxx
- fa axxx
- dfa axxx
- sdfa axxx
- asdfa axxx
- xasdfa axxx
- asxxdfa axxx
- asxa;ofa axxx
- asdfaqwer axxx
- a axxxo
- fa axxxo
- dfa axxxo
- sdfa axxxo
- asdfa axxxo
- xasdfa axxxo
- asxxdfa axxxo
- asxa;ofa axxxo
- asdfaqwer axxxo
- a axxxoi
- fa axxxoi
- dfa axxxoi
- sdfa axxxoi
- asdfa axxxoi
- xasdfa axxxoi
- asxxdfa axxxoi
- asxa;ofa axxxoi
- asdfaqwer axxxoi
- a axxxoik
- fa axxxoik
- dfa axxxoik
- sdfa axxxoik
- asdfa axxxoik
- xasdfa axxxoik
- asxxdfa axxxoik
- asxa;ofa axxxoik
- asdfaqwer axxxoik
- a axxxoike
- fa axxxoike
- dfa axxxoike
- sdfa axxxoike
- asdfa axxxoike
- xasdfa axxxoike
- asxxdfa axxxoike
- asxa;ofa axxxoike
- asdfaqwer axxxoike
- a axxxoikey
- fa axxxoikey
- dfa axxxoikey
- sdfa axxxoikey
- asdfa axxxoikey
- xasdfa axxxoikey
- asxxdfa axxxoikey
- asxa;ofa axxxoikey
- asdfaqwer axxxoikey
-
-xxxxx xx xxxxxx
-xxxxxxx xxxxxxxxx xxx xxxx xxxxx xxxxx xxx xx
-xxxxxxxxxxxxxxxxxx xxxxx xxxx, xxxx xxxx xxxx xxxx xxx xx xx
-xx xxxxxxx. xxxx xxxx.
-
-> xx xx, xxxx xxxx xxx xxxx xxx xxxxx xxx xxx xxxxxxx xxx xxxxx
-> xxxxxx xxxxxxx: xxxx xxxxxxx, xx xxxxxx xxxx xxxxxxxxxx
-
-aa aa aa aa
-bb bb bb bb
-cc cc cc cc
diff --git a/src/nvim/testdir/test15.ok b/src/nvim/testdir/test15.ok
deleted file mode 100644
index bc09f5e7db..0000000000
--- a/src/nvim/testdir/test15.ok
+++ /dev/null
@@ -1,111 +0,0 @@
-test for :left
-a a
-fa a
-dfa a
-sdfa a
-asdfa a
-xasdfa a
-asxxdfa a
-
- test for :center
- a a
- fa afd asdf
- dfa a
- sdfa afd asdf
- asdfa a
- xasdfa asdfasdfasdfasdfasdf
- asxxdfa a
-
- test for :right
- a a
- fa a
- dfa a
- sdfa a
- asdfa a
- xasdfa a
- asxxdfa a
- asxa;ofa a
- asdfaqwer a
- a ax
- fa ax
- dfa ax
- sdfa ax
- asdfa ax
- xasdfa ax
- asxxdfa ax
- asxa;ofa ax
- asdfaqwer ax
- a axx
- fa axx
- dfa axx
- sdfa axx
- asdfa axx
- xasdfa axx
- asxxdfa axx
- asxa;ofa axx
- asdfaqwer axx
- a axxx
- fa axxx
- dfa axxx
- sdfa axxx
- asdfa axxx
- xasdfa axxx
- asxxdfa axxx
- asxa;ofa axxx
- asdfaqwer axxx
- a axxxo
- fa axxxo
- dfa axxxo
- sdfa axxxo
- asdfa axxxo
- xasdfa axxxo
- asxxdfa axxxo
- asxa;ofa axxxo
- asdfaqwer axxxo
- a axxxoi
- fa axxxoi
- dfa axxxoi
- sdfa axxxoi
- asdfa axxxoi
- xasdfa axxxoi
- asxxdfa axxxoi
- asxa;ofa axxxoi
- asdfaqwer axxxoi
- a axxxoik
- fa axxxoik
- dfa axxxoik
- sdfa axxxoik
- asdfa axxxoik
- xasdfa axxxoik
- asxxdfa axxxoik
- asxa;ofa axxxoik
- asdfaqwer axxxoik
- a axxxoike
- fa axxxoike
- dfa axxxoike
- sdfa axxxoike
- asdfa axxxoike
- xasdfa axxxoike
- asxxdfa axxxoike
- asxa;ofa axxxoike
- asdfaqwer axxxoike
- a axxxoikey
- fa axxxoikey
- dfa axxxoikey
- sdfa axxxoikey
- asdfa axxxoikey
- xasdfa axxxoikey
- asxxdfa axxxoikey
- asxa;ofa axxxoikey
- asdfaqwer axxxoikey
-
-xxxxx xx xxxxxx xxxxxxx xxxxxxxxx xxx xxxx xxxxx xxxxx xxx xx
-xxxxxxxxxxxxxxxxxx xxxxx xxxx, xxxx xxxx xxxx xxxx xxx xx xx xx xxxxxxx.
-xxxx xxxx.
-
-> xx xx, xxxx xxxx xxx xxxx xxx xxxxx xxx xxx xxxxxxx xxx xxxxx xxxxxx
-> xxxxxxx: xxxx xxxxxxx, xx xxxxxx xxxx xxxxxxxxxx
-
-aa aa aa aa
-bb bb bb bb
-cc cc cc cc
diff --git a/src/nvim/testdir/test77.in b/src/nvim/testdir/test77.in
deleted file mode 100644
index 0dbc4fcbaf..0000000000
--- a/src/nvim/testdir/test77.in
+++ /dev/null
@@ -1,30 +0,0 @@
-Inserts 2 million lines with consecutive integers starting from 1
-(essentially, the output of GNU's seq 1 2000000), writes them to Xtest
-and writes its cksum to test.out.
-
-We need 2 million lines to trigger a call to mf_hash_grow(). If it would mess
-up the lines the checksum would differ.
-
-cksum is part of POSIX and so should be available on most Unixes.
-If it isn't available then the test will be skipped.
-
-STARTTEST
-:so small.vim
-:if !executable("cksum")
-: e! test.ok
-: w! test.out
-: qa!
-:endif
-:set fileformat=unix undolevels=-1
-ggdG
-:let i = 1
-:while i <= 2000000 | call append(i, range(i, i + 99)) | let i += 100 | endwhile
-ggdd
-:w! Xtest
-:r !cksum Xtest
-:s/\s/ /g
-:set fileformat&
-:.w! test.out
-:qa!
-ENDTEST
-
diff --git a/src/nvim/testdir/test77.ok b/src/nvim/testdir/test77.ok
deleted file mode 100644
index 11f148c73f..0000000000
--- a/src/nvim/testdir/test77.ok
+++ /dev/null
@@ -1 +0,0 @@
-3678979763 14888896 Xtest
diff --git a/src/nvim/testdir/test84.in b/src/nvim/testdir/test84.in
deleted file mode 100644
index 25482db54c..0000000000
--- a/src/nvim/testdir/test84.in
+++ /dev/null
@@ -1,35 +0,0 @@
-Tests for curswant not changing when setting an option
-
-STARTTEST
-:so small.vim
-:/^start target options$/+1,/^end target options$/-1 yank
-:let target_option_names = split(@0)
-:function TestCurswant(option_name)
-: normal! ggf8j
-: let curswant_before = winsaveview().curswant
-: execute 'let' '&'.a:option_name '=' '&'.a:option_name
-: let curswant_after = winsaveview().curswant
-: return [a:option_name, curswant_before, curswant_after]
-:endfunction
-:
-:new
-:put =['1234567890', '12345']
-:1 delete _
-:let result = []
-:for option_name in target_option_names
-: call add(result, TestCurswant(option_name))
-:endfor
-:
-:new
-:put =map(copy(result), 'join(v:val, '' '')')
-:1 delete _
-:write test.out
-:
-:qall!
-ENDTEST
-
-start target options
- tabstop
- timeoutlen
- ttimeoutlen
-end target options
diff --git a/src/nvim/testdir/test84.ok b/src/nvim/testdir/test84.ok
deleted file mode 100644
index 8b8e4ee824..0000000000
--- a/src/nvim/testdir/test84.ok
+++ /dev/null
@@ -1,3 +0,0 @@
-tabstop 7 4
-timeoutlen 7 7
-ttimeoutlen 7 7
diff --git a/src/nvim/testdir/test90.in b/src/nvim/testdir/test90.in
deleted file mode 100644
index 3c0d8c030c..0000000000
--- a/src/nvim/testdir/test90.in
+++ /dev/null
@@ -1,53 +0,0 @@
-Tests for sha256() function. vim: set ft=vim et ts=2 sw=2 :
-
-STARTTEST
-:so small.vim
-:if !exists('*sha256')
- e! test.ok
- wq! test.out
-:endif
-:"
-:let testcase='test for empty string: '
-:if sha256("") ==# 'e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855'
-: let res='ok'
-:else
-: let res='ng'
-:endif
-:$put =testcase.res
-:"
-:let testcase='test for 1 char: '
-:if sha256("a") ==# 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb'
-: let res='ok'
-:else
-: let res='ng'
-:endif
-:$put =testcase.res
-:"
-:let testcase='test for 3 chars: '
-:if sha256("abc") ==# 'ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad'
-: let res='ok'
-:else
-: let res='ng'
-:endif
-:$put =testcase.res
-:"
-:let testcase='test for contains meta char: '
-:if sha256("foo\nbar") ==# '807eff6267f3f926a21d234f7b0cf867a86f47e07a532f15e8cc39ed110ca776'
-: let res='ok'
-:else
-: let res='ng'
-:endif
-:$put =testcase.res
-:"
-:let testcase='test for contains non-ascii char: '
-:if sha256("\xde\xad\xbe\xef") ==# '5f78c33274e43fa9de5659265c1d917e25c03722dcb0b8d27db8d5feaa813953'
-: let res='ok'
-:else
-: let res='ng'
-:endif
-:$put =testcase.res
-"
-:/^start:/,$wq! test.out
-ENDTEST
-
-start:
diff --git a/src/nvim/testdir/test90.ok b/src/nvim/testdir/test90.ok
deleted file mode 100644
index 9a8e7fe961..0000000000
--- a/src/nvim/testdir/test90.ok
+++ /dev/null
@@ -1,6 +0,0 @@
-start:
-test for empty string: ok
-test for 1 char: ok
-test for 3 chars: ok
-test for contains meta char: ok
-test for contains non-ascii char: ok
diff --git a/src/nvim/testdir/test91.in b/src/nvim/testdir/test91.in
deleted file mode 100644
index b66776b1e4..0000000000
--- a/src/nvim/testdir/test91.in
+++ /dev/null
@@ -1,112 +0,0 @@
-Tests for getbufvar(), getwinvar(), gettabvar() and gettabwinvar().
-vim: set ft=vim :
-
-STARTTEST
-:so small.vim
-:so mbyte.vim
-:"
-:" Test for getbufvar()
-:" Use strings to test for memory leaks.
-:let b:var_num = '1234'
-:let def_num = '5678'
-:$put =string(getbufvar(1, 'var_num'))
-:$put =string(getbufvar(1, 'var_num', def_num))
-:$put =string(getbufvar(1, ''))
-:$put =string(getbufvar(1, '', def_num))
-:unlet b:var_num
-:$put =string(getbufvar(1, 'var_num', def_num))
-:$put =string(getbufvar(1, ''))
-:$put =string(getbufvar(1, '', def_num))
-:$put =string(getbufvar(9, ''))
-:$put =string(getbufvar(9, '', def_num))
-:unlet def_num
-:$put =string(getbufvar(1, '&autoindent'))
-:$put =string(getbufvar(1, '&autoindent', 1))
-:"
-:" Open new window with forced option values
-:set fileformats=unix,dos
-:new ++ff=dos ++bin ++enc=iso-8859-2
-:let otherff = getbufvar(bufnr('%'), '&fileformat')
-:let otherbin = getbufvar(bufnr('%'), '&bin')
-:let otherfenc = getbufvar(bufnr('%'), '&fenc')
-:close
-:$put =otherff
-:$put =string(otherbin)
-:$put =otherfenc
-:unlet otherff otherbin otherfenc
-:" test for getwinvar()
-:let w:var_str = "Dance"
-:let def_str = "Chance"
-:$put =string(getwinvar(1, 'var_str'))
-:$put =string(getwinvar(1, 'var_str', def_str))
-:$put =string(getwinvar(1, ''))
-:$put =string(getwinvar(1, '', def_str))
-:unlet w:var_str
-:$put =string(getwinvar(1, 'var_str', def_str))
-:$put =string(getwinvar(1, ''))
-:$put =string(getwinvar(1, '', def_str))
-:$put =string(getwinvar(9, ''))
-:$put =string(getwinvar(9, '', def_str))
-:$put =string(getwinvar(1, '&nu'))
-:$put =string(getwinvar(1, '&nu', 1))
-:unlet def_str
-:"
-:" test for gettabvar()
-:tabnew
-:tabnew
-:let t:var_list = [1, 2, 3]
-:let t:other = 777
-:let def_list = [4, 5, 6, 7]
-:tabrewind
-:$put =string(gettabvar(3, 'var_list'))
-:$put =string(gettabvar(3, 'var_list', def_list))
-:$put =string(gettabvar(3, ''))
-:$put =string(gettabvar(3, '', def_list))
-:tablast
-:unlet t:var_list
-:tabrewind
-:$put =string(gettabvar(3, 'var_list', def_list))
-:$put =string(gettabvar(9, ''))
-:$put =string(gettabvar(9, '', def_list))
-:$put =string(gettabvar(3, '&nu'))
-:$put =string(gettabvar(3, '&nu', def_list))
-:unlet def_list
-:tabonly
-:"
-:" test for gettabwinvar()
-:tabnew
-:tabnew
-:tabprev
-:split
-:split
-:wincmd w
-:vert split
-:wincmd w
-:let w:var_dict = {'dict': 'tabwin'}
-:let def_dict = {'dict2': 'newval'}
-:wincmd b
-:tabrewind
-:$put =string(gettabwinvar(2, 3, 'var_dict'))
-:$put =string(gettabwinvar(2, 3, 'var_dict', def_dict))
-:$put =string(gettabwinvar(2, 3, ''))
-:$put =string(gettabwinvar(2, 3, '', def_dict))
-:tabnext
-:3wincmd w
-:unlet w:var_dict
-:tabrewind
-:$put =string(gettabwinvar(2, 3, 'var_dict', def_dict))
-:$put =string(gettabwinvar(2, 3, ''))
-:$put =string(gettabwinvar(2, 3, '', def_dict))
-:$put =string(gettabwinvar(2, 9, ''))
-:$put =string(gettabwinvar(2, 9, '', def_dict))
-:$put =string(gettabwinvar(9, 3, ''))
-:$put =string(gettabwinvar(9, 3, '', def_dict))
-:unlet def_dict
-:$put =string(gettabwinvar(2, 3, '&nux'))
-:$put =string(gettabwinvar(2, 3, '&nux', 1))
-:tabonly
-:"
-:/^start/,$wq! test.out
-ENDTEST
-
-start:
diff --git a/src/nvim/testdir/test91.ok b/src/nvim/testdir/test91.ok
deleted file mode 100644
index 809952b69d..0000000000
--- a/src/nvim/testdir/test91.ok
+++ /dev/null
@@ -1,48 +0,0 @@
-start:
-'1234'
-'1234'
-{'var_num': '1234'}
-{'var_num': '1234'}
-'5678'
-{}
-{}
-''
-'5678'
-0
-0
-dos
-1
-iso-8859-2
-'Dance'
-'Dance'
-{'var_str': 'Dance'}
-{'var_str': 'Dance'}
-'Chance'
-{}
-{}
-''
-'Chance'
-0
-0
-[1, 2, 3]
-[1, 2, 3]
-{'var_list': [1, 2, 3], 'other': 777}
-{'var_list': [1, 2, 3], 'other': 777}
-[4, 5, 6, 7]
-''
-[4, 5, 6, 7]
-''
-[4, 5, 6, 7]
-{'dict': 'tabwin'}
-{'dict': 'tabwin'}
-{'var_dict': {'dict': 'tabwin'}}
-{'var_dict': {'dict': 'tabwin'}}
-{'dict2': 'newval'}
-{}
-{}
-''
-{'dict2': 'newval'}
-''
-{'dict2': 'newval'}
-''
-1
diff --git a/src/nvim/testdir/test95.in b/src/nvim/testdir/test95.in
deleted file mode 100644
index 221b550487..0000000000
--- a/src/nvim/testdir/test95.in
+++ /dev/null
@@ -1,140 +0,0 @@
-Test for regexp patterns with multi-byte support, using utf-8.
-See test64 for the non-multi-byte tests.
-
-A pattern that gives the expected result produces OK, so that we know it was
-actually tried.
-
-STARTTEST
-:so small.vim
-:so mbyte.vim
-:set encoding=utf-8 nomore
-:" tl is a List of Lists with:
-:" 2: test auto/old/new 0: test auto/old 1: test auto/new
-:" regexp pattern
-:" text to test the pattern on
-:" expected match (optional)
-:" expected submatch 1 (optional)
-:" expected submatch 2 (optional)
-:" etc.
-:" When there is no match use only the first two items.
-:let tl = []
-
-:"""" Multi-byte character tests.
-:call add(tl, [2, '[[:alpha:][=a=]]\+', '879 aiaãâaiuvna ', 'aiaãâaiuvna'])
-:call add(tl, [2, '[[=a=]]\+', 'ddaãâbcd', 'aãâ']) " equivalence classes
-:call add(tl, [2, '[^ม ]\+', 'มม oijasoifjos ifjoisj f osij j มมมมม abcd', 'oijasoifjos'])
-:call add(tl, [2, ' [^ ]\+', 'start มabcdม ', ' มabcdม'])
-:call add(tl, [2, '[ม[:alpha:][=a=]]\+', '879 aiaãมâมaiuvna ', 'aiaãมâมaiuvna'])
-
-:" this is not a normal "i" but 0xec
-:call add(tl, [2, '\p\+', 'ìa', 'ìa'])
-:call add(tl, [2, '\p*', 'aあ', 'aあ'])
-
-:"""" Test recognition of some character classes
-:call add(tl, [2, '\i\+', '&*¨xx ', 'xx'])
-:call add(tl, [2, '\f\+', '&*Ÿfname ', 'fname'])
-
-:"""" Test composing character matching
-:call add(tl, [2, '.ม', 'xม่x yมy', 'yม'])
-:call add(tl, [2, '.ม่', 'xม่x yมy', 'xม่'])
-:call add(tl, [2, "\u05b9", " x\u05b9 ", "x\u05b9"])
-:call add(tl, [2, ".\u05b9", " x\u05b9 ", "x\u05b9"])
-:call add(tl, [2, "\u05b9\u05bb", " x\u05b9\u05bb ", "x\u05b9\u05bb"])
-:call add(tl, [2, ".\u05b9\u05bb", " x\u05b9\u05bb ", "x\u05b9\u05bb"])
-:call add(tl, [2, "\u05bb\u05b9", " x\u05b9\u05bb ", "x\u05b9\u05bb"])
-:call add(tl, [2, ".\u05bb\u05b9", " x\u05b9\u05bb ", "x\u05b9\u05bb"])
-:call add(tl, [2, "\u05b9", " y\u05bb x\u05b9 ", "x\u05b9"])
-:call add(tl, [2, ".\u05b9", " y\u05bb x\u05b9 ", "x\u05b9"])
-:call add(tl, [2, "\u05b9", " y\u05bb\u05b9 x\u05b9 ", "y\u05bb\u05b9"])
-:call add(tl, [2, ".\u05b9", " y\u05bb\u05b9 x\u05b9 ", "y\u05bb\u05b9"])
-:call add(tl, [1, "\u05b9\u05bb", " y\u05b9 x\u05b9\u05bb ", "x\u05b9\u05bb"])
-:call add(tl, [2, ".\u05b9\u05bb", " y\u05bb x\u05b9\u05bb ", "x\u05b9\u05bb"])
-:call add(tl, [2, "a", "ca\u0300t"])
-:call add(tl, [2, "ca", "ca\u0300t"])
-:call add(tl, [2, "a\u0300", "ca\u0300t", "a\u0300"])
-:call add(tl, [2, 'a\%C', "ca\u0300t", "a\u0300"])
-:call add(tl, [2, 'ca\%C', "ca\u0300t", "ca\u0300"])
-:call add(tl, [2, 'ca\%Ct', "ca\u0300t", "ca\u0300t"])
-
-
-:"""" Test \Z
-:call add(tl, [2, 'ú\Z', 'x'])
-:call add(tl, [2, 'יהוה\Z', 'יהוה', 'יהוה'])
-:call add(tl, [2, 'יְהוָה\Z', 'יהוה', 'יהוה'])
-:call add(tl, [2, 'יהוה\Z', 'יְהוָה', 'יְהוָה'])
-:call add(tl, [2, 'יְהוָה\Z', 'יְהוָה', 'יְהוָה'])
-:call add(tl, [2, 'יְ\Z', 'וְיַ', 'יַ'])
-:call add(tl, [2, "ק\u200d\u05b9x\\Z", "xק\u200d\u05b9xy", "ק\u200d\u05b9x"])
-:call add(tl, [2, "ק\u200d\u05b9x\\Z", "xק\u200dxy", "ק\u200dx"])
-:call add(tl, [2, "ק\u200dx\\Z", "xק\u200d\u05b9xy", "ק\u200d\u05b9x"])
-:call add(tl, [2, "ק\u200dx\\Z", "xק\u200dxy", "ק\u200dx"])
-:call add(tl, [2, "\u05b9\\Z", "xyz"])
-:call add(tl, [2, "\\Z\u05b9", "xyz"])
-:call add(tl, [2, "\u05b9\\Z", "xy\u05b9z", "y\u05b9"])
-:call add(tl, [2, "\\Z\u05b9", "xy\u05b9z", "y\u05b9"])
-:call add(tl, [1, "\u05b9\\+\\Z", "xy\u05b9z\u05b9 ", "y\u05b9z\u05b9"])
-:call add(tl, [1, "\\Z\u05b9\\+", "xy\u05b9z\u05b9 ", "y\u05b9z\u05b9"])
-
-:"""" Combining different tests and features
-:call add(tl, [2, '[^[=a=]]\+', 'ddaãâbcd', 'dd'])
-
-:"""" Run the tests
-
-:"
-:for t in tl
-: let re = t[0]
-: let pat = t[1]
-: let text = t[2]
-: let matchidx = 3
-: for engine in [0, 1, 2]
-: if engine == 2 && re == 0 || engine == 1 && re == 1
-: continue
-: endif
-: let &regexpengine = engine
-: try
-: let l = matchlist(text, pat)
-: catch
-: $put ='ERROR ' . engine . ': pat: \"' . pat . '\", text: \"' . text . '\", caused an exception: \"' . v:exception . '\"'
-: endtry
-:" check the match itself
-: if len(l) == 0 && len(t) > matchidx
-: $put ='ERROR ' . engine . ': pat: \"' . pat . '\", text: \"' . text . '\", did not match, expected: \"' . t[matchidx] . '\"'
-: elseif len(l) > 0 && len(t) == matchidx
-: $put ='ERROR ' . engine . ': pat: \"' . pat . '\", text: \"' . text . '\", match: \"' . l[0] . '\", expected no match'
-: elseif len(t) > matchidx && l[0] != t[matchidx]
-: $put ='ERROR ' . engine . ': pat: \"' . pat . '\", text: \"' . text . '\", match: \"' . l[0] . '\", expected: \"' . t[matchidx] . '\"'
-: else
-: $put ='OK ' . engine . ' - ' . pat
-: endif
-: if len(l) > 0
-:" check all the nine submatches
-: for i in range(1, 9)
-: if len(t) <= matchidx + i
-: let e = ''
-: else
-: let e = t[matchidx + i]
-: endif
-: if l[i] != e
-: $put ='ERROR ' . engine . ': pat: \"' . pat . '\", text: \"' . text . '\", submatch ' . i . ': \"' . l[i] . '\", expected: \"' . e . '\"'
-: endif
-: endfor
-: unlet i
-: endif
-: endfor
-:endfor
-:unlet t tl e l
-
-:" check that 'ambiwidth' does not change the meaning of \p
-:set regexpengine=1 ambiwidth=single
-:$put ='eng 1 ambi single: ' . match(\"\u00EC\", '\p')
-:set regexpengine=1 ambiwidth=double
-:$put ='eng 1 ambi double: ' . match(\"\u00EC\", '\p')
-:set regexpengine=2 ambiwidth=single
-:$put ='eng 2 ambi single: ' . match(\"\u00EC\", '\p')
-:set regexpengine=2 ambiwidth=double
-:$put ='eng 2 ambi double: ' . match(\"\u00EC\", '\p')
-
-:/\%#=1^Results/,$wq! test.out
-ENDTEST
-
-Results of test95:
diff --git a/src/nvim/testdir/test95.ok b/src/nvim/testdir/test95.ok
deleted file mode 100644
index 6762994c12..0000000000
--- a/src/nvim/testdir/test95.ok
+++ /dev/null
@@ -1,140 +0,0 @@
-Results of test95:
-OK 0 - [[:alpha:][=a=]]\+
-OK 1 - [[:alpha:][=a=]]\+
-OK 2 - [[:alpha:][=a=]]\+
-OK 0 - [[=a=]]\+
-OK 1 - [[=a=]]\+
-OK 2 - [[=a=]]\+
-OK 0 - [^ม ]\+
-OK 1 - [^ม ]\+
-OK 2 - [^ม ]\+
-OK 0 - [^ ]\+
-OK 1 - [^ ]\+
-OK 2 - [^ ]\+
-OK 0 - [ม[:alpha:][=a=]]\+
-OK 1 - [ม[:alpha:][=a=]]\+
-OK 2 - [ม[:alpha:][=a=]]\+
-OK 0 - \p\+
-OK 1 - \p\+
-OK 2 - \p\+
-OK 0 - \p*
-OK 1 - \p*
-OK 2 - \p*
-OK 0 - \i\+
-OK 1 - \i\+
-OK 2 - \i\+
-OK 0 - \f\+
-OK 1 - \f\+
-OK 2 - \f\+
-OK 0 - .ม
-OK 1 - .ม
-OK 2 - .ม
-OK 0 - .ม่
-OK 1 - .ม่
-OK 2 - .ม่
-OK 0 - ֹ
-OK 1 - ֹ
-OK 2 - ֹ
-OK 0 - .ֹ
-OK 1 - .ֹ
-OK 2 - .ֹ
-OK 0 - ֹֻ
-OK 1 - ֹֻ
-OK 2 - ֹֻ
-OK 0 - .ֹֻ
-OK 1 - .ֹֻ
-OK 2 - .ֹֻ
-OK 0 - ֹֻ
-OK 1 - ֹֻ
-OK 2 - ֹֻ
-OK 0 - .ֹֻ
-OK 1 - .ֹֻ
-OK 2 - .ֹֻ
-OK 0 - ֹ
-OK 1 - ֹ
-OK 2 - ֹ
-OK 0 - .ֹ
-OK 1 - .ֹ
-OK 2 - .ֹ
-OK 0 - ֹ
-OK 1 - ֹ
-OK 2 - ֹ
-OK 0 - .ֹ
-OK 1 - .ֹ
-OK 2 - .ֹ
-OK 0 - ֹֻ
-OK 2 - ֹֻ
-OK 0 - .ֹֻ
-OK 1 - .ֹֻ
-OK 2 - .ֹֻ
-OK 0 - a
-OK 1 - a
-OK 2 - a
-OK 0 - ca
-OK 1 - ca
-OK 2 - ca
-OK 0 - à
-OK 1 - à
-OK 2 - à
-OK 0 - a\%C
-OK 1 - a\%C
-OK 2 - a\%C
-OK 0 - ca\%C
-OK 1 - ca\%C
-OK 2 - ca\%C
-OK 0 - ca\%Ct
-OK 1 - ca\%Ct
-OK 2 - ca\%Ct
-OK 0 - ú\Z
-OK 1 - ú\Z
-OK 2 - ú\Z
-OK 0 - יהוה\Z
-OK 1 - יהוה\Z
-OK 2 - יהוה\Z
-OK 0 - יְהוָה\Z
-OK 1 - יְהוָה\Z
-OK 2 - יְהוָה\Z
-OK 0 - יהוה\Z
-OK 1 - יהוה\Z
-OK 2 - יהוה\Z
-OK 0 - יְהוָה\Z
-OK 1 - יְהוָה\Z
-OK 2 - יְהוָה\Z
-OK 0 - יְ\Z
-OK 1 - יְ\Z
-OK 2 - יְ\Z
-OK 0 - ק‍ֹx\Z
-OK 1 - ק‍ֹx\Z
-OK 2 - ק‍ֹx\Z
-OK 0 - ק‍ֹx\Z
-OK 1 - ק‍ֹx\Z
-OK 2 - ק‍ֹx\Z
-OK 0 - ק‍x\Z
-OK 1 - ק‍x\Z
-OK 2 - ק‍x\Z
-OK 0 - ק‍x\Z
-OK 1 - ק‍x\Z
-OK 2 - ק‍x\Z
-OK 0 - ֹ\Z
-OK 1 - ֹ\Z
-OK 2 - ֹ\Z
-OK 0 - \Zֹ
-OK 1 - \Zֹ
-OK 2 - \Zֹ
-OK 0 - ֹ\Z
-OK 1 - ֹ\Z
-OK 2 - ֹ\Z
-OK 0 - \Zֹ
-OK 1 - \Zֹ
-OK 2 - \Zֹ
-OK 0 - ֹ\+\Z
-OK 2 - ֹ\+\Z
-OK 0 - \Zֹ\+
-OK 2 - \Zֹ\+
-OK 0 - [^[=a=]]\+
-OK 1 - [^[=a=]]\+
-OK 2 - [^[=a=]]\+
-eng 1 ambi single: 0
-eng 1 ambi double: 0
-eng 2 ambi single: 0
-eng 2 ambi double: 0
diff --git a/src/nvim/testdir/test98.in b/src/nvim/testdir/test98.in
deleted file mode 100644
index 83ccba09e9..0000000000
--- a/src/nvim/testdir/test98.in
+++ /dev/null
@@ -1,43 +0,0 @@
-Test for 'scrollbind' causing an unexpected scroll of one of the windows.
-STARTTEST
-:so small.vim
-:" We don't want the status line to cause problems:
-:set laststatus=0
-:let g:totalLines = &lines * 20
-:let middle = g:totalLines / 2
-:wincmd n
-:wincmd o
-:for i in range(1, g:totalLines)
-: call setline(i, 'LINE ' . i)
-:endfor
-:exe string(middle)
-:normal zt
-:normal M
-:aboveleft vert new
-:for i in range(1, g:totalLines)
-: call setline(i, 'line ' . i)
-:endfor
-:exe string(middle)
-:normal zt
-:normal M
-:" Execute the following two command at once to reproduce the problem.
-:setl scb | wincmd p
-:setl scb
-:wincmd w
-:let topLineLeft = line('w0')
-:wincmd p
-:let topLineRight = line('w0')
-:setl noscrollbind
-:wincmd p
-:setl noscrollbind
-:q!
-:%del _
-:call setline(1, 'Difference between the top lines (left - right): ' . string(topLineLeft - topLineRight))
-:w! test.out
-:brewind
-ENDTEST
-
-STARTTEST
-:qa!
-ENDTEST
-
diff --git a/src/nvim/testdir/test98.ok b/src/nvim/testdir/test98.ok
deleted file mode 100644
index 356ddd8eac..0000000000
--- a/src/nvim/testdir/test98.ok
+++ /dev/null
@@ -1 +0,0 @@
-Difference between the top lines (left - right): 0
diff --git a/src/nvim/testdir/test_listlbr_utf8.in b/src/nvim/testdir/test_listlbr_utf8.in
deleted file mode 100644
index 23b3098786..0000000000
--- a/src/nvim/testdir/test_listlbr_utf8.in
+++ /dev/null
@@ -1,53 +0,0 @@
-Test for linebreak and list option in utf-8 mode
-
-STARTTEST
-:so small.vim
-:if !exists("+linebreak") | e! test.ok | w! test.out | qa! | endif
-:set wildchar=^E
-:so mbyte.vim
-:if &enc !=? 'utf-8'|:e! test.ok|:w! test.out|qa!|endif
-:10new|:vsp|:vert resize 20
-:put =\"\tabcdef hijklmn\tpqrstuvwxyz\u00a01060ABCDEFGHIJKLMNOP \"
-:norm! zt
-:set ts=4 sw=4 sts=4 linebreak sbr=+ wrap
-:fu! ScreenChar(width)
-: let c=''
-: for j in range(1,4)
-: for i in range(1,a:width)
-: let c.=nr2char(screenchar(j, i))
-: endfor
-: let c.="\n"
-: endfor
-: return c
-:endfu
-:fu! DoRecordScreen()
-: wincmd l
-: $put =printf(\"\n%s\", g:test)
-: $put =g:line
-: wincmd p
-:endfu
-:let g:test ="Test 1: set linebreak + set list + fancy listchars"
-:exe "set linebreak list listchars=nbsp:\u2423,tab:\u2595\u2014,trail:\u02d1,eol:\ub6"
-:redraw!
-:let line=ScreenChar(winwidth(0))
-:call DoRecordScreen()
-:"
-:let g:test ="Test 2: set nolinebreak list"
-:set list nolinebreak
-:redraw!
-:let line=ScreenChar(winwidth(0))
-:call DoRecordScreen()
-:"
-:let g:test ="Test 3: set linebreak nolist"
-:$put =\"\t*mask = nil;\"
-:$
-:norm! zt
-:set nolist linebreak
-:redraw!
-:let line=ScreenChar(winwidth(0))
-:call DoRecordScreen()
-:"
-:%w! test.out
-:qa!
-ENDTEST
-dummy text
diff --git a/src/nvim/testdir/test_listlbr_utf8.ok b/src/nvim/testdir/test_listlbr_utf8.ok
deleted file mode 100644
index 634cf3906d..0000000000
--- a/src/nvim/testdir/test_listlbr_utf8.ok
+++ /dev/null
@@ -1,21 +0,0 @@
-
- abcdef hijklmn pqrstuvwxyz 1060ABCDEFGHIJKLMNOP
-
-Test 1: set linebreak + set list + fancy listchars
-▕———abcdef
-+hijklmn▕———
-+pqrstuvwxyz␣1060ABC
-+DEFGHIJKLMNOPˑ¶
-
-Test 2: set nolinebreak list
-▕———abcdef hijklmn▕—
-+pqrstuvwxyz␣1060ABC
-+DEFGHIJKLMNOPˑ¶
- *mask = nil;
-
-Test 3: set linebreak nolist
- *mask = nil;
-~
-~
-~
diff --git a/src/nvim/testdir/test_qf_title.in b/src/nvim/testdir/test_qf_title.in
deleted file mode 100644
index fce0c260e3..0000000000
--- a/src/nvim/testdir/test_qf_title.in
+++ /dev/null
@@ -1,18 +0,0 @@
-Tests for quickfix window's title vim: set ft=vim :
-
-STARTTEST
-:so small.vim
-:if !has('quickfix') | e! test.ok | wq! test.out | endif
-:set efm=%E%f:%l:%c:%m
-:cgetexpr ['file:1:1:message']
-:let qflist=getqflist()
-:call setqflist(qflist, 'r')
-:copen
-:let g:quickfix_title=w:quickfix_title
-:wincmd p
-:$put =g:quickfix_title
-:/^Results/,$w test.out
-:qa!
-ENDTEST
-
-Results of test_qf_title:
diff --git a/src/nvim/testdir/test_qf_title.ok b/src/nvim/testdir/test_qf_title.ok
deleted file mode 100644
index 4ebdbeff3b..0000000000
--- a/src/nvim/testdir/test_qf_title.ok
+++ /dev/null
@@ -1,2 +0,0 @@
-Results of test_qf_title:
-:setqflist()
diff --git a/src/nvim/version.c b/src/nvim/version.c
index 8357de9f46..2c819c6f42 100644
--- a/src/nvim/version.c
+++ b/src/nvim/version.c
@@ -18,10 +18,24 @@
#include "nvim/misc2.h"
#include "nvim/screen.h"
#include "nvim/strings.h"
-#include "nvim/version_defs.h"
+
+// version info generated by the build system
+#include "auto/versiondef.h"
+
+#define STR_(x) #x
+#define STR(x) STR_(x)
+
+// for the startup-screen ( ":intro" command )
+#define NVIM_VERSION_MEDIUM STR(NVIM_VERSION_MAJOR) "." STR(NVIM_VERSION_MINOR)
+
+// for the ":version" command and "nvim --version"
+#define NVIM_VERSION_LONG "NVIM " NVIM_VERSION_MEDIUM "." STR(NVIM_VERSION_PATCH) NVIM_VERSION_PRERELEASE NVIM_VERSION_BUILD
+
char *Version = VIM_VERSION_SHORT;
-char *longVersion = NVIM_VERSION_LONG " (compiled " __DATE__ " " __TIME__ ")";
+char *longVersion = NVIM_VERSION_LONG;
+char *longVersionWithDate = NVIM_VERSION_LONG " (compiled " __DATE__ " " __TIME__ ")";
+char *mediumVersion = NVIM_VERSION_MEDIUM;
char *version_commit = "Commit: " NVIM_VERSION_COMMIT;
char *version_buildtype = "Build type: " NVIM_VERSION_BUILD_TYPE;
char *version_cflags = "Compilation: " NVIM_VERSION_CFLAGS;
@@ -169,7 +183,7 @@ static int included_patches[] = {
//618,
//617,
//616,
- //615,
+ 615,
//614,
//613,
//612,
@@ -885,7 +899,7 @@ void list_version(void)
{
// When adding features here, don't forget to update the list of
// internal variables in eval.c!
- MSG(longVersion);
+ MSG(longVersionWithDate);
MSG(version_commit);
MSG(version_buildtype);
MSG(version_cflags);
diff --git a/src/nvim/version.h b/src/nvim/version.h
index d1b19a062f..c1881250f1 100644
--- a/src/nvim/version.h
+++ b/src/nvim/version.h
@@ -1,6 +1,23 @@
#ifndef NVIM_VERSION_H
#define NVIM_VERSION_H
+// defined in version.c
+extern char* Version;
+extern char* mediumVersion;
+extern char* longVersion;
+
+//
+// Vim version number, name, etc. Patchlevel is defined in version.c.
+//
+#define VIM_VERSION_MAJOR 7
+#define VIM_VERSION_MINOR 4
+#define VIM_VERSION_100 (VIM_VERSION_MAJOR * 100 + VIM_VERSION_MINOR)
+
+// used for the runtime directory name
+#define VIM_VERSION_NODOT "vim74"
+// swap file compatibility (max. length is 6 chars)
+#define VIM_VERSION_SHORT "7.4"
+
#ifdef INCLUDE_GENERATED_DECLARATIONS
# include "version.h.generated.h"
#endif
diff --git a/src/nvim/version_defs.h b/src/nvim/version_defs.h
deleted file mode 100644
index 0ba6143632..0000000000
--- a/src/nvim/version_defs.h
+++ /dev/null
@@ -1,56 +0,0 @@
-#ifndef NVIM_VERSION_DEFS_H
-#define NVIM_VERSION_DEFS_H
-
-// VIM - Vi IMproved by Bram Moolenaar
-//
-// Do ":help uganda" in Vim to read copying and usage conditions.
-// Do ":help credits" in Vim to see a list of people who contributed.
-
-#define STR_(x) #x
-#define STR(x) STR_(x)
-
-//
-// Nvim version identifiers
-//
-#ifndef NVIM_VERSION_MAJOR
-#define NVIM_VERSION_MAJOR 0
-#endif
-#ifndef NVIM_VERSION_MINOR
-#define NVIM_VERSION_MINOR 0
-#endif
-#ifndef NVIM_VERSION_PATCH
-#define NVIM_VERSION_PATCH 0
-#endif
-#ifndef NVIM_VERSION_PRERELEASE
-#define NVIM_VERSION_PRERELEASE "?"
-#endif
-#ifndef NVIM_VERSION_BUILD
-#define NVIM_VERSION_BUILD "?"
-#endif
-#ifndef NVIM_VERSION_COMMIT
-#define NVIM_VERSION_COMMIT "?"
-#endif
-#ifndef NVIM_VERSION_CFLAGS
-#define NVIM_VERSION_CFLAGS "?"
-#endif
-#ifndef NVIM_VERSION_BUILD_TYPE
-#define NVIM_VERSION_BUILD_TYPE "?"
-#endif
-// for the startup-screen
-#define NVIM_VERSION_MEDIUM STR(NVIM_VERSION_MAJOR) "." STR(NVIM_VERSION_MINOR)
-// for the ":version" command and "nvim -h"
-#define NVIM_VERSION_LONG "NVIM " NVIM_VERSION_MEDIUM "." STR(NVIM_VERSION_PATCH) NVIM_VERSION_PRERELEASE NVIM_VERSION_BUILD
-
-//
-// Vim version number, name, etc. Patchlevel is defined in version.c.
-//
-#define VIM_VERSION_MAJOR 7
-#define VIM_VERSION_MINOR 4
-#define VIM_VERSION_100 (VIM_VERSION_MAJOR * 100 + VIM_VERSION_MINOR)
-
-// used for the runtime directory name
-#define VIM_VERSION_NODOT "vim74"
-// swap file compatibility (max. length is 6 chars)
-#define VIM_VERSION_SHORT "7.4"
-
-#endif // NVIM_VERSION_DEFS_H