diff options
-rw-r--r-- | runtime/doc/eval.txt | 2 | ||||
-rw-r--r-- | runtime/doc/starting.txt | 6 | ||||
-rw-r--r-- | src/nvim/ex_cmds.lua | 6 | ||||
-rw-r--r-- | src/nvim/mark.c | 21 | ||||
-rw-r--r-- | src/nvim/po/uk.po | 4 | ||||
-rw-r--r-- | src/nvim/shada.c | 3 | ||||
-rw-r--r-- | src/nvim/version.c | 2 |
7 files changed, 29 insertions, 15 deletions
diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt index c147dbebd4..3f8c6913df 100644 --- a/runtime/doc/eval.txt +++ b/runtime/doc/eval.txt @@ -3534,7 +3534,7 @@ foreground() Move the Vim window to the foreground. Useful when sent from {only in the Win32 GUI and console version} - *function()* *E700* *E922* *E929* + *function()* *E700* *E922* *E923* function({name} [, {arglist}] [, {dict}]) Return a |Funcref| variable that refers to function {name}. {name} can be a user defined function or an internal function. diff --git a/runtime/doc/starting.txt b/runtime/doc/starting.txt index bbc0260ffa..69e3e8c64b 100644 --- a/runtime/doc/starting.txt +++ b/runtime/doc/starting.txt @@ -1135,7 +1135,7 @@ files for different types of files (e.g., C code) and load them based on the file name, using the ":autocmd" command (see |:autocmd|). More information on ShaDa file format is contained in |shada-format| section. - *E136* *E138* *shada-error-handling* + *E136* *E929* *shada-error-handling* Some errors make Neovim leave temporary file named `{basename}.tmp.X` (X is any free letter from `a` to `z`) while normally it will create this file, write to it and then rename `{basename}.tmp.X` to `{basename}`. Such errors @@ -1155,7 +1155,7 @@ include: Do not forget to remove the temporary file or replace the target file with temporary one after getting one of the above errors or all attempts to create -a ShaDa file may fail with |E138|. If you got one of them when using +a ShaDa file may fail with |E929|. If you got one of them when using |:wshada| (and not when exiting Neovim: i.e. when you have Neovim session running) you have additional options: @@ -1187,7 +1187,7 @@ running) you have additional options: internal info is written (also disables safety checks described in |shada-error-handling|). If 'shada' is empty, marks for up to 100 files will be written. - When you get error "E138: All .tmp.X files exist, + When you get error "E929: All .tmp.X files exist, cannot write ShaDa file!" check that no old temp files were left behind (e.g. ~/.local/share/nvim/shada/main.shada.tmp*). diff --git a/src/nvim/ex_cmds.lua b/src/nvim/ex_cmds.lua index b998b81284..88095602ba 100644 --- a/src/nvim/ex_cmds.lua +++ b/src/nvim/ex_cmds.lua @@ -480,6 +480,12 @@ return { func='ex_close', }, { + command='clearjumps', + flags=bit.bor(TRLBAR, CMDWIN), + addr_type=ADDR_LINES, + func='ex_clearjumps', + }, + { command='cmap', flags=bit.bor(EXTRA, TRLBAR, NOTRLCOM, USECTRLV, CMDWIN), addr_type=ADDR_LINES, diff --git a/src/nvim/mark.c b/src/nvim/mark.c index 6453c41415..bb5b8e8178 100644 --- a/src/nvim/mark.c +++ b/src/nvim/mark.c @@ -130,17 +130,17 @@ int setmark_pos(int c, pos_T *pos, int fnum) return OK; } - if (c > 'z') /* some islower() and isupper() cannot handle - characters above 127 */ - return FAIL; - if (islower(c)) { + if (ASCII_ISLOWER(c)) { i = c - 'a'; RESET_FMARK(curbuf->b_namedm + i, *pos, curbuf->b_fnum); return OK; } - if (isupper(c)) { - assert(c >= 'A' && c <= 'Z'); - i = c - 'A'; + if (ASCII_ISUPPER(c) || ascii_isdigit(c)) { + if (ascii_isdigit(c)) { + i = c - '0' + NMARKS; + } else { + i = c - 'A'; + } RESET_XFMARK(namedfm + i, *pos, fnum, NULL); return OK; } @@ -798,6 +798,13 @@ void ex_jumps(exarg_T *eap) MSG_PUTS("\n>"); } +void ex_clearjumps(exarg_T *eap) +{ + free_jumplist(curwin); + curwin->w_jumplistlen = 0; + curwin->w_jumplistidx = 0; +} + /* * print the changelist */ diff --git a/src/nvim/po/uk.po b/src/nvim/po/uk.po index 3145931bfe..cff140508b 100644 --- a/src/nvim/po/uk.po +++ b/src/nvim/po/uk.po @@ -4424,8 +4424,8 @@ msgstr "" "перед записом: %s" #, c-format -msgid "E138: All %s.tmp.X files exist, cannot write ShaDa file!" -msgstr "E138: Усі файли %s.tmp.X зайнято, неможливо записати файл ShaDa!" +msgid "E929: All %s.tmp.X files exist, cannot write ShaDa file!" +msgstr "E929: Усі файли %s.tmp.X зайнято, неможливо записати файл ShaDa!" #, c-format msgid "System error while opening temporary ShaDa file %s for writing: %s" diff --git a/src/nvim/shada.c b/src/nvim/shada.c index 64610ae8f8..8cf5976e8b 100644 --- a/src/nvim/shada.c +++ b/src/nvim/shada.c @@ -118,9 +118,10 @@ KHASH_SET_INIT_STR(strset) // E576: Missing '>' // E577: Illegal register name // E886: Can't rename viminfo file to %s! +// E929: Too many viminfo temp files, like %s! // Now only six of them are used: // E137: ShaDa file is not writeable (for pre-open checks) -// E138: All %s.tmp.X files exist, cannot write ShaDa file! +// E929: All %s.tmp.X files exist, cannot write ShaDa file! // RCERR (E576) for critical read errors. // RNERR (E136) for various errors when renaming. // RERR (E575) for various errors inside read ShaDa file. diff --git a/src/nvim/version.c b/src/nvim/version.c index 359255caee..30371b2d02 100644 --- a/src/nvim/version.c +++ b/src/nvim/version.c @@ -515,7 +515,7 @@ static int included_patches[] = { 1928, // 1927 NA // 1926 NA - // 1925 NA + 1925, // 1924 NA 1923, // 1922 NA |