aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/nvim/api/vim.c8
-rw-r--r--src/nvim/eval.c191
-rw-r--r--src/nvim/ex_docmd.c23
-rw-r--r--src/nvim/getchar.c7
-rw-r--r--src/nvim/normal.c2
-rw-r--r--src/nvim/po/eo.po62
-rw-r--r--src/nvim/po/it.po106
-rw-r--r--src/nvim/po/ja.euc-jp.po180
-rw-r--r--src/nvim/po/ja.po179
-rw-r--r--src/nvim/po/ja.sjis.po186
-rw-r--r--src/nvim/testdir/Makefile4
-rw-r--r--src/nvim/testdir/test34.in86
-rw-r--r--src/nvim/testdir/test34.ok10
-rw-r--r--src/nvim/testdir/test_hardcopy.vim58
-rw-r--r--src/nvim/testdir/test_langmap.vim24
-rw-r--r--src/nvim/testdir/test_unlet.vim26
-rw-r--r--src/nvim/version.c26
17 files changed, 768 insertions, 410 deletions
diff --git a/src/nvim/api/vim.c b/src/nvim/api/vim.c
index 46d72b847d..43d58a539a 100644
--- a/src/nvim/api/vim.c
+++ b/src/nvim/api/vim.c
@@ -57,6 +57,7 @@ void vim_feedkeys(String keys, String mode, Boolean escape_csi)
bool remap = true;
bool insert = false;
bool typed = false;
+ bool execute = false;
if (keys.size == 0) {
return;
@@ -68,6 +69,7 @@ void vim_feedkeys(String keys, String mode, Boolean escape_csi)
case 'm': remap = true; break;
case 't': typed = true; break;
case 'i': insert = true; break;
+ case 'x': execute = true; break;
}
}
@@ -86,8 +88,12 @@ void vim_feedkeys(String keys, String mode, Boolean escape_csi)
xfree(keys_esc);
}
- if (vgetc_busy)
+ if (vgetc_busy) {
typebuf_was_filled = true;
+ }
+ if (execute) {
+ exec_normal(true);
+ }
}
/// Passes input keys to Neovim. Unlike `vim_feedkeys`, this will use a
diff --git a/src/nvim/eval.c b/src/nvim/eval.c
index 56440d6ad6..92d9dc8ecf 100644
--- a/src/nvim/eval.c
+++ b/src/nvim/eval.c
@@ -508,6 +508,7 @@ void eval_init(void)
/* add to compat scope dict */
hash_add(&compat_hashtab, p->vv_di.di_key);
}
+ vimvars[VV_VERSION].vv_nr = VIM_VERSION_100;
dict_T *const msgpack_types_dict = dict_alloc();
for (size_t i = 0; i < ARRAY_SIZE(msgpack_type_names); i++) {
@@ -2978,11 +2979,16 @@ int do_unlet(char_u *name, int forceit)
} else if (current_funccal != NULL
&& ht == &current_funccal->l_vars.dv_hashtab) {
d = &current_funccal->l_vars;
+ } else if (ht == &compat_hashtab) {
+ d = &vimvardict;
} else {
di = find_var_in_ht(ht, *name, (char_u *)"", false);
d = di->di_tv.vval.v_dict;
}
-
+ if (d == NULL) {
+ EMSG2(_(e_intern2), "do_unlet()");
+ return FAIL;
+ }
hi = hash_find(ht, varname);
if (!HASHITEM_EMPTY(hi)) {
di = HI2DI(hi);
@@ -2991,6 +2997,11 @@ int do_unlet(char_u *name, int forceit)
|| tv_check_lock(d->dv_lock, name, false)) {
return FAIL;
}
+
+ if (d == NULL || tv_check_lock(d->dv_lock, name, false)) {
+ return FAIL;
+ }
+
typval_T oldtv;
bool watched = is_watched(dict);
@@ -15096,13 +15107,18 @@ typedef struct {
int idx;
} sortItem_T;
-static int item_compare_ic;
-static bool item_compare_numeric;
-static bool item_compare_numbers;
-static bool item_compare_float;
-static char_u *item_compare_func;
-static dict_T *item_compare_selfdict;
-static int item_compare_func_err;
+/// struct storing information about current sort
+typedef struct {
+ int item_compare_ic;
+ bool item_compare_numeric;
+ bool item_compare_numbers;
+ bool item_compare_float;
+ char_u *item_compare_func;
+ dict_T *item_compare_selfdict;
+ int item_compare_func_err;
+} sortinfo_T;
+static sortinfo_T *sortinfo = NULL;
+
#define ITEM_COMPARE_FAIL 999
/*
@@ -15122,14 +15138,14 @@ static int item_compare(const void *s1, const void *s2, bool keep_zero)
typval_T *tv1 = &si1->item->li_tv;
typval_T *tv2 = &si2->item->li_tv;
- if (item_compare_numbers) {
+ if (sortinfo->item_compare_numbers) {
long v1 = get_tv_number(tv1);
long v2 = get_tv_number(tv2);
return v1 == v2 ? 0 : v1 > v2 ? 1 : -1;
}
- if (item_compare_float) {
+ if (sortinfo->item_compare_float) {
float_T v1 = get_tv_float(tv1);
float_T v2 = get_tv_float(tv2);
@@ -15140,7 +15156,7 @@ static int item_compare(const void *s1, const void *s2, bool keep_zero)
// do that for string variables. Use a single quote when comparing with
// a non-string to do what the docs promise.
if (tv1->v_type == VAR_STRING) {
- if (tv2->v_type != VAR_STRING || item_compare_numeric) {
+ if (tv2->v_type != VAR_STRING || sortinfo->item_compare_numeric) {
p1 = (char_u *)"'";
} else {
p1 = tv1->vval.v_string;
@@ -15149,7 +15165,7 @@ static int item_compare(const void *s1, const void *s2, bool keep_zero)
tofree1 = p1 = (char_u *) encode_tv2string(tv1, NULL);
}
if (tv2->v_type == VAR_STRING) {
- if (tv1->v_type != VAR_STRING || item_compare_numeric) {
+ if (tv1->v_type != VAR_STRING || sortinfo->item_compare_numeric) {
p2 = (char_u *)"'";
} else {
p2 = tv2->vval.v_string;
@@ -15157,12 +15173,14 @@ static int item_compare(const void *s1, const void *s2, bool keep_zero)
} else {
tofree2 = p2 = (char_u *) encode_tv2string(tv2, NULL);
}
- if (p1 == NULL)
+ if (p1 == NULL) {
p1 = (char_u *)"";
- if (p2 == NULL)
+ }
+ if (p2 == NULL) {
p2 = (char_u *)"";
- if (!item_compare_numeric) {
- if (item_compare_ic) {
+ }
+ if (!sortinfo->item_compare_numeric) {
+ if (sortinfo->item_compare_ic) {
res = STRICMP(p1, p2);
} else {
res = STRCMP(p1, p2);
@@ -15203,9 +15221,10 @@ static int item_compare2(const void *s1, const void *s2, bool keep_zero)
typval_T argv[3];
int dummy;
- /* shortcut after failure in previous call; compare all items equal */
- if (item_compare_func_err)
+ // shortcut after failure in previous call; compare all items equal
+ if (sortinfo->item_compare_func_err) {
return 0;
+ }
si1 = (sortItem_T *)s1;
si2 = (sortItem_T *)s2;
@@ -15215,19 +15234,22 @@ static int item_compare2(const void *s1, const void *s2, bool keep_zero)
copy_tv(&si1->item->li_tv, &argv[0]);
copy_tv(&si2->item->li_tv, &argv[1]);
- rettv.v_type = VAR_UNKNOWN; /* clear_tv() uses this */
- res = call_func(item_compare_func, (int)STRLEN(item_compare_func),
- &rettv, 2, argv, 0L, 0L, &dummy, TRUE,
- item_compare_selfdict);
+ rettv.v_type = VAR_UNKNOWN; // clear_tv() uses this
+ res = call_func(sortinfo->item_compare_func,
+ (int)STRLEN(sortinfo->item_compare_func),
+ &rettv, 2, argv, 0L, 0L, &dummy, true,
+ sortinfo->item_compare_selfdict);
clear_tv(&argv[0]);
clear_tv(&argv[1]);
- if (res == FAIL)
+ if (res == FAIL) {
res = ITEM_COMPARE_FAIL;
- else
- res = get_tv_number_chk(&rettv, &item_compare_func_err);
- if (item_compare_func_err)
- res = ITEM_COMPARE_FAIL; /* return value has wrong type */
+ } else {
+ res = get_tv_number_chk(&rettv, &sortinfo->item_compare_func_err);
+ }
+ if (sortinfo->item_compare_func_err) {
+ res = ITEM_COMPARE_FAIL; // return value has wrong type
+ }
clear_tv(&rettv);
// When the result would be zero, compare the pointers themselves. Makes
@@ -15260,6 +15282,12 @@ static void do_sort_uniq(typval_T *argvars, typval_T *rettv, bool sort)
long len;
long i;
+ // Pointer to current info struct used in compare function. Save and restore
+ // the current one for nested calls.
+ sortinfo_T info;
+ sortinfo_T *old_sortinfo = sortinfo;
+ sortinfo = &info;
+
if (argvars[0].v_type != VAR_LIST) {
EMSG2(_(e_listarg), sort ? "sort()" : "uniq()");
} else {
@@ -15270,61 +15298,70 @@ static void do_sort_uniq(typval_T *argvars, typval_T *rettv, bool sort)
? N_("sort() argument")
: N_("uniq() argument")),
true)) {
- return;
+ goto theend;
}
rettv->vval.v_list = l;
rettv->v_type = VAR_LIST;
++l->lv_refcount;
len = list_len(l);
- if (len <= 1)
- return; /* short list sorts pretty quickly */
+ if (len <= 1) {
+ goto theend; // short list sorts pretty quickly
+ }
- item_compare_ic = FALSE;
- item_compare_numeric = false;
- item_compare_numbers = false;
- item_compare_float = false;
- item_compare_func = NULL;
- item_compare_selfdict = NULL;
+ info.item_compare_ic = false;
+ info.item_compare_numeric = false;
+ info.item_compare_numbers = false;
+ info.item_compare_float = false;
+ info.item_compare_func = NULL;
+ info.item_compare_selfdict = NULL;
if (argvars[1].v_type != VAR_UNKNOWN) {
/* optional second argument: {func} */
if (argvars[1].v_type == VAR_FUNC) {
- item_compare_func = argvars[1].vval.v_string;
+ info.item_compare_func = argvars[1].vval.v_string;
} else {
int error = FALSE;
i = get_tv_number_chk(&argvars[1], &error);
- if (error)
- return; /* type error; errmsg already given */
- if (i == 1)
- item_compare_ic = TRUE;
- else
- item_compare_func = get_tv_string(&argvars[1]);
- if (item_compare_func != NULL) {
- if (STRCMP(item_compare_func, "n") == 0) {
- item_compare_func = NULL;
- item_compare_numeric = true;
- } else if (STRCMP(item_compare_func, "N") == 0) {
- item_compare_func = NULL;
- item_compare_numbers = true;
- } else if (STRCMP(item_compare_func, "f") == 0) {
- item_compare_func = NULL;
- item_compare_float = true;
- } else if (STRCMP(item_compare_func, "i") == 0) {
- item_compare_func = NULL;
- item_compare_ic = TRUE;
+ if (error) {
+ goto theend; // type error; errmsg already given
+ }
+ if (i == 1) {
+ info.item_compare_ic = true;
+ } else if (argvars[1].v_type != VAR_NUMBER) {
+ info.item_compare_func = get_tv_string(&argvars[1]);
+ } else if (i != 0) {
+ EMSG(_(e_invarg));
+ goto theend;
+ }
+ if (info.item_compare_func != NULL) {
+ if (*info.item_compare_func == NUL) {
+ // empty string means default sort
+ info.item_compare_func = NULL;
+ } else if (STRCMP(info.item_compare_func, "n") == 0) {
+ info.item_compare_func = NULL;
+ info.item_compare_numeric = true;
+ } else if (STRCMP(info.item_compare_func, "N") == 0) {
+ info.item_compare_func = NULL;
+ info.item_compare_numbers = true;
+ } else if (STRCMP(info.item_compare_func, "f") == 0) {
+ info.item_compare_func = NULL;
+ info.item_compare_float = true;
+ } else if (STRCMP(info.item_compare_func, "i") == 0) {
+ info.item_compare_func = NULL;
+ info.item_compare_ic = true;
}
}
}
if (argvars[2].v_type != VAR_UNKNOWN) {
- /* optional third argument: {dict} */
+ // optional third argument: {dict}
if (argvars[2].v_type != VAR_DICT) {
EMSG(_(e_dictreq));
- return;
+ goto theend;
}
- item_compare_selfdict = argvars[2].vval.v_dict;
+ info.item_compare_selfdict = argvars[2].vval.v_dict;
}
}
@@ -15340,19 +15377,20 @@ static void do_sort_uniq(typval_T *argvars, typval_T *rettv, bool sort)
i++;
}
- item_compare_func_err = FALSE;
+ info.item_compare_func_err = false;
// Test the compare function.
- if (item_compare_func != NULL
+ if (info.item_compare_func != NULL
&& item_compare2_not_keeping_zero(&ptrs[0], &ptrs[1])
== ITEM_COMPARE_FAIL) {
EMSG(_("E702: Sort compare function failed"));
} else {
// Sort the array with item pointers.
qsort(ptrs, (size_t)len, sizeof (sortItem_T),
- item_compare_func == NULL ? item_compare_not_keeping_zero :
- item_compare2_not_keeping_zero);
+ (info.item_compare_func == NULL ?
+ item_compare_not_keeping_zero :
+ item_compare2_not_keeping_zero));
- if (!item_compare_func_err) {
+ if (!info.item_compare_func_err) {
// Clear the list and append the items in the sorted order.
l->lv_first = NULL;
l->lv_last = NULL;
@@ -15368,21 +15406,24 @@ static void do_sort_uniq(typval_T *argvars, typval_T *rettv, bool sort)
int (*item_compare_func_ptr)(const void *, const void *);
// f_uniq(): ptrs will be a stack of items to remove.
- item_compare_func_err = FALSE;
- item_compare_func_ptr = item_compare_func ? item_compare2_keeping_zero :
- item_compare_keeping_zero;
+ info.item_compare_func_err = false;
+ if (info.item_compare_func != NULL) {
+ item_compare_func_ptr = item_compare2_keeping_zero;
+ } else {
+ item_compare_func_ptr = item_compare_keeping_zero;
+ }
for (li = l->lv_first; li != NULL && li->li_next != NULL; li = li->li_next) {
if (item_compare_func_ptr(&li, &li->li_next) == 0) {
ptrs[i++].item = li;
}
- if (item_compare_func_err) {
+ if (info.item_compare_func_err) {
EMSG(_("E882: Uniq compare function failed"));
break;
}
}
- if (!item_compare_func_err) {
+ if (!info.item_compare_func_err) {
while (--i >= 0) {
assert(ptrs[i].item->li_next);
li = ptrs[i].item->li_next;
@@ -15401,6 +15442,9 @@ static void do_sort_uniq(typval_T *argvars, typval_T *rettv, bool sort)
xfree(ptrs);
}
+
+theend:
+ sortinfo = old_sortinfo;
}
/// "sort"({list})" function
@@ -17741,7 +17785,8 @@ void set_vim_var_special(const VimVarIndex idx, const SpecialVarValue val)
void set_vim_var_string(const VimVarIndex idx, const char *const val,
const ptrdiff_t len)
{
- xfree(vimvars[idx].vv_str);
+ clear_tv(&vimvars[idx].vv_di.di_tv);
+ vimvars[idx].vv_type = VAR_STRING;
if (val == NULL) {
vimvars[idx].vv_str = NULL;
} else if (len == -1) {
@@ -17757,7 +17802,8 @@ void set_vim_var_string(const VimVarIndex idx, const char *const val,
/// @param[in,out] val Value to set to. Reference count will be incremented.
void set_vim_var_list(const VimVarIndex idx, list_T *const val)
{
- list_unref(vimvars[idx].vv_list);
+ clear_tv(&vimvars[idx].vv_di.di_tv);
+ vimvars[idx].vv_type = VAR_LIST;
vimvars[idx].vv_list = val;
if (val != NULL) {
val->lv_refcount++;
@@ -17771,7 +17817,8 @@ void set_vim_var_list(const VimVarIndex idx, list_T *const val)
/// Also keys of the dictionary will be made read-only.
void set_vim_var_dict(const VimVarIndex idx, dict_T *const val)
{
- dict_unref(vimvars[idx].vv_dict);
+ clear_tv(&vimvars[idx].vv_di.di_tv);
+ vimvars[idx].vv_type = VAR_DICT;
vimvars[idx].vv_dict = val;
if (val != NULL) {
diff --git a/src/nvim/ex_docmd.c b/src/nvim/ex_docmd.c
index dea52ee112..b66b5cf3a9 100644
--- a/src/nvim/ex_docmd.c
+++ b/src/nvim/ex_docmd.c
@@ -7858,19 +7858,26 @@ static void ex_stopinsert(exarg_T *eap)
*/
void exec_normal_cmd(char_u *cmd, int remap, bool silent)
{
+ // Stuff the argument into the typeahead buffer.
+ ins_typebuf(cmd, remap, 0, true, silent);
+ exec_normal(false);
+}
+
+/// Execute normal_cmd() until there is no typeahead left.
+///
+/// @param was_typed whether or not something was typed
+void exec_normal(bool was_typed)
+{
oparg_T oa;
- /*
- * Stuff the argument into the typeahead buffer.
- * Execute normal_cmd() until there is no typeahead left.
- */
clear_oparg(&oa);
- finish_op = FALSE;
- ins_typebuf(cmd, remap, 0, TRUE, silent);
- while ((!stuff_empty() || (!typebuf_typed() && typebuf.tb_len > 0))
+ finish_op = false;
+ while ((!stuff_empty()
+ || ((was_typed || !typebuf_typed())
+ && typebuf.tb_len > 0))
&& !got_int) {
update_topline_cursor();
- normal_cmd(&oa, TRUE); /* execute a Normal mode cmd */
+ normal_cmd(&oa, true); // execute a Normal mode cmd
}
}
diff --git a/src/nvim/getchar.c b/src/nvim/getchar.c
index dbf0322d78..ae1857f318 100644
--- a/src/nvim/getchar.c
+++ b/src/nvim/getchar.c
@@ -1754,10 +1754,11 @@ static int vgetorpeek(int advance)
|| ((compl_cont_status & CONT_LOCAL)
&& (c1 == Ctrl_N || c1 == Ctrl_P)))
) {
- if (c1 == K_SPECIAL)
+ if (c1 == K_SPECIAL) {
nolmaplen = 2;
- else {
- LANGMAP_ADJUST(c1, (State & (CMDLINE | INSERT)) == 0);
+ } else {
+ LANGMAP_ADJUST(c1, (State & (CMDLINE | INSERT)) == 0
+ && get_real_state() != SELECTMODE);
nolmaplen = 0;
}
/* First try buffer-local mappings. */
diff --git a/src/nvim/normal.c b/src/nvim/normal.c
index cc604352e1..d4055ac1ef 100644
--- a/src/nvim/normal.c
+++ b/src/nvim/normal.c
@@ -974,7 +974,7 @@ static int normal_execute(VimState *state, int key)
s->old_col = curwin->w_curswant;
s->c = key;
- LANGMAP_ADJUST(s->c, true);
+ LANGMAP_ADJUST(s->c, get_real_state() != SELECTMODE);
// If a mapping was started in Visual or Select mode, remember the length
// of the mapping. This is used below to not return to Insert mode for as
diff --git a/src/nvim/po/eo.po b/src/nvim/po/eo.po
index 5b0cb2260b..6bc76506ae 100644
--- a/src/nvim/po/eo.po
+++ b/src/nvim/po/eo.po
@@ -23,8 +23,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Vim(Esperanto)\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2015-07-30 17:54+0200\n"
-"PO-Revision-Date: 2015-07-30 18:00+0200\n"
+"POT-Creation-Date: 2016-02-13 23:42+0100\n"
+"PO-Revision-Date: 2016-02-13 23:45+0100\n"
"Last-Translator: Dominique PELLÉ <dominique.pelle@gmail.com>\n"
"Language-Team: \n"
"Language: eo\n"
@@ -504,10 +504,6 @@ msgstr "E686: Argumento de %s devas esti Listo"
msgid "E712: Argument of %s must be a List or Dictionary"
msgstr "E712: Argumento de %s devas esti Listo aŭ Vortaro"
-#: ../eval.c:144
-msgid "E713: Cannot use empty key for Dictionary"
-msgstr "E713: Ne eblas uzi malplenan ŝlosilon de Vortaro"
-
#: ../eval.c:145
msgid "E714: List required"
msgstr "E714: Listo bezonata"
@@ -657,6 +653,9 @@ msgstr "E110: Mankas ')'"
msgid "E695: Cannot index a Funcref"
msgstr "E695: Ne eblas indeksi Funcref"
+msgid "E909: Cannot index a special variable"
+msgstr "E909: Ne eblas indeksi specialan variablon"
+
#: ../eval.c:4839
#, c-format
msgid "E112: Option name missing: %s"
@@ -689,7 +688,7 @@ msgstr "E697: Mankas fino de Listo ']': %s"
#: ../eval.c:5750
msgid "Not enough memory to set references, garbage collection aborted!"
-msgstr "Ne sufiĉa memory por valorigi referencojn, senrubigado ĉesigita!"
+msgstr "Ne sufiĉa memoro por valorigi referencojn, senrubigado ĉesigita!"
#: ../eval.c:6475
#, c-format
@@ -874,6 +873,18 @@ msgstr "E745: Uzo de Listo kiel Nombro"
msgid "E728: Using a Dictionary as a Number"
msgstr "E728: Uzo de Vortaro kiel Nombro"
+msgid "E891: Using a Funcref as a Float"
+msgstr "E891: Uzo de Funcref kiel Glitpunktnombro"
+
+msgid "E892: Using a String as a Float"
+msgstr "E892: Uzo de Ĉeno kiel Glitpunktnombro"
+
+msgid "E893: Using a List as a Float"
+msgstr "E893: Uzo de Listo kiel Glitpunktnombro"
+
+msgid "E894: Using a Dictionary as a Float"
+msgstr "E894: Uzo de Vortaro kiel Glitpunktnombro"
+
#: ../eval.c:16259
msgid "E729: using Funcref as a String"
msgstr "E729: uzo de Funcref kiel Ĉeno"
@@ -886,6 +897,9 @@ msgstr "E730: uzo de Listo kiel Ĉeno"
msgid "E731: using Dictionary as a String"
msgstr "E731: uzo de Vortaro kiel Ĉeno"
+msgid "E908: using an invalid value as a String"
+msgstr "E908: uzo de nevalida valoro kiel Ĉeno"
+
#: ../eval.c:16619
#, c-format
msgid "E706: Variable type mismatch for: %s"
@@ -1391,6 +1405,13 @@ msgstr "linio %<PRId64>: %s"
msgid "cmd: %s"
msgstr "kmd: %s"
+msgid "frame is zero"
+msgstr "kadro estas nul"
+
+#, c-format
+msgid "frame at highest level: %d"
+msgstr "kadro je la plej alta nivelo: %d"
+
#: ../ex_cmds2.c:322
#, c-format
msgid "Breakpoint in \"%s%s\" line %<PRId64>"
@@ -2861,6 +2882,9 @@ msgstr "E46: Ne eblas ŝanĝi nurlegeblan variablon \"%s\""
msgid "E794: Cannot set variable in the sandbox: \"%s\""
msgstr "E794: Ne eblas agordi variablon en la sabloludejo: \"%s\""
+msgid "E713: Cannot use empty key for Dictionary"
+msgstr "E713: Ne eblas uzi malplenan ŝlosilon de Vortaro"
+
#: ../globals.h:1076
msgid "E47: Error while reading errorfile"
msgstr "E47: Eraro dum legado de erardosiero"
@@ -4090,12 +4114,12 @@ msgid ""
"\n"
"(1) Another program may be editing the same file. If this is the case,\n"
" be careful not to end up with two different instances of the same\n"
-" file when making changes."
+" file when making changes. Quit, or continue with caution.\n"
msgstr ""
"\n"
-"(1) Alia programo eble redaktas la saman dosieron.\n"
-" Se jes, estu singarda por ne havi du malsamajn\n"
-" aperojn de la sama dosiero, kiam vi faros ŝanĝojn."
+"(1) Alia programo eble redaktas la saman dosieron. Se jes, estu singarda\n"
+" por ne havi du malsamajn aperojn de la sama dosiero, kiam vi faros\n"
+" ŝanĝojn. Eliru aŭ daŭrigu singarde.\n"
#: ../memline.c:3245
msgid " Quit, or continue with caution.\n"
@@ -4792,6 +4816,15 @@ msgstr ""
"\n"
"Ne povis ŝalti kuntekston de sekureco por "
+#, c-format
+msgid "Could not set security context %s for %s"
+msgstr "Ne povis ŝalti kuntekston de sekureco %s por %s"
+
+#, c-format
+msgid "Could not get security context %s for %s. Removing it!"
+msgstr ""
+"Ne povis akiri kuntekston de sekureco %s por %s. Gi nun estas forigata!"
+
#: ../os_unix.c:1558 ../os_unix.c:1647
#, c-format
msgid "dlerror = \"%s\""
@@ -5717,6 +5750,9 @@ msgstr "Neniu sintaksa elemento difinita por tiu bufro"
msgid "E390: Illegal argument: %s"
msgstr "E390: Nevalida argumento: %s"
+msgid "syntax iskeyword "
+msgstr "sintakso iskeyword "
+
#: ../syntax.c:3299
#, c-format
msgid "E391: No such syntax cluster: %s"
@@ -5813,6 +5849,10 @@ msgstr "E847: Tro da sintaksaj inkluzivoj"
msgid "E789: Missing ']': %s"
msgstr "E789: Mankas ']': %s"
+#, c-format
+msgid "E890: trailing char after ']': %s]%s"
+msgstr "E890: vosta signo post ']': %s]%s"
+
#: ../syntax.c:4531
#, c-format
msgid "E398: Missing '=': %s"
diff --git a/src/nvim/po/it.po b/src/nvim/po/it.po
index 171e155689..084102da60 100644
--- a/src/nvim/po/it.po
+++ b/src/nvim/po/it.po
@@ -13,13 +13,13 @@ msgid ""
msgstr ""
"Project-Id-Version: vim 7.4\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2015-08-11 20:58+0200\n"
-"PO-Revision-Date: 2015-08-11 22:02+0200\n"
-"Last-Translator: Vlad Sandrini <vlad.gently@gmail.com>\n"
-"Language-Team: Italian Antonio Colombo <azc100@gmail."
-"com> Vlad Sandrini <vlad.gently@gmail."
-"com> Luciano Montanaro <mikelima@cirulla.net>\n"
-"Language: \n"
+"POT-Creation-Date: 2016-02-11 12:10+0100\n"
+"PO-Revision-Date: 2016-02-11 14:42+0200\n"
+"Last-Translator: Antonio Colombo <azc100@gmail.com>\n"
+"Language-Team: Antonio Colombo <azc100@gmail.com>"
+" Vlad Sandrini <vlad.gently@gmail.com"
+" Luciano Montanaro <mikelima@cirulla.net>\n"
+"Language: Italian\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ISO_8859-1\n"
"Content-Transfer-Encoding: 8-bit\n"
@@ -491,10 +491,6 @@ msgstr "E686: L'argomento di %s deve essere una Lista"
msgid "E712: Argument of %s must be a List or Dictionary"
msgstr "E712: L'argomento di %s deve essere una Lista o un Dizionario"
-#: ../eval.c:144
-msgid "E713: Cannot use empty key for Dictionary"
-msgstr "E713: Non posso usare una chiave nulla per il Dizionario"
-
#: ../eval.c:145
msgid "E714: List required"
msgstr "E714: necessaria una Lista"
@@ -548,7 +544,7 @@ msgstr "E461: Nome di variabile non ammesso: %s"
# nuovo
#: ../eval.c:157
msgid "E806: using Float as a String"
-msgstr "E806: uso di un numero con virgola come stringa"
+msgstr "E806: uso di un Numero-a-virgola-mobile come Stringa"
#: ../eval.c:1830
msgid "E687: Less targets than List items"
@@ -635,7 +631,7 @@ msgstr "E694: Operazione non valida per Funcref"
#: ../eval.c:4277
msgid "E804: Cannot use '%' with Float"
-msgstr "E804: Non si pu usare '%' con un numero con virgola"
+msgstr "E804: Non si pu usare '%' con un Numero-a-virgola-mobile"
#: ../eval.c:4478
msgid "E110: Missing ')'"
@@ -645,6 +641,9 @@ msgstr "E110: Manca ')'"
msgid "E695: Cannot index a Funcref"
msgstr "E695: Non posso indicizzare un Funcref"
+msgid "E909: Cannot index a special variable"
+msgstr "E909: Non posso indicizzare una variabile speciale"
+
#: ../eval.c:4839
#, c-format
msgid "E112: Option name missing: %s"
@@ -736,7 +735,7 @@ msgstr "E725: Chiamata di funzione dict in assenza di Dizionario: %s"
#: ../eval.c:7453
msgid "E808: Number or Float required"
-msgstr "E808: Ci vuole un numero intero o con virgola"
+msgstr "E808: Ci vuole un Numero o un Numero-a-virgola-mobile"
#: ../eval.c:7503
msgid "add() argument"
@@ -847,7 +846,7 @@ msgstr "E677: Errore in scrittura su file temporaneo"
#: ../eval.c:16159
msgid "E805: Using a Float as a Number"
-msgstr "E805: Uso di un numero con virgola come intero"
+msgstr "E805: Uso di un Numero-a-virgola-mobile come Numero"
#: ../eval.c:16162
msgid "E703: Using a Funcref as a Number"
@@ -861,6 +860,18 @@ msgstr "E745: Uso di Lista come Numero"
msgid "E728: Using a Dictionary as a Number"
msgstr "E728: Uso di Dizionario come Numero"
+msgid "E891: Using a Funcref as a Float"
+msgstr "E891: Uso di Funcref come Numero-a-virgola-mobile"
+
+msgid "E892: Using a String as a Float"
+msgstr "E892: Uso di Stringa come Numero-a-virgola-mobile"
+
+msgid "E893: Using a List as a Float"
+msgstr "E893: Uso di Lista come Numero-a-virgola-mobile"
+
+msgid "E894: Using a Dictionary as a Float"
+msgstr "E894: Uso di Dizionario come Numero-a-virgola-mobile"
+
#: ../eval.c:16259
msgid "E729: using Funcref as a String"
msgstr "E729: uso di Funcref come Stringa"
@@ -873,6 +884,10 @@ msgstr "E730: uso di Lista come Stringa"
msgid "E731: using Dictionary as a String"
msgstr "E731: uso di Dizionario come Stringa"
+# nuovo
+msgid "E908: using an invalid value as a String"
+msgstr "E908: uso di un valore non valido come Stringa"
+
#: ../eval.c:16619
#, c-format
msgid "E706: Variable type mismatch for: %s"
@@ -960,12 +975,14 @@ msgid "E129: Function name required"
msgstr "E129: Nome funzione necessario"
#: ../eval.c:17824
+#, c-format
msgid "E128: Function name must start with a capital or \"s:\": %s"
-msgstr "E128: Il nome funzione deve iniziare con una maiuscola o \"s:\": %s"
+msgstr "E128: Il nome funzione deve iniziare con maiuscola o \"s:\": %s"
#: ../eval.c:17833
+#, c-format
msgid "E884: Function name cannot contain a colon: %s"
-msgstr "E884: Il nome funzione non pu contenere una virgola: %s"
+msgstr "E884: Il nome della funzione non pu contenere un due punti: %s"
#: ../eval.c:18336
#, c-format
@@ -1382,6 +1399,13 @@ msgstr "riga %<PRId64>: %s"
msgid "cmd: %s"
msgstr "com: %s"
+msgid "frame is zero"
+msgstr "al livello zero"
+
+#, c-format
+msgid "frame at highest level: %d"
+msgstr "al livello pi alto: %d"
+
#: ../ex_cmds2.c:322
#, c-format
msgid "Breakpoint in \"%s%s\" line %<PRId64>"
@@ -1422,8 +1446,7 @@ msgstr "E162: Buffer \"%s\" non salvato dopo modifica"
#: ../ex_cmds2.c:1480
msgid "Warning: Entered other buffer unexpectedly (check autocommands)"
msgstr ""
-"Avviso: Entrato in altro buffer inaspettatamente (controllare "
-"autocomandi)"
+"Avviso: Entrato in altro buffer inaspettatamente (controllare autocomandi)"
#: ../ex_cmds2.c:1826
msgid "E163: There is only one file to edit"
@@ -2301,19 +2324,19 @@ msgstr "[in formato DOS]"
#: ../fileio.c:3801
msgid "[mac]"
-msgstr "[MAC]"
+msgstr "[Mac]"
#: ../fileio.c:3801
msgid "[mac format]"
-msgstr "[in formato MAC]"
+msgstr "[in formato Mac]"
#: ../fileio.c:3807
msgid "[unix]"
-msgstr "[UNIX]"
+msgstr "[Unix]"
#: ../fileio.c:3807
msgid "[unix format]"
-msgstr "[in formato UNIX]"
+msgstr "[in formato Unix]"
#: ../fileio.c:3831
msgid "1 line, "
@@ -2864,6 +2887,9 @@ msgstr "E46: Non posso cambiare la variabile read-only \"%s\""
msgid "E794: Cannot set variable in the sandbox: \"%s\""
msgstr "E794: Non posso impostare la variabile read-only in ambiente protetto: \"%s\""
+msgid "E713: Cannot use empty key for Dictionary"
+msgstr "E713: Non posso usare una chiave nulla per il Dizionario"
+
#: ../globals.h:1076
msgid "E47: Error while reading errorfile"
msgstr "E47: Errore leggendo il file errori"
@@ -4087,12 +4113,12 @@ msgid ""
"\n"
"(1) Another program may be editing the same file. If this is the case,\n"
" be careful not to end up with two different instances of the same\n"
-" file when making changes."
+" file when making changes. Quit, or continue with caution.\n"
msgstr ""
"\n"
-"(1) Un altro programma pu essere in edit sullo stesso file.\n"
-" Se cos, attenzione a non trovarti con due versioni\n"
-" differenti dello stesso file a cui vengono apportate modifiche."
+"(1) Un altro programma pu essere in edit sullo stesso file. Se cos,\n"
+" attenzione a non finire con due sessioni differenti che modificano lo\n"
+" stesso file. Uscire da Vim, o continuare con cautela.\n"
#: ../memline.c:3245
msgid " Quit, or continue with caution.\n"
@@ -4335,7 +4361,7 @@ msgstr "E766: Argomenti non sufficienti per printf()"
#: ../message.c:3119
msgid "E807: Expected Float argument for printf()"
-msgstr "E807: Numero con virgola atteso come argomento per printf()"
+msgstr "E807: Numero-a-virgola-mobile atteso come argomento per printf()"
#: ../message.c:3873
msgid "E767: Too many arguments to printf()"
@@ -4526,7 +4552,8 @@ msgstr "E574: Tipo di registro sconosciuto: %d"
msgid ""
"E883: search pattern and expression register may not contain two or more "
"lines"
-msgstr "E883: espressione di ricerca e registro dell'espressione non possono "
+msgstr ""
+"E883: espressione di ricerca e registro dell'espressione non possono "
"contenere due o pi righe"
#: ../ops.c:5089
@@ -4794,6 +4821,14 @@ msgstr ""
"\n"
"Non posso impostare il contesto di sicurezza per "
+#, c-format
+msgid "Could not set security context %s for %s"
+msgstr "Non posso impostare il contesto di sicurezza %s per %s"
+
+#, c-format
+msgid "Could not get security context %s for %s. Removing it!"
+msgstr "Non posso ottenere il contesto di sicurezza %s per %s. Lo rimuovo!"
+
#: ../os_unix.c:1558 ../os_unix.c:1647
#, c-format
msgid "dlerror = \"%s\""
@@ -4890,6 +4925,7 @@ msgid "E777: String or List expected"
msgstr "E777: aspettavo Stringa o Lista"
#: ../regexp.c:359
+#, c-format
msgid "E369: invalid item in %s%%[]"
msgstr "E369: elemento non valido in %s%%[]"
@@ -5005,6 +5041,7 @@ msgid "External submatches:\n"
msgstr "Sotto-corrispondenze esterne:\n"
#: ../regexp.c:2470
+#, c-format
msgid "E888: (NFA regexp) cannot repeat %s"
msgstr "E888: (NFA regexp) non riesco a ripetere %s"
@@ -5399,8 +5436,7 @@ msgstr "Valore errato per CHECKCOMPOUNDPATTERN in %s riga %d: %s"
#: ../spell.c:4847
#, c-format
msgid "Different combining flag in continued affix block in %s line %d: %s"
-msgstr ""
-"Flag combinazione diverso in blocco affissi continuo in %s riga %d: %s"
+msgstr "Flag combinazione diverso in blocco affissi continuo in %s riga %d: %s"
#: ../spell.c:4850
#, c-format
@@ -5639,10 +5675,12 @@ msgid "E765: 'spellfile' does not have %<PRId64> entries"
msgstr "E765: 'spellfile' non ha %<PRId64> elementi"
#: ../spell.c:8074
+#, c-format
msgid "Word '%.*s' removed from %s"
msgstr "Parola '%.*s' rimossa da %s"
#: ../spell.c:8117
+#, c-format
msgid "Word '%.*s' added to %s"
msgstr "Parola '%.*s' aggiunta a %s"
@@ -5720,6 +5758,9 @@ msgstr "Nessun elemento sintattico definito per questo buffer"
msgid "E390: Illegal argument: %s"
msgstr "E390: Argomento non ammesso: %s"
+msgid "syntax iskeyword "
+msgstr "syntax iskeyword "
+
#: ../syntax.c:3299
#, c-format
msgid "E391: No such syntax cluster: %s"
@@ -5816,6 +5857,9 @@ msgstr "E847: Troppe inclusioni di sintassi"
msgid "E789: Missing ']': %s"
msgstr "E789: Manca ']': %s"
+msgid "E890: trailing char after ']': %s]%s"
+msgstr "E890: Caratteri in pi dopo ']': %s]%s"
+
#: ../syntax.c:4531
#, c-format
msgid "E398: Missing '=': %s"
diff --git a/src/nvim/po/ja.euc-jp.po b/src/nvim/po/ja.euc-jp.po
index d3061d3c5a..85042e3506 100644
--- a/src/nvim/po/ja.euc-jp.po
+++ b/src/nvim/po/ja.euc-jp.po
@@ -1,11 +1,11 @@
-# Japanese translation for Vim vim:set foldmethod=marker:
+# Japanese translation for Vim
#
# Do ":help uganda" in Vim to read copying and usage conditions.
# Do ":help credits" in Vim to see a list of people who contributed.
#
-# Last Change: 2013 Jul 06
+# Copyright (C) 2001-2016 MURAOKA Taro <koron.kaoriya@gmail.com>,
+# vim-jp (http://vim-jp.org/)
#
-# Copyright (C) 2001-13 MURAOKA Taro <koron.kaoriya@gmail.com>
# THIS FILE IS DISTRIBUTED UNDER THE VIM LICENSE.
#
# Generated from ja.po, DO NOT EDIT.
@@ -14,10 +14,10 @@ msgid ""
msgstr ""
"Project-Id-Version: Vim 7.4\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-05-26 14:21+0200\n"
-"PO-Revision-Date: 2013-07-06 15:00+0900\n"
+"POT-Creation-Date: 2016-02-01 09:02+0900\n"
+"PO-Revision-Date: 2016-02-01 09:08+0900\n"
"Last-Translator: MURAOKA Taro <koron.kaoriya@gmail.com>\n"
-"Language-Team: MURAOKA Taro <koron.kaoriya@gmail.com>\n"
+"Language-Team: vim-jp (https://github.com/vim-jp/lang-ja)\n"
"Language: Japanese\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=euc-jp\n"
@@ -34,7 +34,7 @@ msgstr "顼: ̤ΤΥץ󷿤Ǥ"
#: ../buffer.c:92
msgid "[Location List]"
-msgstr "[ꥹ]"
+msgstr "[ꥹ]"
#: ../buffer.c:93
msgid "[Quickfix List]"
@@ -277,7 +277,7 @@ msgstr "E810: եɹ⤷ϽǤޤ"
#: ../diff.c:755
msgid "E97: Cannot create diffs"
-msgstr "E97: ʬǤޤ "
+msgstr "E97: ʬǤޤ"
#: ../diff.c:966
msgid "E816: Cannot read patch output"
@@ -293,7 +293,7 @@ msgstr "E99: ߤΥХåեϺʬ⡼ɤǤϤޤ"
#: ../diff.c:2100
msgid "E793: No other buffer in diff mode is modifiable"
-msgstr "E793: ʬ⡼ɤǤ¾ΥХåեѹǽǤ"
+msgstr "E793: ʬ⡼ɤǤ¾ΥХåեѹǤޤ"
#: ../diff.c:2102
msgid "E100: No other buffer in diff mode"
@@ -349,7 +349,7 @@ msgstr " ()䴰 (^L^N^P)"
#: ../edit.c:86
msgid " File name completion (^F^N^P)"
-msgstr "ե̾䴰 (^F^N^P)"
+msgstr " ե̾䴰 (^F^N^P)"
#: ../edit.c:87
msgid " Tag completion (^]^N^P)"
@@ -377,7 +377,7 @@ msgstr " ޥɥ饤䴰 (^V^N^P)"
#: ../edit.c:94
msgid " User defined completion (^U^N^P)"
-msgstr " 桼䴰 (^U^N^P)"
+msgstr " 桼䴰 (^U^N^P)"
#: ../edit.c:95
msgid " Omni completion (^O^N^P)"
@@ -679,6 +679,11 @@ msgstr "E696: ꥹȷ˥ޤޤ: %s"
msgid "E697: Missing end of List ']': %s"
msgstr "E697: ꥹȷκǸ ']' ޤ: %s"
+#: ../eval.c:5807
+msgid "Not enough memory to set references, garbage collection aborted!"
+msgstr ""
+"٥å쥯ߤޤ! ȤΤ˥꤬­ޤ"
+
#: ../eval.c:6475
#, c-format
msgid "E720: Missing colon in Dictionary: %s"
@@ -721,7 +726,7 @@ msgstr "E117: ̤ΤδؿǤ: %s"
#: ../eval.c:7383
#, c-format
msgid "E119: Not enough arguments for function: %s"
-msgstr "E119: ؿΰʲ᤮ޤ: %s"
+msgstr "E119: ؿΰ­ޤ: %s"
#: ../eval.c:7387
#, c-format
@@ -826,18 +831,16 @@ msgid "sort() argument"
msgstr "sort() ΰ"
#: ../eval.c:13721
-#, fuzzy
msgid "uniq() argument"
-msgstr "add() ΰ"
+msgstr "uniq() ΰ"
#: ../eval.c:13776
msgid "E702: Sort compare function failed"
msgstr "E702: ȤӴؿԤޤ"
#: ../eval.c:13806
-#, fuzzy
msgid "E882: Uniq compare function failed"
-msgstr "E702: ȤӴؿԤޤ"
+msgstr "E882: Uniq ӴؿԤޤ"
#: ../eval.c:14085
msgid "(Invalid)"
@@ -863,6 +866,18 @@ msgstr "E745: ꥹȷͤȤưäƤޤ"
msgid "E728: Using a Dictionary as a Number"
msgstr "E728: 񷿤ͤȤưäƤޤ"
+msgid "E891: Using a Funcref as a Float"
+msgstr "E891: ؿȷưȤưäƤޤ"
+
+msgid "E892: Using a String as a Float"
+msgstr "E892: ʸưȤưäƤޤ"
+
+msgid "E893: Using a List as a Float"
+msgstr "E893: ꥹȷưȤưäƤޤ"
+
+msgid "E894: Using a Dictionary as a Float"
+msgstr "E894: 񷿤ưȤưäƤޤ"
+
#: ../eval.c:16259
msgid "E729: using Funcref as a String"
msgstr "E729: ؿȷʸȤưäƤޤ"
@@ -961,14 +976,14 @@ msgid "E129: Function name required"
msgstr "E129: ؿ̾׵ᤵޤ"
#: ../eval.c:17824
-#, fuzzy, c-format
+#, c-format
msgid "E128: Function name must start with a capital or \"s:\": %s"
-msgstr "E128: ؿ̾ʸǻϤޤ뤫ޤޤʤФʤޤ: %s"
+msgstr "E128: ؿ̾ʸ \"s:\" ǻϤޤʤФʤޤ: %s"
#: ../eval.c:17833
-#, fuzzy, c-format
+#, c-format
msgid "E884: Function name cannot contain a colon: %s"
-msgstr "E128: ؿ̾ʸǻϤޤ뤫ޤޤʤФʤޤ: %s"
+msgstr "E884: ؿ̾ˤϥϴޤޤ: %s"
#: ../eval.c:18336
#, c-format
@@ -1081,7 +1096,7 @@ msgstr "E136: viminfo: 顼¿᤮Τ, ʹߤϥåפޤ"
#: ../ex_cmds.c:1458
#, c-format
msgid "Reading viminfo file \"%s\"%s%s%s"
-msgstr "viminfoե \"%s\"%s%s%s ɹ "
+msgstr "viminfoե \"%s\"%s%s%s ɹ"
#: ../ex_cmds.c:1460
msgid " info"
@@ -1357,6 +1372,10 @@ msgstr "E158: ̵ʥХåե̾Ǥ: %s"
msgid "E157: Invalid sign ID: %<PRId64>"
msgstr "E157: ̵sign̻ҤǤ: %<PRId64>"
+#, c-format
+msgid "E885: Not possible to change sign %s"
+msgstr "E885: ѹǤʤ sign Ǥ: %s"
+
#: ../ex_cmds.c:6066
msgid " (not supported)"
msgstr " (󥵥ݡ)"
@@ -1379,6 +1398,13 @@ msgstr " %<PRId64>: %s"
msgid "cmd: %s"
msgstr "ޥ: %s"
+msgid "frame is zero"
+msgstr "ե졼ब 0 Ǥ"
+
+#, c-format
+msgid "frame at highest level: %d"
+msgstr "ǹ٥Υե졼: %d"
+
#: ../ex_cmds2.c:322
#, c-format
msgid "Breakpoint in \"%s%s\" line %<PRId64>"
@@ -1528,7 +1554,8 @@ msgstr "E197: \"%s\" Ǥޤ"
#. don't wait for return
#: ../ex_docmd.c:387
msgid "Entering Ex mode. Type \"visual\" to go to Normal mode."
-msgstr "Ex⡼ɤޤ. Ρޥˤ\"visual\"ϤƤ."
+msgstr ""
+"Ex⡼ɤޤ. Ρޥ⡼ɤˤ\"visual\"ϤƤ."
#: ../ex_docmd.c:428
msgid "E501: At end-of-file"
@@ -1553,7 +1580,7 @@ msgstr "ؿκǸǤ"
#: ../ex_docmd.c:1628
msgid "E464: Ambiguous use of user-defined command"
-msgstr "E464: 桼ޥɤΤޤʻѤǤ"
+msgstr "E464: 桼ޥɤΤޤʻѤǤ"
#: ../ex_docmd.c:1638
msgid "E492: Not an editor command"
@@ -1606,14 +1633,14 @@ msgstr "E174: ޥɤˤޤ: ˤ ! ɲäƤ"
#: ../ex_docmd.c:4432
msgid ""
"\n"
-" Name Args Range Complete Definition"
+" Name Args Address Complete Definition"
msgstr ""
"\n"
-" ̾ ϰ 䴰 "
+" ̾ ɥ쥹 䴰 "
#: ../ex_docmd.c:4516
msgid "No user-defined commands found"
-msgstr "桼ޥɤĤޤǤ"
+msgstr "桼ޥɤĤޤǤ"
#: ../ex_docmd.c:4538
msgid "E175: No attribute specified"
@@ -1633,7 +1660,10 @@ msgstr "E178: Ȥξά̵ͤǤ"
#: ../ex_docmd.c:4625
msgid "E179: argument required for -complete"
-msgstr "E179: -䴰ΤΰɬפǤ"
+msgstr "E179: -complete ˤϰɬפǤ"
+
+msgid "E179: argument required for -addr"
+msgstr "E179: -addr ˤϰɬפǤ"
#: ../ex_docmd.c:4635
#, c-format
@@ -1650,12 +1680,16 @@ msgstr "E183: 桼ޥɤϱʸǻϤޤʤФʤޤ"
#: ../ex_docmd.c:4696
msgid "E841: Reserved name, cannot be used for user defined command"
-msgstr "E841: ͽ̾ʤΤ, 桼ޥɤѤǤޤ"
+msgstr "E841: ͽ̾ʤΤ, 桼ޥɤѤǤޤ"
#: ../ex_docmd.c:4751
#, c-format
msgid "E184: No such user-defined command: %s"
-msgstr "E184: Υ桼ޥɤϤޤ: %s"
+msgstr "E184: Υ桼ޥɤϤޤ: %s"
+
+#, c-format
+msgid "E180: Invalid address type value: %s"
+msgstr "E180: ̵ʥɥ쥹ͤǤ: %s"
#: ../ex_docmd.c:5219
#, c-format
@@ -2019,11 +2053,11 @@ msgstr "ʥե̾"
#: ../fileio.c:395 ../fileio.c:476 ../fileio.c:2543 ../fileio.c:2578
msgid "is a directory"
-msgstr " ϥǥ쥯ȥǤ"
+msgstr "ϥǥ쥯ȥǤ"
#: ../fileio.c:397
msgid "is not a file"
-msgstr " ϥեǤϤޤ"
+msgstr "ϥեǤϤޤ"
#: ../fileio.c:508 ../fileio.c:3522
msgid "[New File]"
@@ -2039,7 +2073,7 @@ msgstr "[ե]"
#: ../fileio.c:534
msgid "[Permission Denied]"
-msgstr "[ǧĤޤ]"
+msgstr "[¤ޤ]"
#: ../fileio.c:653
msgid "E200: *ReadPre autocommands made the file unreadable"
@@ -2210,7 +2244,7 @@ msgstr " Ѵ顼"
#: ../fileio.c:3509
#, c-format
msgid " in line %<PRId64>;"
-msgstr " %<PRId64>;"
+msgstr " %<PRId64>;"
#: ../fileio.c:3519
msgid "[Device]"
@@ -2766,9 +2800,8 @@ msgid "E37: No write since last change (add ! to override)"
msgstr "E37: Ǹѹ¸Ƥޤ (! ɲäѹ˴)"
#: ../globals.h:1055
-#, fuzzy
msgid "E37: No write since last change"
-msgstr "[Ǹѹ¸Ƥޤ]\n"
+msgstr "E37: Ǹѹ¸Ƥޤ"
#: ../globals.h:1056
msgid "E38: Null argument"
@@ -2810,7 +2843,7 @@ msgstr "E42: 顼Ϥޤ"
#: ../globals.h:1067
msgid "E776: No location list"
-msgstr "E776: ꥹȤϤޤ"
+msgstr "E776: ꥹȤϤޤ"
#: ../globals.h:1068
msgid "E43: Damaged match string"
@@ -3831,7 +3864,7 @@ msgid ""
"\n"
msgstr ""
"\n"
-"줫.swpեƤ\n"
+".swpեϺƤ⹽ޤ\n"
"\n"
#. use msg() to start the scrolling properly
@@ -3845,7 +3878,7 @@ msgstr " ߤΥǥ쥯ȥ:\n"
#: ../memline.c:1448
msgid " Using specified name:\n"
-msgstr " ̾:\n"
+msgstr " ʲ̾:\n"
#: ../memline.c:1450
msgid " In directory "
@@ -3901,7 +3934,7 @@ msgid ""
" user name: "
msgstr ""
"\n"
-" 桼̾: "
+" 桼̾: "
#: ../memline.c:1568
msgid " host name: "
@@ -4050,12 +4083,12 @@ msgid ""
msgstr ""
"\n"
"(1) ̤ΥץबƱեԽƤ뤫⤷ޤ.\n"
-" ξˤ, ѹ򤷤ݤ˺ǽŪ, Ʊեΰۤʤ\n"
-" 2ĤΥ󥹥󥹤ǤƤޤȤդƤ."
+" ξˤ, ѹ򤷤Ƥޤ1ĤΥեФưۤʤ2Ĥ\n"
+" 󥹥󥹤ǤƤޤΤ, ʤ褦˵ĤƤ."
#: ../memline.c:3245
msgid " Quit, or continue with caution.\n"
-msgstr " λ뤫, դʤ³Ƥ.\n"
+msgstr " λ뤫, դʤ³Ƥ.\n"
#: ../memline.c:3246
msgid "(2) An edit session for this file crashed.\n"
@@ -4479,6 +4512,11 @@ msgstr ""
msgid "E574: Unknown register type %d"
msgstr "E574: ̤ΤΥ쥸 %d Ǥ"
+msgid ""
+"E883: search pattern and expression register may not contain two or more "
+"lines"
+msgstr "E883: ѥȼ쥸ˤ2԰ʾޤޤ"
+
#: ../ops.c:5089
#, c-format
msgid "%<PRId64> Cols; "
@@ -4563,6 +4601,10 @@ msgstr "E522: termcap ˸Ĥޤ"
msgid "E539: Illegal character <%s>"
msgstr "E539: ʸǤ <%s>"
+#, c-format
+msgid "For option %s"
+msgstr "ץ: %s"
+
#: ../option.c:3862
msgid "E529: Cannot set 'term' to empty string"
msgstr "E529: 'term' ˤ϶ʸǤޤ"
@@ -4740,6 +4782,14 @@ msgstr ""
"\n"
"ƥƥȤǤޤ "
+#, c-format
+msgid "Could not set security context %s for %s"
+msgstr "ƥƥ %s %s Ǥޤ"
+
+#, c-format
+msgid "Could not get security context %s for %s. Removing it!"
+msgstr "ƥƥ %s %s Ǥޤ. ޤ!"
+
#: ../os_unix.c:1558 ../os_unix.c:1647
#, c-format
msgid "dlerror = \"%s\""
@@ -4960,6 +5010,10 @@ msgstr "E554: %s{...} ʸˡ顼ޤ"
msgid "External submatches:\n"
msgstr "ʬ:\n"
+#, c-format
+msgid "E888: (NFA regexp) cannot repeat %s"
+msgstr "E888: (NFA ɽ) ֤ޤ %s"
+
#: ../regexp.c:7022
msgid ""
"E864: \\%#= can only be followed by 0, 1, or 2. The automatic engine will be "
@@ -4968,6 +5022,9 @@ msgstr ""
"E864: \\%#= ˤ 0, 1 ⤷ 2 Τߤ³ޤɽ󥸥ϼư"
"򤵤ޤ"
+msgid "Switching to backtracking RE engine for pattern: "
+msgstr "Υѥ˥Хåȥå RE 󥸥ŬѤޤ: "
+
#: ../regexp_nfa.c:239
msgid "E865: (NFA) Regexp end encountered prematurely"
msgstr "E865: (NFA) Ԥ᤯ɽνüãޤ"
@@ -4980,7 +5037,7 @@ msgstr "E866: (NFA ɽ) ֤äƤޤ: %c"
#: ../regexp_nfa.c:242
#, c-format
msgid "E877: (NFA regexp) Invalid character class: %<PRId64>"
-msgstr ""
+msgstr "E877: (NFA ɽ) ̵ʸ饹: %<PRId64>"
#: ../regexp_nfa.c:1261
#, c-format
@@ -5590,14 +5647,14 @@ msgid "E765: 'spellfile' does not have %<PRId64> entries"
msgstr "E765: 'spellfile' ˤ %<PRId64> ĤΥȥϤޤ"
#: ../spell.c:8074
-#, fuzzy, c-format
+#, c-format
msgid "Word '%.*s' removed from %s"
-msgstr "%s ñ줬ޤ"
+msgstr "ñ '%.*s' %s ޤ"
#: ../spell.c:8117
-#, fuzzy, c-format
+#, c-format
msgid "Word '%.*s' added to %s"
-msgstr "%s ñ줬ɲäޤ"
+msgstr "ñ '%.*s' %s ɲäޤ"
#: ../spell.c:8381
msgid "E763: Word characters differ between spell files"
@@ -5673,6 +5730,9 @@ msgstr "ΥХåե줿ʸǤϤޤ"
msgid "E390: Illegal argument: %s"
msgstr "E390: ʰǤ: %s"
+msgid "syntax iskeyword "
+msgstr "󥿥å iskeyword "
+
#: ../syntax.c:3299
#, c-format
msgid "E391: No such syntax cluster: %s"
@@ -5769,6 +5829,10 @@ msgstr "E847: ʸμ(include)¿᤮ޤ"
msgid "E789: Missing ']': %s"
msgstr "E789: ']' ޤ: %s"
+#, c-format
+msgid "E890: trailing char after ']': %s]%s"
+msgstr "E890: ']' θ;ʬʸޤ: %s]%s"
+
#: ../syntax.c:4531
#, c-format
msgid "E398: Missing '=': %s"
@@ -5874,7 +5938,7 @@ msgstr "E415: ͽǤ: %s"
#: ../syntax.c:6395
#, c-format
msgid "E416: missing equal sign: %s"
-msgstr "E416: 椬ޤ: %s"
+msgstr "E416: 椬ޤ: %s"
#: ../syntax.c:6418
#, c-format
@@ -6078,9 +6142,8 @@ msgstr "Vim: ϤɹΥ顼ˤ꽪λޤ...\n"
#. This happens when the FileChangedRO autocommand changes the
#. * file in a way it becomes shorter.
#: ../undo.c:379
-#, fuzzy
msgid "E881: Line count changed unexpectedly"
-msgstr "E834: ͽԥȤѤޤ"
+msgstr "E881: ͽԥȤѤޤ"
#: ../undo.c:627
#, c-format
@@ -6287,23 +6350,23 @@ msgstr " ƥ vimrc: \""
#: ../version.c:672
msgid " user vimrc file: \""
-msgstr " 桼 vimrc: \""
+msgstr " 桼 vimrc: \""
#: ../version.c:677
msgid " 2nd user vimrc file: \""
-msgstr " 2桼 vimrc: \""
+msgstr " 2桼 vimrc: \""
#: ../version.c:682
msgid " 3rd user vimrc file: \""
-msgstr " 3桼 vimrc: \""
+msgstr " 3桼 vimrc: \""
#: ../version.c:687
msgid " user exrc file: \""
-msgstr " 桼 exrc: \""
+msgstr " 桼 exrc: \""
#: ../version.c:692
msgid " 2nd user exrc file: \""
-msgstr " 2桼 exrc: \""
+msgstr " 2桼 exrc: \""
#: ../version.c:699
msgid " fall-back for $VIM: \""
@@ -6379,7 +6442,7 @@ msgstr "Vimγȯ礷Ƥ!"
#: ../version.c:828
msgid "Become a registered Vim user!"
-msgstr "VimϿ桼ˤʤäƤ!"
+msgstr "VimϿ桼ˤʤäƤ!"
#: ../version.c:831
msgid "type :help sponsor<Enter> for information "
@@ -6391,7 +6454,7 @@ msgstr "ܺ٤ʾ :help register<Enter> "
#: ../version.c:834
msgid "menu Help->Sponsor/Register for information "
-msgstr "ܺ٤ϥ˥塼 إעݥ󥵡/Ͽ 򻲾ȤƲ "
+msgstr "ܺ٤ϥ˥塼 إ->ݥ󥵡/Ͽ 򻲾ȤƲ"
#: ../window.c:119
msgid "Already only one window"
@@ -6429,6 +6492,9 @@ msgstr "E445: ¾Υɥˤѹޤ"
msgid "E446: No file name under cursor"
msgstr "E446: β˥ե̾ޤ"
+msgid "List or number required"
+msgstr "ꥹȤͤɬפǤ"
+
#~ msgid "E831: bf_key_init() called with empty password"
#~ msgstr "E831: bf_key_init() ѥɤǸƤӽФޤ"
diff --git a/src/nvim/po/ja.po b/src/nvim/po/ja.po
index 6bdfcb426f..8a3fcb8f78 100644
--- a/src/nvim/po/ja.po
+++ b/src/nvim/po/ja.po
@@ -1,11 +1,11 @@
-# Japanese translation for Vim vim:set foldmethod=marker:
+# Japanese translation for Vim
#
# Do ":help uganda" in Vim to read copying and usage conditions.
# Do ":help credits" in Vim to see a list of people who contributed.
#
-# Last Change: 2013 Jul 06
+# Copyright (C) 2001-2016 MURAOKA Taro <koron.kaoriya@gmail.com>,
+# vim-jp (http://vim-jp.org/)
#
-# Copyright (C) 2001-13 MURAOKA Taro <koron.kaoriya@gmail.com>
# THIS FILE IS DISTRIBUTED UNDER THE VIM LICENSE.
#
# Original translations.
@@ -14,10 +14,10 @@ msgid ""
msgstr ""
"Project-Id-Version: Vim 7.4\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-05-26 14:21+0200\n"
-"PO-Revision-Date: 2013-07-06 15:00+0900\n"
+"POT-Creation-Date: 2016-02-01 09:02+0900\n"
+"PO-Revision-Date: 2013-06-02-01 09:08+09n"
"Last-Translator: MURAOKA Taro <koron.kaoriya@gmail.com>\n"
-"Language-Team: MURAOKA Taro <koron.kaoriya@gmail.com>\n"
+"Language-Team: vim-jp (https://github.com/vim-jp/lang-ja)\n"
"Language: Japanese\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
@@ -34,7 +34,7 @@ msgstr "内部エラー: 未知のオプション型です"
#: ../buffer.c:92
msgid "[Location List]"
-msgstr "[場所リスト]"
+msgstr "[ロケーションリスト]"
#: ../buffer.c:93
msgid "[Quickfix List]"
@@ -277,7 +277,7 @@ msgstr "E810: 一時ファイルの読込もしくは書込ができません"
#: ../diff.c:755
msgid "E97: Cannot create diffs"
-msgstr "E97: 差分を作成できません "
+msgstr "E97: 差分を作成できません"
#: ../diff.c:966
msgid "E816: Cannot read patch output"
@@ -293,7 +293,7 @@ msgstr "E99: 現在のバッファは差分モードではありません"
#: ../diff.c:2100
msgid "E793: No other buffer in diff mode is modifiable"
-msgstr "E793: 差分モードである他のバッファは変更可能です"
+msgstr "E793: 差分モードである他のバッファは変更できません"
#: ../diff.c:2102
msgid "E100: No other buffer in diff mode"
@@ -349,7 +349,7 @@ msgstr " 行(全体)補完 (^L^N^P)"
#: ../edit.c:86
msgid " File name completion (^F^N^P)"
-msgstr "ファイル名補完 (^F^N^P)"
+msgstr " ファイル名補完 (^F^N^P)"
#: ../edit.c:87
msgid " Tag completion (^]^N^P)"
@@ -377,7 +377,7 @@ msgstr " コマンドライン補完 (^V^N^P)"
#: ../edit.c:94
msgid " User defined completion (^U^N^P)"
-msgstr " ユーザ定義補完 (^U^N^P)"
+msgstr " ユーザー定義補完 (^U^N^P)"
#: ../edit.c:95
msgid " Omni completion (^O^N^P)"
@@ -679,6 +679,10 @@ msgstr "E696: リスト型にカンマがありません: %s"
msgid "E697: Missing end of List ']': %s"
msgstr "E697: リスト型の最後に ']' がありません: %s"
+msgid "Not enough memory to set references, garbage collection aborted!"
+msgstr ""
+"ガーベッジコレクションを中止しました! 参照を作成するのにメモリが不足しました"
+
#: ../eval.c:6475
#, c-format
msgid "E720: Missing colon in Dictionary: %s"
@@ -721,7 +725,7 @@ msgstr "E117: 未知の関数です: %s"
#: ../eval.c:7383
#, c-format
msgid "E119: Not enough arguments for function: %s"
-msgstr "E119: 関数の引数が少な過ぎます: %s"
+msgstr "E119: 関数の引数が足りません: %s"
#: ../eval.c:7387
#, c-format
@@ -826,18 +830,16 @@ msgid "sort() argument"
msgstr "sort() の引数"
#: ../eval.c:13721
-#, fuzzy
msgid "uniq() argument"
-msgstr "add() の引数"
+msgstr "uniq() の引数"
#: ../eval.c:13776
msgid "E702: Sort compare function failed"
msgstr "E702: ソートの比較関数が失敗しました"
#: ../eval.c:13806
-#, fuzzy
msgid "E882: Uniq compare function failed"
-msgstr "E702: ソートの比較関数が失敗しました"
+msgstr "E882: Uniq の比較関数が失敗しました"
#: ../eval.c:14085
msgid "(Invalid)"
@@ -863,6 +865,18 @@ msgstr "E745: リスト型を数値として扱っています"
msgid "E728: Using a Dictionary as a Number"
msgstr "E728: 辞書型を数値として扱っています"
+msgid "E891: Using a Funcref as a Float"
+msgstr "E891: 関数参照型を浮動小数点数として扱っています。"
+
+msgid "E892: Using a String as a Float"
+msgstr "E892: 文字列を浮動小数点数として扱っています"
+
+msgid "E893: Using a List as a Float"
+msgstr "E893: リスト型を浮動小数点数として扱っています"
+
+msgid "E894: Using a Dictionary as a Float"
+msgstr "E894: 辞書型を浮動小数点数として扱っています"
+
#: ../eval.c:16259
msgid "E729: using Funcref as a String"
msgstr "E729: 関数参照型を文字列として扱っています"
@@ -961,14 +975,14 @@ msgid "E129: Function name required"
msgstr "E129: 関数名が要求されます"
#: ../eval.c:17824
-#, fuzzy, c-format
+#, c-format
msgid "E128: Function name must start with a capital or \"s:\": %s"
-msgstr "E128: 関数名は大文字で始まるかコロンを含まなければなりません: %s"
+msgstr "E128: 関数名は大文字か \"s:\" で始まらなければなりません: %s"
#: ../eval.c:17833
-#, fuzzy, c-format
+#, c-format
msgid "E884: Function name cannot contain a colon: %s"
-msgstr "E128: 関数名は大文字で始まるかコロンを含まなければなりません: %s"
+msgstr "E884: 関数名にはコロンは含められません: %s"
#: ../eval.c:18336
#, c-format
@@ -1081,7 +1095,7 @@ msgstr "E136: viminfo: エラーが多過ぎるので, 以降はスキップし
#: ../ex_cmds.c:1458
#, c-format
msgid "Reading viminfo file \"%s\"%s%s%s"
-msgstr "viminfoファイル \"%s\"%s%s%s を読込み中 "
+msgstr "viminfoファイル \"%s\"%s%s%s を読込み中"
#: ../ex_cmds.c:1460
msgid " info"
@@ -1357,6 +1371,10 @@ msgstr "E158: 無効なバッファ名です: %s"
msgid "E157: Invalid sign ID: %<PRId64>"
msgstr "E157: 無効なsign識別子です: %<PRId64>"
+#, c-format
+msgid "E885: Not possible to change sign %s"
+msgstr "E885: 変更できない sign です: %s"
+
#: ../ex_cmds.c:6066
msgid " (not supported)"
msgstr " (非サポート)"
@@ -1379,6 +1397,13 @@ msgstr "行 %<PRId64>: %s"
msgid "cmd: %s"
msgstr "コマンド: %s"
+msgid "frame is zero"
+msgstr "フレームが 0 です"
+
+#, c-format
+msgid "frame at highest level: %d"
+msgstr "最高レベルのフレーム: %d"
+
#: ../ex_cmds2.c:322
#, c-format
msgid "Breakpoint in \"%s%s\" line %<PRId64>"
@@ -1528,7 +1553,8 @@ msgstr "E197: 言語を \"%s\" に設定できません"
#. don't wait for return
#: ../ex_docmd.c:387
msgid "Entering Ex mode. Type \"visual\" to go to Normal mode."
-msgstr "Exモードに入ります. ノーマルに戻るには\"visual\"と入力してください."
+msgstr ""
+"Exモードに入ります. ノーマルモードに戻るには\"visual\"と入力してください."
#: ../ex_docmd.c:428
msgid "E501: At end-of-file"
@@ -1553,7 +1579,7 @@ msgstr "関数の最後です"
#: ../ex_docmd.c:1628
msgid "E464: Ambiguous use of user-defined command"
-msgstr "E464: ユーザ定義コマンドのあいまいな使用です"
+msgstr "E464: ユーザー定義コマンドのあいまいな使用です"
#: ../ex_docmd.c:1638
msgid "E492: Not an editor command"
@@ -1606,14 +1632,14 @@ msgstr "E174: コマンドが既にあります: 再定義するには ! を追
#: ../ex_docmd.c:4432
msgid ""
"\n"
-" Name Args Range Complete Definition"
+" Name Args Address Complete Definition"
msgstr ""
"\n"
-" 名前 引数 範囲 補完 定義"
+" 名前 引数 アドレス 補完 定義"
#: ../ex_docmd.c:4516
msgid "No user-defined commands found"
-msgstr "ユーザ定義コマンドが見つかりませんでした"
+msgstr "ユーザー定義コマンドが見つかりませんでした"
#: ../ex_docmd.c:4538
msgid "E175: No attribute specified"
@@ -1633,7 +1659,10 @@ msgstr "E178: カウントの省略値が無効です"
#: ../ex_docmd.c:4625
msgid "E179: argument required for -complete"
-msgstr "E179: -補完のための引数が必要です"
+msgstr "E179: -complete には引数が必要です"
+
+msgid "E179: argument required for -addr"
+msgstr "E179: -addr には引数が必要です"
#: ../ex_docmd.c:4635
#, c-format
@@ -1646,16 +1675,20 @@ msgstr "E182: 無効なコマンド名です"
#: ../ex_docmd.c:4691
msgid "E183: User defined commands must start with an uppercase letter"
-msgstr "E183: ユーザ定義コマンドは英大文字で始まらなければなりません"
+msgstr "E183: ユーザー定義コマンドは英大文字で始まらなければなりません"
#: ../ex_docmd.c:4696
msgid "E841: Reserved name, cannot be used for user defined command"
-msgstr "E841: 予約名なので, ユーザ定義コマンドに利用できません"
+msgstr "E841: 予約名なので, ユーザー定義コマンドに利用できません"
#: ../ex_docmd.c:4751
#, c-format
msgid "E184: No such user-defined command: %s"
-msgstr "E184: そのユーザ定義コマンドはありません: %s"
+msgstr "E184: そのユーザー定義コマンドはありません: %s"
+
+#, c-format
+msgid "E180: Invalid address type value: %s"
+msgstr "E180: 無効なアドレスタイプ値です: %s"
#: ../ex_docmd.c:5219
#, c-format
@@ -2019,11 +2052,11 @@ msgstr "不正なファイル名"
#: ../fileio.c:395 ../fileio.c:476 ../fileio.c:2543 ../fileio.c:2578
msgid "is a directory"
-msgstr " はディレクトリです"
+msgstr "はディレクトリです"
#: ../fileio.c:397
msgid "is not a file"
-msgstr " はファイルではありません"
+msgstr "はファイルではありません"
#: ../fileio.c:508 ../fileio.c:3522
msgid "[New File]"
@@ -2039,7 +2072,7 @@ msgstr "[ファイル過大]"
#: ../fileio.c:534
msgid "[Permission Denied]"
-msgstr "[認可がありません]"
+msgstr "[権限がありません]"
#: ../fileio.c:653
msgid "E200: *ReadPre autocommands made the file unreadable"
@@ -2210,7 +2243,7 @@ msgstr " 変換エラー"
#: ../fileio.c:3509
#, c-format
msgid " in line %<PRId64>;"
-msgstr "行 %<PRId64>;"
+msgstr " 行 %<PRId64>;"
#: ../fileio.c:3519
msgid "[Device]"
@@ -2766,9 +2799,8 @@ msgid "E37: No write since last change (add ! to override)"
msgstr "E37: 最後の変更が保存されていません (! を追加で変更を破棄)"
#: ../globals.h:1055
-#, fuzzy
msgid "E37: No write since last change"
-msgstr "[最後の変更が保存されていません]\n"
+msgstr "E37: 最後の変更が保存されていません"
#: ../globals.h:1056
msgid "E38: Null argument"
@@ -2810,7 +2842,7 @@ msgstr "E42: エラーはありません"
#: ../globals.h:1067
msgid "E776: No location list"
-msgstr "E776: 場所リストはありません"
+msgstr "E776: ロケーションリストはありません"
#: ../globals.h:1068
msgid "E43: Damaged match string"
@@ -3831,7 +3863,7 @@ msgid ""
"\n"
msgstr ""
"\n"
-"それから.swpファイルを削除してください\n"
+"元の.swpファイルは削除しても構いません\n"
"\n"
#. use msg() to start the scrolling properly
@@ -3845,7 +3877,7 @@ msgstr " 現在のディレクトリ:\n"
#: ../memline.c:1448
msgid " Using specified name:\n"
-msgstr " ある名前を使用中:\n"
+msgstr " 以下の名前を使用中:\n"
#: ../memline.c:1450
msgid " In directory "
@@ -3901,7 +3933,7 @@ msgid ""
" user name: "
msgstr ""
"\n"
-" ユーザ名: "
+" ユーザー名: "
#: ../memline.c:1568
msgid " host name: "
@@ -4050,12 +4082,12 @@ msgid ""
msgstr ""
"\n"
"(1) 別のプログラムが同じファイルを編集しているかもしれません.\n"
-" この場合には, 変更をした際に最終的に, 同じファイルの異なる\n"
-" 2つのインスタンスができてしまうことに注意してください."
+" この場合には, 変更をしてしまうと1つのファイルに対して異なる2つの\n"
+" インスタンスができてしまうので, そうしないように気をつけてください."
#: ../memline.c:3245
msgid " Quit, or continue with caution.\n"
-msgstr " 終了するか, 注意しながら続けてください.\n"
+msgstr " 終了するか, 注意しながら続けてください.\n"
#: ../memline.c:3246
msgid "(2) An edit session for this file crashed.\n"
@@ -4479,6 +4511,11 @@ msgstr ""
msgid "E574: Unknown register type %d"
msgstr "E574: 未知のレジスタ型 %d です"
+msgid ""
+"E883: search pattern and expression register may not contain two or more "
+"lines"
+msgstr "E883: 検索パターンと式レジスタには2行以上を含められません"
+
#: ../ops.c:5089
#, c-format
msgid "%<PRId64> Cols; "
@@ -4563,6 +4600,10 @@ msgstr "E522: termcap 内に見つかりません"
msgid "E539: Illegal character <%s>"
msgstr "E539: 不正な文字です <%s>"
+#, c-format
+msgid "For option %s"
+msgstr "オプション: %s"
+
#: ../option.c:3862
msgid "E529: Cannot set 'term' to empty string"
msgstr "E529: 'term' には空文字列を設定できません"
@@ -4740,6 +4781,14 @@ msgstr ""
"\n"
"セキュリティコンテキストを設定できません "
+#, c-format
+msgid "Could not set security context %s for %s"
+msgstr "セキュリティコンテキスト %s を %s に設定できません"
+
+#, c-format
+msgid "Could not get security context %s for %s. Removing it!"
+msgstr "セキュリティコンテキスト %s を %s から取得できません. 削除します!"
+
#: ../os_unix.c:1558 ../os_unix.c:1647
#, c-format
msgid "dlerror = \"%s\""
@@ -4960,6 +5009,10 @@ msgstr "E554: %s{...} 内に文法エラーがあります"
msgid "External submatches:\n"
msgstr "外部の部分該当:\n"
+#, c-format
+msgid "E888: (NFA regexp) cannot repeat %s"
+msgstr "E888: (NFA 正規表現) 繰り返せません %s"
+
#: ../regexp.c:7022
msgid ""
"E864: \\%#= can only be followed by 0, 1, or 2. The automatic engine will be "
@@ -4968,6 +5021,9 @@ msgstr ""
"E864: \\%#= には 0, 1 もしくは 2 のみが続けられます。正規表現エンジンは自動選"
"択されます。"
+msgid "Switching to backtracking RE engine for pattern: "
+msgstr "次のパターンにバックトラッキング RE エンジンを適用します: "
+
#: ../regexp_nfa.c:239
msgid "E865: (NFA) Regexp end encountered prematurely"
msgstr "E865: (NFA) 期待より早く正規表現の終端に到達しました"
@@ -4980,7 +5036,7 @@ msgstr "E866: (NFA 正規表現) 位置が誤っています: %c"
#: ../regexp_nfa.c:242
#, c-format
msgid "E877: (NFA regexp) Invalid character class: %<PRId64>"
-msgstr ""
+msgstr "E877: (NFA 正規表現) 無効な文字クラス: %<PRId64>"
#: ../regexp_nfa.c:1261
#, c-format
@@ -5590,12 +5646,12 @@ msgid "E765: 'spellfile' does not have %<PRId64> entries"
msgstr "E765: 'spellfile' には %<PRId64> 個のエントリはありません"
#: ../spell.c:8074
-#, fuzzy, c-format
+#, c-format
msgid "Word '%.*s' removed from %s"
-msgstr "%s から単語が削除されました"
+msgstr "単語 '%.*s' が %s から削除されました"
#: ../spell.c:8117
-#, fuzzy, c-format
+#, c-format
msgid "Word '%.*s' added to %s"
msgstr "%s に単語が追加されました"
@@ -5673,6 +5729,9 @@ msgstr "このバッファに定義された構文要素はありません"
msgid "E390: Illegal argument: %s"
msgstr "E390: 不正な引数です: %s"
+msgid "syntax iskeyword "
+msgstr "シンタックス用 iskeyword "
+
#: ../syntax.c:3299
#, c-format
msgid "E391: No such syntax cluster: %s"
@@ -5769,6 +5828,10 @@ msgstr "E847: 構文の取り込み(include)が多過ぎます"
msgid "E789: Missing ']': %s"
msgstr "E789: ']' がありません: %s"
+#, c-format
+msgid "E890: trailing char after ']': %s]%s"
+msgstr "E890: ']' の後ろに余分な文字があります: %s]%s"
+
#: ../syntax.c:4531
#, c-format
msgid "E398: Missing '=': %s"
@@ -5874,7 +5937,7 @@ msgstr "E415: 予期せぬ等号です: %s"
#: ../syntax.c:6395
#, c-format
msgid "E416: missing equal sign: %s"
-msgstr "E416: 等号ががありません: %s"
+msgstr "E416: 等号がありません: %s"
#: ../syntax.c:6418
#, c-format
@@ -6078,9 +6141,8 @@ msgstr "Vim: 入力を読込み中のエラーにより終了します...\n"
#. This happens when the FileChangedRO autocommand changes the
#. * file in a way it becomes shorter.
#: ../undo.c:379
-#, fuzzy
msgid "E881: Line count changed unexpectedly"
-msgstr "E834: 予期せず行カウントが変わりました"
+msgstr "E881: 予期せず行カウントが変わりました"
#: ../undo.c:627
#, c-format
@@ -6287,23 +6349,23 @@ msgstr " システム vimrc: \""
#: ../version.c:672
msgid " user vimrc file: \""
-msgstr " ユーザ vimrc: \""
+msgstr " ユーザー vimrc: \""
#: ../version.c:677
msgid " 2nd user vimrc file: \""
-msgstr " 第2ユーザ vimrc: \""
+msgstr " 第2ユーザー vimrc: \""
#: ../version.c:682
msgid " 3rd user vimrc file: \""
-msgstr " 第3ユーザ vimrc: \""
+msgstr " 第3ユーザー vimrc: \""
#: ../version.c:687
msgid " user exrc file: \""
-msgstr " ユーザ exrc: \""
+msgstr " ユーザー exrc: \""
#: ../version.c:692
msgid " 2nd user exrc file: \""
-msgstr " 第2ユーザ exrc: \""
+msgstr " 第2ユーザー exrc: \""
#: ../version.c:699
msgid " fall-back for $VIM: \""
@@ -6379,7 +6441,7 @@ msgstr "Vimの開発を応援してください!"
#: ../version.c:828
msgid "Become a registered Vim user!"
-msgstr "Vimの登録ユーザになってください!"
+msgstr "Vimの登録ユーザーになってください!"
#: ../version.c:831
msgid "type :help sponsor<Enter> for information "
@@ -6391,7 +6453,7 @@ msgstr "詳細な情報は :help register<Enter> "
#: ../version.c:834
msgid "menu Help->Sponsor/Register for information "
-msgstr "詳細はメニューの ヘルプ→スポンサー/登録 を参照して下さい "
+msgstr "詳細はメニューの ヘルプ->スポンサー/登録 を参照して下さい"
#: ../window.c:119
msgid "Already only one window"
@@ -6429,6 +6491,9 @@ msgstr "E445: 他のウィンドウには変更があります"
msgid "E446: No file name under cursor"
msgstr "E446: カーソルの下にファイル名がありません"
+msgid "List or number required"
+msgstr "リストか数値が必要です"
+
#~ msgid "E831: bf_key_init() called with empty password"
#~ msgstr "E831: bf_key_init() が空パスワードで呼び出されました"
diff --git a/src/nvim/po/ja.sjis.po b/src/nvim/po/ja.sjis.po
index 7dac89e172..16a5d2ce36 100644
--- a/src/nvim/po/ja.sjis.po
+++ b/src/nvim/po/ja.sjis.po
@@ -1,11 +1,11 @@
-# Japanese translation for Vim vim:set foldmethod=marker:
+# Japanese translation for Vim
#
# Do ":help uganda" in Vim to read copying and usage conditions.
# Do ":help credits" in Vim to see a list of people who contributed.
#
-# Last Change: 2013 Jul 06
+# Copyright (C) 2001-2016 MURAOKA Taro <koron.kaoriya@gmail.com>,
+# vim-jp (http://vim-jp.org/)
#
-# Copyright (C) 2001-13 MURAOKA Taro <koron.kaoriya@gmail.com>
# THIS FILE IS DISTRIBUTED UNDER THE VIM LICENSE.
#
# Original translations.
@@ -14,10 +14,10 @@ msgid ""
msgstr ""
"Project-Id-Version: Vim 7.4\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-05-26 14:21+0200\n"
-"PO-Revision-Date: 2013-07-06 15:00+0900\n"
+"POT-Creation-Date: 2016-02-01 09:02+0900\n"
+"PO-Revision-Date: 2016-02-01 09:08+0900\n"
"Last-Translator: MURAOKA Taro <koron.kaoriya@gmail.com>\n"
-"Language-Team: MURAOKA Taro <koron.kaoriya@gmail.com>\n"
+"Language-Team: vim-jpj (https://github.com/vim-jp/lang-ja)\n"
"Language: Japanese\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=cp932\n"
@@ -34,7 +34,7 @@ msgstr "G[: m̃IvV^ł"
#: ../buffer.c:92
msgid "[Location List]"
-msgstr "[ꏊXg]"
+msgstr "[P[VXg]"
#: ../buffer.c:93
msgid "[Quickfix List]"
@@ -277,7 +277,7 @@ msgstr "E810: ꎞt@C̓Ǎ͏ł܂"
#: ../diff.c:755
msgid "E97: Cannot create diffs"
-msgstr "E97: 쐬ł܂ "
+msgstr "E97: 쐬ł܂"
#: ../diff.c:966
msgid "E816: Cannot read patch output"
@@ -293,7 +293,7 @@ msgstr "E99: ݂̃obt@͍[hł͂܂"
#: ../diff.c:2100
msgid "E793: No other buffer in diff mode is modifiable"
-msgstr "E793: [hł鑼̃obt@͕ύX”\\ł"
+msgstr "E793: [hł鑼̃obt@͕ύXł܂"
#: ../diff.c:2102
msgid "E100: No other buffer in diff mode"
@@ -349,7 +349,7 @@ msgstr " s(S)⊮ (^L^N^P)"
#: ../edit.c:86
msgid " File name completion (^F^N^P)"
-msgstr "t@C⊮ (^F^N^P)"
+msgstr " t@C⊮ (^F^N^P)"
#: ../edit.c:87
msgid " Tag completion (^]^N^P)"
@@ -377,7 +377,7 @@ msgstr " R}hC⊮ (^V^N^P)"
#: ../edit.c:94
msgid " User defined completion (^U^N^P)"
-msgstr " [U`⊮ (^U^N^P)"
+msgstr " [U[`⊮ (^U^N^P)"
#: ../edit.c:95
msgid " Omni completion (^O^N^P)"
@@ -679,6 +679,10 @@ msgstr "E696: Xg^ɃJ}܂: %s"
msgid "E697: Missing end of List ']': %s"
msgstr "E697: Xg^̍Ō ']' ܂: %s"
+msgid "Not enough memory to set references, garbage collection aborted!"
+msgstr ""
+"K[xbWRNV𒆎~܂! QƂ쐬̂Ƀs܂"
+
#: ../eval.c:6475
#, c-format
msgid "E720: Missing colon in Dictionary: %s"
@@ -721,7 +725,7 @@ msgstr "E117: m̊֐ł: %s"
#: ../eval.c:7383
#, c-format
msgid "E119: Not enough arguments for function: %s"
-msgstr "E119: ֐̈ȉ߂܂: %s"
+msgstr "E119: ֐̈܂: %s"
#: ../eval.c:7387
#, c-format
@@ -826,18 +830,16 @@ msgid "sort() argument"
msgstr "sort() ̈"
#: ../eval.c:13721
-#, fuzzy
msgid "uniq() argument"
-msgstr "add() ̈"
+msgstr "uniq() ̈"
#: ../eval.c:13776
msgid "E702: Sort compare function failed"
msgstr "E702: \\[g̔r֐s܂"
#: ../eval.c:13806
-#, fuzzy
msgid "E882: Uniq compare function failed"
-msgstr "E702: \\[g̔r֐s܂"
+msgstr "E882: Uniq ̔r֐s܂"
#: ../eval.c:14085
msgid "(Invalid)"
@@ -863,6 +865,18 @@ msgstr "E745: Xg^𐔒lƂĈĂ܂"
msgid "E728: Using a Dictionary as a Number"
msgstr "E728: ^𐔒lƂĈĂ܂"
+msgid "E891: Using a Funcref as a Float"
+msgstr "E891: ֐Qƌ^𕂓_ƂĈĂ܂B"
+
+msgid "E892: Using a String as a Float"
+msgstr "E892: 𕂓_ƂĈĂ܂"
+
+msgid "E893: Using a List as a Float"
+msgstr "E893: Xg^𕂓_ƂĈĂ܂"
+
+msgid "E894: Using a Dictionary as a Float"
+msgstr "E894: ^𕂓_ƂĈĂ܂"
+
#: ../eval.c:16259
msgid "E729: using Funcref as a String"
msgstr "E729: ֐Qƌ^𕶎ƂĈĂ܂"
@@ -961,14 +975,14 @@ msgid "E129: Function name required"
msgstr "E129: ֐v܂"
#: ../eval.c:17824
-#, fuzzy, c-format
+#, c-format
msgid "E128: Function name must start with a capital or \"s:\": %s"
-msgstr "E128: ֐͑啶Ŏn܂邩R܂܂Ȃ΂Ȃ܂: %s"
+msgstr "E128: ֐͑啶 \"s:\" Ŏn܂Ȃ΂Ȃ܂: %s"
#: ../eval.c:17833
-#, fuzzy, c-format
+#, c-format
msgid "E884: Function name cannot contain a colon: %s"
-msgstr "E128: ֐͑啶Ŏn܂邩R܂܂Ȃ΂Ȃ܂: %s"
+msgstr "E884: ֐ɂ̓R͊܂߂܂: %s"
#: ../eval.c:18336
#, c-format
@@ -1081,7 +1095,7 @@ msgstr "E136: viminfo: G[߂̂, ȍ~̓XLbv܂"
#: ../ex_cmds.c:1458
#, c-format
msgid "Reading viminfo file \"%s\"%s%s%s"
-msgstr "viminfot@C \"%s\"%s%s%s Ǎݒ "
+msgstr "viminfot@C \"%s\"%s%s%s Ǎݒ"
#: ../ex_cmds.c:1460
msgid " info"
@@ -1357,6 +1371,10 @@ msgstr "E158: ȃobt@ł: %s"
msgid "E157: Invalid sign ID: %<PRId64>"
msgstr "E157: signʎqł: %<PRId64>"
+#, c-format
+msgid "E885: Not possible to change sign %s"
+msgstr "E885: ύXłȂ sign ł: %s"
+
#: ../ex_cmds.c:6066
msgid " (not supported)"
msgstr " (T|[g)"
@@ -1379,6 +1397,13 @@ msgstr "s %<PRId64>: %s"
msgid "cmd: %s"
msgstr "R}h: %s"
+msgid "frame is zero"
+msgstr "t[ 0 ł"
+
+#, c-format
+msgid "frame at highest level: %d"
+msgstr "ōx̃t[: %d"
+
#: ../ex_cmds2.c:322
#, c-format
msgid "Breakpoint in \"%s%s\" line %<PRId64>"
@@ -1528,7 +1553,8 @@ msgstr "E197: \"%s\" ɐݒł܂"
#. don't wait for return
#: ../ex_docmd.c:387
msgid "Entering Ex mode. Type \"visual\" to go to Normal mode."
-msgstr "Ex[hɓ܂. m[}ɖ߂ɂ\"visual\"Ɠ͂Ă."
+msgstr ""
+"Ex[hɓ܂. m[}[hɖ߂ɂ\"visual\"Ɠ͂Ă."
#: ../ex_docmd.c:428
msgid "E501: At end-of-file"
@@ -1553,7 +1579,7 @@ msgstr "֐̍Ōł"
#: ../ex_docmd.c:1628
msgid "E464: Ambiguous use of user-defined command"
-msgstr "E464: [U`R}ĥ܂Ȏgpł"
+msgstr "E464: [U[`R}ĥ܂Ȏgpł"
#: ../ex_docmd.c:1638
msgid "E492: Not an editor command"
@@ -1606,14 +1632,14 @@ msgstr "E174: R}hɂ܂: Ē`ɂ ! ljĂ"
#: ../ex_docmd.c:4432
msgid ""
"\n"
-" Name Args Range Complete Definition"
+" Name Args Address Complete Definition"
msgstr ""
"\n"
-" O ͈ ⊮ `"
+" O AhX ⊮ `"
#: ../ex_docmd.c:4516
msgid "No user-defined commands found"
-msgstr "[U`R}h‚܂ł"
+msgstr "[U[`R}h‚܂ł"
#: ../ex_docmd.c:4538
msgid "E175: No attribute specified"
@@ -1633,7 +1659,10 @@ msgstr "E178: JEg̏ȗlł"
#: ../ex_docmd.c:4625
msgid "E179: argument required for -complete"
-msgstr "E179: -⊮̂߂̈Kvł"
+msgstr "E179: -complete ɂ͈Kvł"
+
+msgid "E179: argument required for -addr"
+msgstr "E179: -addr ɂ͈Kvł"
#: ../ex_docmd.c:4635
#, c-format
@@ -1646,16 +1675,20 @@ msgstr "E182: ȃR}hł"
#: ../ex_docmd.c:4691
msgid "E183: User defined commands must start with an uppercase letter"
-msgstr "E183: [U`R}h͉p啶Ŏn܂Ȃ΂Ȃ܂"
+msgstr "E183: [U[`R}h͉p啶Ŏn܂Ȃ΂Ȃ܂"
#: ../ex_docmd.c:4696
msgid "E841: Reserved name, cannot be used for user defined command"
-msgstr "E841: \\񖼂Ȃ̂, [U`R}hɗpł܂"
+msgstr "E841: \\񖼂Ȃ̂, [U[`R}hɗpł܂"
#: ../ex_docmd.c:4751
#, c-format
msgid "E184: No such user-defined command: %s"
-msgstr "E184: ̃[U`R}h͂܂: %s"
+msgstr "E184: ̃[U[`R}h͂܂: %s"
+
+#, c-format
+msgid "E180: Invalid address type value: %s"
+msgstr "E180: ȃAhX^Cvlł: %s"
#: ../ex_docmd.c:5219
#, c-format
@@ -2019,11 +2052,11 @@ msgstr "sȃt@C"
#: ../fileio.c:395 ../fileio.c:476 ../fileio.c:2543 ../fileio.c:2578
msgid "is a directory"
-msgstr " ̓fBNgł"
+msgstr "̓fBNgł"
#: ../fileio.c:397
msgid "is not a file"
-msgstr " ̓t@Cł͂܂"
+msgstr "̓t@Cł͂܂"
#: ../fileio.c:508 ../fileio.c:3522
msgid "[New File]"
@@ -2039,7 +2072,7 @@ msgstr "[t@Cߑ]"
#: ../fileio.c:534
msgid "[Permission Denied]"
-msgstr "[F‚܂]"
+msgstr "[܂]"
#: ../fileio.c:653
msgid "E200: *ReadPre autocommands made the file unreadable"
@@ -2210,7 +2243,7 @@ msgstr " ϊG["
#: ../fileio.c:3509
#, c-format
msgid " in line %<PRId64>;"
-msgstr "s %<PRId64>;"
+msgstr " s %<PRId64>;"
#: ../fileio.c:3519
msgid "[Device]"
@@ -2766,9 +2799,8 @@ msgid "E37: No write since last change (add ! to override)"
msgstr "E37: Ō̕ύXۑĂ܂ (! ljŕύXj)"
#: ../globals.h:1055
-#, fuzzy
msgid "E37: No write since last change"
-msgstr "[Ō̕ύXۑĂ܂]\n"
+msgstr "E37: Ō̕ύXۑĂ܂"
#: ../globals.h:1056
msgid "E38: Null argument"
@@ -2810,7 +2842,7 @@ msgstr "E42: G[͂܂"
#: ../globals.h:1067
msgid "E776: No location list"
-msgstr "E776: ꏊXg͂܂"
+msgstr "E776: P[VXg͂܂"
#: ../globals.h:1068
msgid "E43: Damaged match string"
@@ -2931,6 +2963,10 @@ msgstr "E363: p^[ 'maxmempattern' ȏ̃gp܂"
msgid "E749: empty buffer"
msgstr "E749: obt@ł"
+#, c-format
+msgid "E86: Buffer %ld does not exist"
+msgstr "E86: obt@ %ld ͂܂"
+
#: ../globals.h:1108
msgid "E682: Invalid search pattern or delimiter"
msgstr "E682: p^[؂Lsł"
@@ -3831,7 +3867,7 @@ msgid ""
"\n"
msgstr ""
"\n"
-"ꂩ.swpt@C폜Ă\n"
+".swpt@C͍폜Ă\\܂\n"
"\n"
#. use msg() to start the scrolling properly
@@ -3845,7 +3881,7 @@ msgstr " ݂̃fBNg:\n"
#: ../memline.c:1448
msgid " Using specified name:\n"
-msgstr " 閼Ogp:\n"
+msgstr " ȉ̖Ogp:\n"
#: ../memline.c:1450
msgid " In directory "
@@ -3901,7 +3937,7 @@ msgid ""
" user name: "
msgstr ""
"\n"
-" [U: "
+" [U[: "
#: ../memline.c:1568
msgid " host name: "
@@ -4050,12 +4086,12 @@ msgid ""
msgstr ""
"\n"
"(1) ʂ̃vOt@CҏWĂ邩܂.\n"
-" ̏ꍇɂ, ύXۂɍŏII, t@C̈قȂ\n"
-" 2‚̃CX^XłĂ܂ƂɒӂĂ."
+" ̏ꍇɂ, ύXĂ܂1‚̃t@Cɑ΂ĈقȂ2‚\n"
+" CX^XłĂ܂̂, Ȃ悤ɋC‚Ă."
#: ../memline.c:3245
msgid " Quit, or continue with caution.\n"
-msgstr " I邩, ӂȂ瑱Ă.\n"
+msgstr " I邩, ӂȂ瑱Ă.\n"
#: ../memline.c:3246
msgid "(2) An edit session for this file crashed.\n"
@@ -4479,6 +4515,11 @@ msgstr ""
msgid "E574: Unknown register type %d"
msgstr "E574: m̃WX^^ %d ł"
+msgid ""
+"E883: search pattern and expression register may not contain two or more "
+"lines"
+msgstr "E883: p^[ƎWX^ɂ2sȏ܂߂܂"
+
#: ../ops.c:5089
#, c-format
msgid "%<PRId64> Cols; "
@@ -4563,6 +4604,10 @@ msgstr "E522: termcap Ɍ‚܂"
msgid "E539: Illegal character <%s>"
msgstr "E539: sȕł <%s>"
+#, c-format
+msgid "For option %s"
+msgstr "IvV: %s"
+
#: ../option.c:3862
msgid "E529: Cannot set 'term' to empty string"
msgstr "E529: 'term' ɂ͋󕶎ݒł܂"
@@ -4740,6 +4785,14 @@ msgstr ""
"\n"
"ZLeBReLXgݒł܂ "
+#, c-format
+msgid "Could not set security context %s for %s"
+msgstr "ZLeBReLXg %s %s ɐݒł܂"
+
+#, c-format
+msgid "Could not get security context %s for %s. Removing it!"
+msgstr "ZLeBReLXg %s %s 擾ł܂. 폜܂!"
+
#: ../os_unix.c:1558 ../os_unix.c:1647
#, c-format
msgid "dlerror = \"%s\""
@@ -4960,6 +5013,10 @@ msgstr "E554: %s{...} ɕ@G[܂"
msgid "External submatches:\n"
msgstr "O̕Y:\n"
+#, c-format
+msgid "E888: (NFA regexp) cannot repeat %s"
+msgstr "E888: (NFA K\\) JԂ܂ %s"
+
#: ../regexp.c:7022
msgid ""
"E864: \\%#= can only be followed by 0, 1, or 2. The automatic engine will be "
@@ -4968,7 +5025,9 @@ msgstr ""
"E864: \\%#= ɂ 0, 1 2 ݂̂܂BK\\GW͎I"
"܂B"
-#: ../regexp_nfa.c:239
+msgid "Switching to backtracking RE engine for pattern: "
+msgstr "̃p^[ɃobNgbLO RE GWKp܂: "
+
msgid "E865: (NFA) Regexp end encountered prematurely"
msgstr "E865: (NFA) ҂葁K\\̏I[ɓB܂"
@@ -4980,7 +5039,7 @@ msgstr "E866: (NFA K\\) ʒuĂ܂: %c"
#: ../regexp_nfa.c:242
#, c-format
msgid "E877: (NFA regexp) Invalid character class: %<PRId64>"
-msgstr ""
+msgstr "E877: (NFA K\\) ȕNX: %<PRId64>"
#: ../regexp_nfa.c:1261
#, c-format
@@ -5590,14 +5649,14 @@ msgid "E765: 'spellfile' does not have %<PRId64> entries"
msgstr "E765: 'spellfile' ɂ %<PRId64> ‚̃Gg͂܂"
#: ../spell.c:8074
-#, fuzzy, c-format
+#, c-format
msgid "Word '%.*s' removed from %s"
-msgstr "%s Pꂪ폜܂"
+msgstr "P '%.*s' %s 폜܂"
#: ../spell.c:8117
-#, fuzzy, c-format
+#, c-format
msgid "Word '%.*s' added to %s"
-msgstr "%s ɒPꂪlj܂"
+msgstr "P '%.*s' %s ֒lj܂"
#: ../spell.c:8381
msgid "E763: Word characters differ between spell files"
@@ -5673,6 +5732,9 @@ msgstr "̃obt@ɒ`ꂽ\\vf͂܂"
msgid "E390: Illegal argument: %s"
msgstr "E390: sȈł: %s"
+msgid "syntax iskeyword "
+msgstr "V^bNXp iskeyword "
+
#: ../syntax.c:3299
#, c-format
msgid "E391: No such syntax cluster: %s"
@@ -5769,6 +5831,10 @@ msgstr "E847: \\̎荞(include)߂܂"
msgid "E789: Missing ']': %s"
msgstr "E789: ']' ܂: %s"
+#, c-format
+msgid "E890: trailing char after ']': %s]%s"
+msgstr "E890: ']' ̌ɗ]ȕ܂: %s]%s"
+
#: ../syntax.c:4531
#, c-format
msgid "E398: Missing '=': %s"
@@ -5874,7 +5940,7 @@ msgstr "E415: \\ʓł: %s"
#: ../syntax.c:6395
#, c-format
msgid "E416: missing equal sign: %s"
-msgstr "E416: ܂: %s"
+msgstr "E416: ܂: %s"
#: ../syntax.c:6418
#, c-format
@@ -6078,9 +6144,8 @@ msgstr "Vim: ͂Ǎݒ̃G[ɂI܂...\n"
#. This happens when the FileChangedRO autocommand changes the
#. * file in a way it becomes shorter.
#: ../undo.c:379
-#, fuzzy
msgid "E881: Line count changed unexpectedly"
-msgstr "E834: \\sJEgς܂"
+msgstr "E881: \\sJEgς܂"
#: ../undo.c:627
#, c-format
@@ -6287,23 +6352,23 @@ msgstr " VXe vimrc: \""
#: ../version.c:672
msgid " user vimrc file: \""
-msgstr " [U vimrc: \""
+msgstr " [U[ vimrc: \""
#: ../version.c:677
msgid " 2nd user vimrc file: \""
-msgstr " 2[U vimrc: \""
+msgstr " 2[U[ vimrc: \""
#: ../version.c:682
msgid " 3rd user vimrc file: \""
-msgstr " 3[U vimrc: \""
+msgstr " 3[U[ vimrc: \""
#: ../version.c:687
msgid " user exrc file: \""
-msgstr " [U exrc: \""
+msgstr " [U[ exrc: \""
#: ../version.c:692
msgid " 2nd user exrc file: \""
-msgstr " 2[U exrc: \""
+msgstr " 2[U[ exrc: \""
#: ../version.c:699
msgid " fall-back for $VIM: \""
@@ -6379,7 +6444,7 @@ msgstr "Vim̊JĂ!"
#: ../version.c:828
msgid "Become a registered Vim user!"
-msgstr "Vim̓o^[UɂȂĂ!"
+msgstr "Vim̓o^[U[ɂȂĂ!"
#: ../version.c:831
msgid "type :help sponsor<Enter> for information "
@@ -6391,7 +6456,7 @@ msgstr "ڍׂȏ :help register<Enter> "
#: ../version.c:834
msgid "menu Help->Sponsor/Register for information "
-msgstr "ڍׂ̓j[ wvX|T[/o^ QƂĉ "
+msgstr "ڍׂ̓j[ wv->X|T[/o^ QƂĉ"
#: ../window.c:119
msgid "Already only one window"
@@ -6429,6 +6494,9 @@ msgstr "E445: ̃EBhEɂ͕ύX܂"
msgid "E446: No file name under cursor"
msgstr "E446: J[\\̉Ƀt@C܂"
+msgid "List or number required"
+msgstr "XglKvł"
+
#~ msgid "E831: bf_key_init() called with empty password"
#~ msgstr "E831: bf_key_init() pX[hŌĂяo܂"
diff --git a/src/nvim/testdir/Makefile b/src/nvim/testdir/Makefile
index 7149ad3ac1..4b0b5e8d26 100644
--- a/src/nvim/testdir/Makefile
+++ b/src/nvim/testdir/Makefile
@@ -16,7 +16,6 @@ SCRIPTS := \
test24.out \
test30.out \
test32.out \
- test34.out \
test37.out \
test40.out \
test42.out \
@@ -35,10 +34,13 @@ SCRIPTS := \
# Keep test_alot*.res as the last one, sort the others.
NEW_TESTS = \
test_cursor_func.res \
+ test_hardcopy.res \
test_help_tagjump.res \
+ test_langmap.res \
test_menu.res \
test_syntax.res \
test_timers.res \
+ test_unlet.res \
test_viml.res \
test_alot.res
diff --git a/src/nvim/testdir/test34.in b/src/nvim/testdir/test34.in
deleted file mode 100644
index 4cb7e9494a..0000000000
--- a/src/nvim/testdir/test34.in
+++ /dev/null
@@ -1,86 +0,0 @@
-Test for user functions.
-Also test an <expr> mapping calling a function.
-Also test that a builtin function cannot be replaced.
-Also test for regression when calling arbitrary expression.
-
-STARTTEST
-:function Table(title, ...)
-: let ret = a:title
-: let idx = 1
-: while idx <= a:0
-: exe "let ret = ret . a:" . idx
-: let idx = idx + 1
-: endwhile
-: return ret
-:endfunction
-:function Compute(n1, n2, divname)
-: if a:n2 == 0
-: return "fail"
-: endif
-: exe "let g:" . a:divname . " = ". a:n1 / a:n2
-: return "ok"
-:endfunction
-:func Expr1()
-: normal! v
-: return "111"
-:endfunc
-:func Expr2()
-: call search('XX', 'b')
-: return "222"
-:endfunc
-:func ListItem()
-: let g:counter += 1
-: return g:counter . '. '
-:endfunc
-:func ListReset()
-: let g:counter = 0
-: return ''
-:endfunc
-:func FuncWithRef(a)
-: unlet g:FuncRef
-: return a:a
-:endfunc
-:let g:FuncRef=function("FuncWithRef")
-:let counter = 0
-:inoremap <expr> ( ListItem()
-:inoremap <expr> [ ListReset()
-:imap <expr> + Expr1()
-:imap <expr> * Expr2()
-:let retval = "nop"
-/^here
-C=Table("xxx", 4, "asdf")
- =Compute(45, 0, "retval")
- =retval
- =Compute(45, 5, "retval")
- =retval
- =g:FuncRef(333)
-
-XX+-XX
----*---
-(one
-(two
-[(one again:call append(line('$'), max([1, 2, 3]))
-:call extend(g:, {'max': function('min')})
-:call append(line('$'), max([1, 2, 3]))
-:try
-: " Regression: the first line below used to throw ?E110: Missing ')'?
-: " Second is here just to prove that this line is correct when not skipping
-: " rhs of &&.
-: $put =(0&&(function('tr'))(1, 2, 3))
-: $put =(1&&(function('tr'))(1, 2, 3))
-:catch
-: $put ='!!! Unexpected exception:'
-: $put =v:exception
-:endtry
-:$-9,$w! test.out
-:delfunc Table
-:delfunc Compute
-:delfunc Expr1
-:delfunc Expr2
-:delfunc ListItem
-:delfunc ListReset
-:unlet retval counter
-:q!
-ENDTEST
-
-here
diff --git a/src/nvim/testdir/test34.ok b/src/nvim/testdir/test34.ok
deleted file mode 100644
index 97995de80e..0000000000
--- a/src/nvim/testdir/test34.ok
+++ /dev/null
@@ -1,10 +0,0 @@
-xxx4asdf fail nop ok 9 333
-XX111-XX
----222---
-1. one
-2. two
-1. one again
-3
-3
-0
-1
diff --git a/src/nvim/testdir/test_hardcopy.vim b/src/nvim/testdir/test_hardcopy.vim
new file mode 100644
index 0000000000..4629d17dd2
--- /dev/null
+++ b/src/nvim/testdir/test_hardcopy.vim
@@ -0,0 +1,58 @@
+" Test :hardcopy
+
+func Test_printoptions_parsing()
+ " Only test that this doesn't throw an error.
+ set printoptions=left:5in,right:10pt,top:8mm,bottom:2pc
+ set printoptions=left:2in,top:30pt,right:16mm,bottom:3pc
+ set printoptions=header:3,syntax:y,number:7,wrap:n
+ set printoptions=duplex:short,collate:n,jobsplit:y,portrait:n
+ set printoptions=paper:10x14
+ set printoptions=paper:A3
+ set printoptions=paper:A4
+ set printoptions=paper:A5
+ set printoptions=paper:B4
+ set printoptions=paper:B5
+ set printoptions=paper:executive
+ set printoptions=paper:folio
+ set printoptions=paper:ledger
+ set printoptions=paper:legal
+ set printoptions=paper:letter
+ set printoptions=paper:quarto
+ set printoptions=paper:statement
+ set printoptions=paper:tabloid
+ set printoptions=formfeed:y
+ set printoptions=
+ set printoptions&
+endfunc
+
+func Test_printmbfont_parsing()
+ " Only test that this doesn't throw an error.
+ set printmbfont=r:WadaMin-Regular,b:WadaMin-Bold,i:WadaMin-Italic,o:WadaMin-Bold-Italic,c:yes,a:no
+ set printmbfont=
+ set printmbfont&
+endfunc
+
+func Test_printheader_parsing()
+ " Only test that this doesn't throw an error.
+ set printheader=%<%f\ %h%m%r%=%-14.(%l,%c%V%)\ %P
+ set printheader=%<%f%h%m%r%=%b\ 0x%B\ \ %l,%c%V\ %P
+ set printheader=%<%f%=\ [%1*%M%*%n%R%H]\ %-19(%3l,%02c%03V%)%O'%02b'
+ set printheader=...%r%{VarExists('b:gzflag','\ [GZ]')}%h...
+ set printheader=
+ set printheader&
+endfunc
+
+" Test that :hardcopy produces a non-empty file.
+" We don't check much of the contents.
+func Test_with_syntax()
+ if has('postscript')
+ set printoptions=syntax:y
+ syn on
+ hardcopy > Xhardcopy
+ let lines = readfile('Xhardcopy')
+ call assert_true(len(lines) > 20)
+ call assert_true(lines[0] =~ 'PS-Adobe')
+ call delete('Xhardcopy')
+ set printoptions&
+ endif
+endfunc
diff --git a/src/nvim/testdir/test_langmap.vim b/src/nvim/testdir/test_langmap.vim
new file mode 100644
index 0000000000..066c3bf2bd
--- /dev/null
+++ b/src/nvim/testdir/test_langmap.vim
@@ -0,0 +1,24 @@
+" tests for 'langmap'
+
+func Test_langmap()
+ new
+ set langmap=}l,^x,%v
+
+ call setline(1, ['abc'])
+ call feedkeys('gg0}^', 'tx')
+ call assert_equal('ac', getline(1))
+
+ " in Replace mode
+ " need silent! to avoid a delay when entering Insert mode
+ call setline(1, ['abcde'])
+ silent! call feedkeys("gg0lR%{z\<Esc>00", 'tx')
+ call assert_equal('a%{ze', getline(1))
+
+ " in Select mode
+ " need silent! to avoid a delay when entering Insert mode
+ call setline(1, ['abcde'])
+ silent! call feedkeys("gg0}%}\<C-G>}^\<Esc>00", 'tx')
+ call assert_equal('a}^de', getline(1))
+
+ quit!
+endfunc
diff --git a/src/nvim/testdir/test_unlet.vim b/src/nvim/testdir/test_unlet.vim
new file mode 100644
index 0000000000..f6705997a9
--- /dev/null
+++ b/src/nvim/testdir/test_unlet.vim
@@ -0,0 +1,26 @@
+" Tests for :unlet
+
+func Test_read_only()
+ try
+ " this caused a crash
+ unlet count
+ catch
+ call assert_true(v:exception =~ ':E795:')
+ endtry
+endfunc
+
+func Test_existing()
+ let does_exist = 1
+ call assert_true(exists('does_exist'))
+ unlet does_exist
+ call assert_false(exists('does_exist'))
+endfunc
+
+func Test_not_existing()
+ unlet! does_not_exist
+ try
+ unlet does_not_exist
+ catch
+ call assert_true(v:exception =~ ':E108:')
+ endtry
+endfunc
diff --git a/src/nvim/version.c b/src/nvim/version.c
index 07ae2cb2d4..1a66589080 100644
--- a/src/nvim/version.c
+++ b/src/nvim/version.c
@@ -225,11 +225,11 @@ static int included_patches[] = {
// 1471 NA
// 1470 NA
// 1469 NA
- // 1468,
+ 1468,
// 1467 NA
// 1466 NA
// 1465 NA
- // 1464,
+ 1464,
// 1463 NA
// 1462 NA
// 1461 NA
@@ -296,10 +296,10 @@ static int included_patches[] = {
// 1400 NA
// 1399 NA
// 1398 NA
- // 1397,
+ 1397,
// 1396,
// 1395 NA
- // 1394,
+ 1394,
// 1393 NA
// 1392 NA
// 1391 NA
@@ -470,7 +470,7 @@ static int included_patches[] = {
// 1226 NA
// 1225 NA
// 1224 NA
- // 1223,
+ 1223,
// 1222 NA
// 1221 NA
// 1220 NA
@@ -540,10 +540,10 @@ static int included_patches[] = {
// 1156 NA
// 1155 NA
// 1154 NA
- // 1153,
+ 1153,
// 1152 NA
- // 1151,
- // 1150,
+ 1151,
+ 1150,
1149,
// 1148 NA
// 1147,
@@ -563,7 +563,7 @@ static int included_patches[] = {
// 1133 NA
1132,
// 1131 NA
- // 1130,
+ // 1130 NA
// 1129 NA
// 1128 NA
// 1127 NA
@@ -599,11 +599,11 @@ static int included_patches[] = {
// 1097,
1096,
// 1095 NA
- // 1094,
+ 1094,
1093,
1092,
1091,
- // 1090,
+ 1090,
1089,
1088,
1087,
@@ -625,7 +625,7 @@ static int included_patches[] = {
1071,
// 1070 NA
// 1069 NA
- // 1068,
+ 1068,
// 1067 NA
// 1066 NA
1065,
@@ -642,7 +642,7 @@ static int included_patches[] = {
1054,
1053,
1052,
- // 1051,
+ 1051,
1050,
1049,
1048,