aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--runtime/doc/eval.txt2
-rw-r--r--runtime/doc/starting.txt6
-rw-r--r--src/nvim/ex_cmds.lua6
-rw-r--r--src/nvim/mark.c21
-rw-r--r--src/nvim/po/uk.po4
-rw-r--r--src/nvim/shada.c3
-rw-r--r--src/nvim/version.c2
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