summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2005-05-18 22:24:46 +0000
committerBram Moolenaar <Bram@vim.org>2005-05-18 22:24:46 +0000
commit34cdc3e32917a3812a8ec4369c64ef3e35243cfd (patch)
treea192d6da2ccb602a9b265519be64d4c170e2d8e3 /src
parenta7fc0101b2c5feb7fc70eb79e5b02c61c7de545f (diff)
updated for version 7.0072v7.0072
Diffstat (limited to 'src')
-rw-r--r--src/eval.c100
-rw-r--r--src/ex_cmds.c2
-rw-r--r--src/ex_cmds2.c30
-rw-r--r--src/option.h2
-rw-r--r--src/po/it.po1311
-rw-r--r--src/syntax.c2
-rw-r--r--src/testdir/Make_vms.mms5
-rw-r--r--src/testdir/Makefile2
-rw-r--r--src/testdir/test56.in21
-rw-r--r--src/testdir/test56.ok2
10 files changed, 857 insertions, 620 deletions
diff --git a/src/eval.c b/src/eval.c
index b33412e9d8..e2d3d93400 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -580,8 +580,12 @@ static pos_T *var2fpos __ARGS((typval_T *varp, int lnum));
static int get_env_len __ARGS((char_u **arg));
static int get_id_len __ARGS((char_u **arg));
static int get_name_len __ARGS((char_u **arg, char_u **alias, int evaluate, int verbose));
-static char_u *find_name_end __ARGS((char_u *arg, char_u **expr_start, char_u **expr_end, int incl_br));
+static char_u *find_name_end __ARGS((char_u *arg, char_u **expr_start, char_u **expr_end, int flags));
+#define FNE_INCL_BR 1 /* find_name_end(): include [] in name */
+#define FNE_CHECK_START 2 /* find_name_end(): check name starts with
+ valid character */
static int eval_isnamec __ARGS((int c));
+static int eval_isnamec1 __ARGS((int c));
static int get_var_tv __ARGS((char_u *name, int len, typval_T *rettv, int verbose));
static int handle_subscript __ARGS((char_u **arg, typval_T *rettv, int evaluate, int verbose));
static typval_T *alloc_tv __ARGS((void));
@@ -650,7 +654,7 @@ static void list_vim_vars __ARGS((void));
static char_u *list_arg_vars __ARGS((exarg_T *eap, char_u *arg));
static char_u *ex_let_one __ARGS((char_u *arg, typval_T *tv, int copy, char_u *endchars, char_u *op));
static int check_changedtick __ARGS((char_u *arg));
-static char_u *get_lval __ARGS((char_u *name, typval_T *rettv, lval_T *lp, int unlet, int skip, int quiet));
+static char_u *get_lval __ARGS((char_u *name, typval_T *rettv, lval_T *lp, int unlet, int skip, int quiet, int fne_flags));
static void clear_lval __ARGS((lval_T *lp));
static void set_var_lval __ARGS((lval_T *lp, char_u *endp, typval_T *rettv, int copy, char_u *op));
static int tv_op __ARGS((typval_T *tv1, typval_T *tv2, char_u *op));
@@ -663,6 +667,9 @@ static int do_lock_var __ARGS((lval_T *lp, char_u *name_end, int deep, int lock)
static void item_lock __ARGS((typval_T *tv, int deep, int lock));
static int tv_islocked __ARGS((typval_T *tv));
+/* Character used as separated in autoload function/variable names. */
+#define AUTOLOAD_CHAR '#'
+
/*
* Initialize the global and v: variables.
*/
@@ -792,7 +799,7 @@ var_redir_start(name, append)
typval_T tv;
/* Make sure a valid variable name is specified */
- if (!eval_isnamec(*name) || VIM_ISDIGIT(*name))
+ if (!eval_isnamec1(*name))
{
EMSG(_(e_invarg));
return FAIL;
@@ -810,7 +817,8 @@ var_redir_start(name, append)
}
/* Parse the variable name (can be a dict or list entry). */
- redir_endp = get_lval(redir_varname, NULL, redir_lval, FALSE, FALSE, FALSE);
+ redir_endp = get_lval(redir_varname, NULL, redir_lval, FALSE, FALSE, FALSE,
+ FNE_CHECK_START);
if (redir_endp == NULL || redir_lval->ll_name == NULL || *redir_endp != NUL)
{
if (redir_endp != NULL && *redir_endp != NUL)
@@ -1551,7 +1559,7 @@ skip_var_one(arg)
{
if (vim_strchr((char_u *)"$@&", *arg) != NULL)
++arg;
- return find_name_end(arg, NULL, NULL, TRUE);
+ return find_name_end(arg, NULL, NULL, FNE_INCL_BR | FNE_CHECK_START);
}
/*
@@ -1643,7 +1651,7 @@ list_arg_vars(eap, arg)
{
if (error || eap->skip)
{
- arg = find_name_end(arg, NULL, NULL, TRUE);
+ arg = find_name_end(arg, NULL, NULL, FNE_INCL_BR | FNE_CHECK_START);
if (!vim_iswhite(*arg) && !ends_excmd(*arg))
{
emsg_severe = TRUE;
@@ -1888,11 +1896,11 @@ ex_let_one(arg, tv, copy, endchars, op)
* ":let var = expr": Set internal variable.
* ":let {expr} = expr": Idem, name made with curly braces
*/
- else if ((eval_isnamec(*arg) && !VIM_ISDIGIT(*arg)) || *arg == '{')
+ else if (eval_isnamec1(*arg) || *arg == '{')
{
lval_T lv;
- p = get_lval(arg, tv, &lv, FALSE, FALSE, FALSE);
+ p = get_lval(arg, tv, &lv, FALSE, FALSE, FALSE, FNE_CHECK_START);
if (p != NULL && lv.ll_name != NULL)
{
if (endchars != NULL && vim_strchr(endchars, *skipwhite(p)) == NULL)
@@ -1942,13 +1950,14 @@ check_changedtick(arg)
* Returns NULL for a parsing error. Still need to free items in "lp"!
*/
static char_u *
-get_lval(name, rettv, lp, unlet, skip, quiet)
+get_lval(name, rettv, lp, unlet, skip, quiet, fne_flags)
char_u *name;
typval_T *rettv;
lval_T *lp;
int unlet;
int skip;
int quiet; /* don't give error messages */
+ int fne_flags; /* flags for find_name_end() */
{
char_u *p;
char_u *expr_start, *expr_end;
@@ -1969,11 +1978,11 @@ get_lval(name, rettv, lp, unlet, skip, quiet)
{
/* When skipping just find the end of the name. */
lp->ll_name = name;
- return find_name_end(name, NULL, NULL, TRUE);
+ return find_name_end(name, NULL, NULL, FNE_INCL_BR | fne_flags);
}
/* Find the end of the name. */
- p = find_name_end(name, &expr_start, &expr_end, FALSE);
+ p = find_name_end(name, &expr_start, &expr_end, fne_flags);
if (expr_start != NULL)
{
/* Don't expand the name when we already know there is an error. */
@@ -2842,7 +2851,8 @@ ex_unletlock(eap, argstart, deep)
do
{
/* Parse the name and find the end. */
- name_end = get_lval(arg, NULL, &lv, TRUE, eap->skip || error, FALSE);
+ name_end = get_lval(arg, NULL, &lv, TRUE, eap->skip || error, FALSE,
+ FNE_CHECK_START);
if (lv.ll_name == NULL)
error = TRUE; /* error but continue parsing */
if (name_end == NULL || (!vim_iswhite(*name_end)
@@ -10178,7 +10188,8 @@ f_islocked(argvars, rettv)
dictitem_T *di;
rettv->vval.v_number = -1;
- end = get_lval(get_tv_string(&argvars[0]), NULL, &lv, FALSE, FALSE, FALSE);
+ end = get_lval(get_tv_string(&argvars[0]), NULL, &lv, FALSE, FALSE, FALSE,
+ FNE_CHECK_START);
if (end != NULL && lv.ll_name != NULL)
{
if (*end != NUL)
@@ -13967,7 +13978,8 @@ get_name_len(arg, alias, evaluate, verbose)
/*
* Find the end of the name; check for {} construction.
*/
- p = find_name_end(*arg, &expr_start, &expr_end, FALSE);
+ p = find_name_end(*arg, &expr_start, &expr_end,
+ len > 0 ? 0 : FNE_CHECK_START);
if (expr_start != NULL)
{
char_u *temp_string;
@@ -14002,15 +14014,16 @@ get_name_len(arg, alias, evaluate, verbose)
* Find the end of a variable or function name, taking care of magic braces.
* If "expr_start" is not NULL then "expr_start" and "expr_end" are set to the
* start and end of the first magic braces item.
+ * "flags" can have FNE_INCL_BR and FNE_CHECK_START.
* Return a pointer to just after the name. Equal to "arg" if there is no
* valid name.
*/
static char_u *
-find_name_end(arg, expr_start, expr_end, incl_br)
+find_name_end(arg, expr_start, expr_end, flags)
char_u *arg;
char_u **expr_start;
char_u **expr_end;
- int incl_br; /* Include [] indexes and .name */
+ int flags;
{
int mb_nest = 0;
int br_nest = 0;
@@ -14022,10 +14035,14 @@ find_name_end(arg, expr_start, expr_end, incl_br)
*expr_end = NULL;
}
+ /* Quick check for valid starting character. */
+ if ((flags & FNE_CHECK_START) && !eval_isnamec1(*arg) && *arg != '{')
+ return arg;
+
for (p = arg; *p != NUL
&& (eval_isnamec(*p)
|| *p == '{'
- || (incl_br && (*p == '[' || *p == '.'))
+ || ((flags & FNE_INCL_BR) && (*p == '[' || *p == '.'))
|| mb_nest != 0
|| br_nest != 0); ++p)
{
@@ -14108,7 +14125,7 @@ make_expanded_name(in_start, expr_start, expr_end, in_end)
if (retval != NULL)
{
- temp_result = find_name_end(retval, &expr_start, &expr_end, FALSE);
+ temp_result = find_name_end(retval, &expr_start, &expr_end, 0);
if (expr_start != NULL)
{
/* Further expansion! */
@@ -14130,7 +14147,18 @@ make_expanded_name(in_start, expr_start, expr_end, in_end)
eval_isnamec(c)
int c;
{
- return (ASCII_ISALNUM(c) || c == '_' || c == ':');
+ return (ASCII_ISALNUM(c) || c == '_' || c == ':' || c == AUTOLOAD_CHAR);
+}
+
+/*
+ * Return TRUE if character "c" can be used as the first character in a
+ * variable or function name (excluding '{' and '}').
+ */
+ static int
+eval_isnamec1(c)
+ int c;
+{
+ return (ASCII_ISALPHA(c) || c == '_');
}
/*
@@ -14729,8 +14757,8 @@ find_var_ht(name, varname)
{
if (name[1] != ':')
{
- /* The name must not start with a colon. */
- if (name[0] == ':')
+ /* The name must not start with a colon or #. */
+ if (name[0] == ':' || name[0] == AUTOLOAD_CHAR)
return NULL;
*varname = name;
@@ -14745,8 +14773,10 @@ find_var_ht(name, varname)
*varname = name + 2;
if (*name == 'g') /* global variable */
return &globvarht;
- /* There must be no ':' in the rest of the name, unless g: is used */
- if (vim_strchr(name + 2, ':') != NULL)
+ /* There must be no ':' or '#' in the rest of the name, unless g: is used
+ */
+ if (vim_strchr(name + 2, ':') != NULL
+ || vim_strchr(name + 2, AUTOLOAD_CHAR) != NULL)
return NULL;
if (*name == 'b') /* buffer variable */
return &curbuf->b_vars.dv_hashtab;
@@ -15886,7 +15916,7 @@ ex_function(eap)
if (fp == NULL)
{
- if (fudi.fd_dict == NULL && vim_strchr(name, ':') != NULL)
+ if (fudi.fd_dict == NULL && vim_strchr(name, AUTOLOAD_CHAR) != NULL)
{
int slen, plen;
char_u *scriptname;
@@ -16018,7 +16048,8 @@ trans_function_name(pp, skip, flags, fdp)
if (lead > 2)
start += lead;
- end = get_lval(start, NULL, &lv, FALSE, skip, flags & TFN_QUIET);
+ end = get_lval(start, NULL, &lv, FALSE, skip, flags & TFN_QUIET,
+ lead > 2 ? 0 : FNE_CHECK_START);
if (end == start)
{
if (!skip)
@@ -16038,7 +16069,7 @@ trans_function_name(pp, skip, flags, fdp)
EMSG2(_(e_invarg2), start);
}
else
- *pp = find_name_end(start, NULL, NULL, TRUE);
+ *pp = find_name_end(start, NULL, NULL, FNE_INCL_BR);
goto theend;
}
@@ -16236,13 +16267,14 @@ function_exists(name)
/*
* Return TRUE if "name" looks like a builtin function name: starts with a
- * lower case letter and doesn't contain a ':'.
+ * lower case letter and doesn't contain a ':' or AUTOLOAD_CHAR.
*/
static int
builtin_function(name)
char_u *name;
{
- return ASCII_ISLOWER(name[0]) && vim_strchr(name, ':') == NULL;
+ return ASCII_ISLOWER(name[0]) && vim_strchr(name, ':') == NULL
+ && vim_strchr(name, AUTOLOAD_CHAR) == NULL;
}
#if defined(FEAT_PROFILE) || defined(PROTO)
@@ -16440,7 +16472,7 @@ script_autoload(name)
int ret = FALSE;
/* If there is no colon after name[1] there is no package name. */
- p = vim_strchr(name, ':');
+ p = vim_strchr(name, AUTOLOAD_CHAR);
if (p == NULL || p <= name + 2)
return FALSE;
@@ -16464,15 +16496,15 @@ autoload_name(name)
char_u *p;
char_u *scriptname;
- /* Get the script file name: replace ':' with '/', append ".vim". */
+ /* Get the script file name: replace '#' with '/', append ".vim". */
scriptname = alloc((unsigned)(STRLEN(name) + 14));
if (scriptname == NULL)
return FALSE;
STRCPY(scriptname, "autoload/");
STRCAT(scriptname, name);
- *vim_strrchr(scriptname, ':') = NUL;
+ *vim_strrchr(scriptname, AUTOLOAD_CHAR) = NUL;
STRCAT(scriptname, ".vim");
- while ((p = vim_strchr(scriptname, ':')) != NULL)
+ while ((p = vim_strchr(scriptname, AUTOLOAD_CHAR)) != NULL)
*p = '/';
return scriptname;
}
@@ -16852,7 +16884,7 @@ call_user_func(fp, argcount, argvars, rettv, firstline, lastline, selfdict)
else
{
trunc_string(tv2string(&argvars[i], &tofree, numbuf),
- buf, MSG_BUF_LEN);
+ buf, MSG_BUF_CLEN);
msg_puts(buf);
vim_free(tofree);
}
@@ -16940,7 +16972,7 @@ call_user_func(fp, argcount, argvars, rettv, firstline, lastline, selfdict)
char_u *tofree;
trunc_string(tv2string(fc.rettv, &tofree, numbuf),
- buf, MSG_BUF_LEN);
+ buf, MSG_BUF_CLEN);
smsg((char_u *)_("%s returning %s"), sn, buf);
vim_free(tofree);
}
diff --git a/src/ex_cmds.c b/src/ex_cmds.c
index 791762c042..680188d93d 100644
--- a/src/ex_cmds.c
+++ b/src/ex_cmds.c
@@ -6307,7 +6307,7 @@ sign_list_defined(sp)
{
char_u *p;
- smsg((char_u *)"sign %s", sp->sn_name);
+ msg_str((char_u *)"sign %s", sp->sn_name);
if (sp->sn_icon != NULL)
{
MSG_PUTS(" icon=");
diff --git a/src/ex_cmds2.c b/src/ex_cmds2.c
index 4dc0f0cc15..f9e1e5a93c 100644
--- a/src/ex_cmds2.c
+++ b/src/ex_cmds2.c
@@ -141,7 +141,14 @@ do_debug(cmd)
if (sourcing_name != NULL)
msg(sourcing_name);
if (sourcing_lnum != 0)
- smsg((char_u *)_("line %ld: %s"), (long)sourcing_lnum, cmd);
+ {
+ char_u buf[IOSIZE];
+
+ /* Truncate the command, the whole must fit in IObuff. */
+ STRNCPY(buf, cmd, IOSIZE - 50);
+ buf[IOSIZE - 50] = NUL;
+ smsg((char_u *)_("line %ld: %s"), (long)sourcing_lnum, buf);
+ }
else
msg_str((char_u *)_("cmd: %s"), cmd);
@@ -1942,6 +1949,7 @@ do_argfile(eap, argn)
{
int other;
char_u *p;
+ int old_arg_idx = curwin->w_arg_idx;
if (argn < 0 || argn >= ARGCOUNT)
{
@@ -1995,14 +2003,16 @@ do_argfile(eap, argn)
)
arg_had_last = TRUE;
- /* Edit the file; always use the last known line number. */
- (void)do_ecmd(0, alist_name(&ARGLIST[curwin->w_arg_idx]), NULL,
+ /* Edit the file; always use the last known line number.
+ * When it fails (e.g. Abort for already edited file) restore the
+ * argument index. */
+ if (do_ecmd(0, alist_name(&ARGLIST[curwin->w_arg_idx]), NULL,
eap, ECMD_LAST,
(P_HID(curwin->w_buffer) ? ECMD_HIDE : 0) +
- (eap->forceit ? ECMD_FORCEIT : 0));
-
+ (eap->forceit ? ECMD_FORCEIT : 0)) == FAIL)
+ curwin->w_arg_idx = old_arg_idx;
/* like Vi: set the mark where the cursor is in the file. */
- if (eap->cmdidx != CMD_argdo)
+ else if (eap->cmdidx != CMD_argdo)
setmark('\'');
}
}
@@ -2463,8 +2473,14 @@ do_in_runtimepath(name, all, callback, cookie)
if (buf != NULL && rtp_copy != NULL)
{
if (p_verbose > 1)
- smsg((char_u *)_("Searching for \"%s\" in \"%s\""),
+ {
+ if (STRLEN(name) + STRLEN(p_rtp) > IOSIZE - 100)
+ MSG(_("Searching for a long name in 'runtimepath'"));
+ else
+ smsg((char_u *)_("Searching for \"%s\" in \"%s\""),
(char *)name, (char *)p_rtp);
+ }
+
/* Loop over all entries in 'runtimepath'. */
rtp = rtp_copy;
while (*rtp != NUL && (all || !did_one))
diff --git a/src/option.h b/src/option.h
index 0e19970f19..daeb3662d2 100644
--- a/src/option.h
+++ b/src/option.h
@@ -42,7 +42,7 @@
# ifdef EBCDIC
#define DFLT_EFM "%*[^ ] %*[^ ] %f:%l%*[ ]%m,%*[^\"]\"%f\"%*\\D%l: %m,\"%f\"%*\\D%l: %m,%f:%l:%c:%m,%f(%l):%m,%f:%l:%m,\"%f\"\\, line %l%*\\D%c%*[^ ] %m,%D%*\\a[%*\\d]: Entering directory `%f',%X%*\\a[%*\\d]: Leaving directory `%f',%DMaking %*\\a in %f,%f|%l| %m"
# else
-#define DFLT_EFM "%*[^\"]\"%f\"%*\\D%l: %m,\"%f\"%*\\D%l: %m,%-G%f:%l: (Each undeclared identifier is reported only once,%-G%f:%l: for each function it appears in.),%f:%l:%c:%m,%f(%l):%m,%f:%l:%m,\"%f\"\\, line %l%*\\D%c%*[^ ] %m,%D%*\\a[%*\\d]: Entering directory `%f',%X%*\\a[%*\\d]: Leaving directory `%f',%DMaking %*\\a in %f,%f|%l| %m"
+#define DFLT_EFM "%*[^\"]\"%f\"%*\\D%l: %m,\"%f\"%*\\D%l: %m,%-G%f:%l: (Each undeclared identifier is reported only once,%-G%f:%l: for each function it appears in.),%f:%l:%c:%m,%f(%l):%m,%f:%l:%m,\"%f\"\\, line %l%*\\D%c%*[^ ] %m,%D%*\\a[%*\\d]: Entering directory `%f',%X%*\\a[%*\\d]: Leaving directory `%f',%D%*\\a: Entering directory `%f',%X%*\\a: Leaving directory `%f',%DMaking %*\\a in %f,%f|%l| %m"
# endif
# endif
# endif
diff --git a/src/po/it.po b/src/po/it.po
index 4cda33cabe..4a24a6cabc 100644
--- a/src/po/it.po
+++ b/src/po/it.po
@@ -13,8 +13,8 @@ msgid ""
msgstr ""
"Project-Id-Version: vim 7.0\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-04-09 23:31+0200\n"
-"PO-Revision-Date: 2005-04-09 23:31+0200\n"
+"POT-Creation-Date: 2005-04-29 22:25+0200\n"
+"PO-Revision-Date: 2005-05-06 22:45+0200\n"
"Last-Translator: Vlad Sandrini <marco@sandrini.biz>\n"
"Language-Team: Italian"
" Antonio Colombo <azc10@yahoo.com>"
@@ -124,80 +124,80 @@ msgstr "E93: Più di una corrispondenza per %s"
msgid "E94: No matching buffer for %s"
msgstr "E94: Nessun buffer corrispondente a %s"
-#: buffer.c:2474
+#: buffer.c:2479
#, c-format
msgid "line %ld"
msgstr "linea %ld"
-#: buffer.c:2562
+#: buffer.c:2567
msgid "E95: Buffer with this name already exists"
msgstr "E95: C'è già un buffer con questo nome"
-#: buffer.c:2879
+#: buffer.c:2884
msgid " [Modified]"
msgstr " [Modificato]"
-#: buffer.c:2884
+#: buffer.c:2889
msgid "[Not edited]"
msgstr "[Non elaborato]"
-#: buffer.c:2889
+#: buffer.c:2894
msgid "[New file]"
msgstr "[File nuovo]"
-#: buffer.c:2890
+#: buffer.c:2895
msgid "[Read errors]"
msgstr "[Errori in lettura]"
-#: buffer.c:2892 fileio.c:2107 netbeans.c:3382
+#: buffer.c:2897 fileio.c:2107 netbeans.c:3382
msgid "[readonly]"
msgstr "[in sola lettura]"
-#: buffer.c:2913
+#: buffer.c:2918
#, c-format
msgid "1 line --%d%%--"
msgstr "1 linea --%d%%--"
-#: buffer.c:2915
+#: buffer.c:2920
#, c-format
msgid "%ld lines --%d%%--"
msgstr "%ld linee --%d%%--"
-#: buffer.c:2922
+#: buffer.c:2927
#, c-format
msgid "line %ld of %ld --%d%%-- col "
msgstr "linea %ld di %ld --%d%%-- col "
-#: buffer.c:3030 buffer.c:4751 memline.c:1657
+#: buffer.c:3035 buffer.c:4756 memline.c:1657
msgid "[No Name]"
msgstr "[Senza nome]"
#. must be a help buffer
-#: buffer.c:3069
+#: buffer.c:3074
msgid "help"
msgstr "aiuto"
-#: buffer.c:3620 screen.c:5144
+#: buffer.c:3625 screen.c:5147
msgid "[help]"
msgstr "[aiuto]"
-#: buffer.c:3652 screen.c:5150
+#: buffer.c:3657 screen.c:5153
msgid "[Preview]"
msgstr "[Anteprima]"
-#: buffer.c:3932
+#: buffer.c:3937
msgid "All"
msgstr "Tut"
-#: buffer.c:3932
+#: buffer.c:3937
msgid "Bot"
msgstr "Fon"
-#: buffer.c:3934
+#: buffer.c:3939
msgid "Top"
msgstr "Cim"
-#: buffer.c:4703
+#: buffer.c:4708
#, c-format
msgid ""
"\n"
@@ -206,11 +206,11 @@ msgstr ""
"\n"
"# Lista Buffer:\n"
-#: buffer.c:4738
+#: buffer.c:4743
msgid "[Error List]"
msgstr "[Lista Errori]"
-#: buffer.c:5064
+#: buffer.c:5069
msgid ""
"\n"
"--- Signs ---"
@@ -218,16 +218,28 @@ msgstr ""
"\n"
"--- Segni ---"
-#: buffer.c:5083
+#: buffer.c:5088
#, c-format
msgid "Signs for %s:"
msgstr "Segni per %s:"
-#: buffer.c:5089
+#: buffer.c:5094
#, c-format
msgid " line=%ld id=%d name=%s"
msgstr " linea=%ld id=%d, nome=%s"
+#: charset.c:1008
+msgid "E761: Format error in affix file FOL, LOW or UPP"
+msgstr "E761: Errore di formato nel file affissi FOL, LOW o UPP"
+
+#: charset.c:1009
+msgid "E762: Character in FOL, LOW or UPP is out of range"
+msgstr "E762: Carattere fuori intervallo in FOL, LOW o UPP"
+
+#: charset.c:1136
+msgid "E763: Word characters differ between spell files"
+msgstr "E763: Caratteri di parola differenti nei file ortografici"
+
#: diff.c:163
#, c-format
msgid "E96: Can not diff more than %ld buffers"
@@ -334,38 +346,38 @@ msgstr " Completamento definito dall'utente (^U^N^P)"
msgid "Hit end of paragraph"
msgstr "Giunto alla fine del paragrafo"
-#: edit.c:999
+#: edit.c:1000
msgid "'thesaurus' option is empty"
msgstr "l'opzione 'thesaurus' è vuota"
-#: edit.c:1219
+#: edit.c:1221
msgid "'dictionary' option is empty"
msgstr "l'opzione 'dictionary' è vuota"
-#: edit.c:2219
+#: edit.c:2221
#, c-format
msgid "Scanning dictionary: %s"
msgstr "Scansione dizionario: %s"
-#: edit.c:2425
+#: edit.c:2427
msgid " (insert) Scroll (^E/^Y)"
msgstr " (inserisci) Scroll (^E/^Y)"
-#: edit.c:2427
+#: edit.c:2429
msgid " (replace) Scroll (^E/^Y)"
msgstr " (sostituisci) Scroll (^E/^Y)"
-#: edit.c:2828
+#: edit.c:2830
#, c-format
msgid "Scanning: %s"
msgstr "Scansione: %s"
-#: edit.c:2863
+#: edit.c:2865
#, c-format
msgid "Scanning tags."
msgstr "Scansione tag."
-#: edit.c:3564
+#: edit.c:3566
msgid " Adding"
msgstr " Aggiungo"
@@ -373,28 +385,28 @@ msgstr " Aggiungo"
#. * be called before line = ml_get(), or when this address is no
#. * longer needed. -- Acevedo.
#.
-#: edit.c:3613
+#: edit.c:3615
msgid "-- Searching..."
msgstr "-- Ricerca..."
-#: edit.c:3669
+#: edit.c:3671
msgid "Back at original"
msgstr "Ritorno all'originale"
-#: edit.c:3674
+#: edit.c:3676
msgid "Word from other line"
msgstr "Parola da un'altra linea"
-#: edit.c:3679
+#: edit.c:3681
msgid "The only match"
msgstr "L'unica corrispondenza"
-#: edit.c:3738
+#: edit.c:3740
#, c-format
msgid "match %d of %d"
msgstr "corrispondenza %d di %d"
-#: edit.c:3741
+#: edit.c:3743
#, c-format
msgid "match %d"
msgstr "corripondenza %d"
@@ -424,7 +436,7 @@ msgstr "E686: L'argomento di %s deve essere una Lista"
#: eval.c:98
#, c-format
-msgid "E712: Argument of %s must be a List or Dictionaary"
+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:99
@@ -630,7 +642,7 @@ msgstr "E699: Troppi argomenti"
#. * this way has the compelling advantage that translations need not to
#. * be touched at all. See below what 'ok' and 'ync' are used for.
#.
-#: eval.c:7303 gui.c:4406 gui_gtk.c:2137 os_mswin.c:602
+#: eval.c:7303 gui.c:4410 gui_gtk.c:2137 os_mswin.c:602
msgid "&Ok"
msgstr "&OK"
@@ -677,7 +689,7 @@ msgstr "E726: Incremento indice a zero"
msgid "E727: Start past end"
msgstr "E727: Indice iniziale superiore a quello finale"
-#: eval.c:11216 eval.c:13794
+#: eval.c:11216 eval.c:13807
msgid "<empty>"
msgstr "<vuoto>"
@@ -698,156 +710,156 @@ msgstr "E277: Non riesco a leggere una risposta del server"
msgid "E655: Too many symbolic links (cycle?)"
msgstr "E655: Troppi link simbolici (circolarità?)"
-#: eval.c:12208
+#: eval.c:12221
msgid "E258: Unable to send to client"
msgstr "E258: Impossibile inviare al client"
-#: eval.c:12639
+#: eval.c:12652
msgid "E702: Sort compare function failed"
msgstr "E702: Funzione confronto nel sort non riuscita"
-#: eval.c:12758
+#: eval.c:12771
msgid "(Invalid)"
msgstr "(Non valido)"
-#: eval.c:13181
+#: eval.c:13194
msgid "E677: Error writing temp file"
msgstr "E677: Errore in scrittura su file temporaneo"
-#: eval.c:14555
+#: eval.c:14568
msgid "E703: Using a Funcref as a number"
msgstr "E703: Uso di Funcref come numero"
-#: eval.c:14563
+#: eval.c:14576
msgid "E745: Using a List as a number"
msgstr "E745: Uso di Lista come numero"
-#: eval.c:14566
+#: eval.c:14579
msgid "E728: Using a Dictionary as a number"
msgstr "E728: Uso di Dizionario come numero"
-#: eval.c:14624
+#: eval.c:14637
msgid "E729: using Funcref as a String"
msgstr "E729: uso di Funcref come Stringa"
-#: eval.c:14627
+#: eval.c:14640
msgid "E730: using List as a String"
msgstr "E730: uso di Lista come Stringa"
-#: eval.c:14630
+#: eval.c:14643
msgid "E731: using Dictionary as a String"
msgstr "E731: uso di Dizionario come Stringa"
-#: eval.c:14960
+#: eval.c:14973
#, c-format
msgid "E704: Funcref variable name must start with a capital: %s"
msgstr ""
"E704: Il nome della variabile Funcref deve iniziare con una maiuscola: %s"
-#: eval.c:14965
+#: eval.c:14978
#, c-format
msgid "705: Variable name conflicts with existing function: %s"
msgstr "705: Nome di variabile in conflitto con una funzione esistente: %s"
-#: eval.c:14974
+#: eval.c:14987
#, c-format
msgid "E461: Illegal variable name: %s"
msgstr "E461: Nome di variabile non ammesso: %s"
-#: eval.c:14991
+#: eval.c:15004
#, c-format
msgid "E706: Variable type mismatch for: %s"
msgstr "E706: Tipo di variabile non corrispondente per: %s"
-#: eval.c:15080
+#: eval.c:15093
#, c-format
msgid "E741: Value is locked: %s"
msgstr "E741: Valore di %s non modificabile"
-#: eval.c:15081 eval.c:15087 os_mswin.c:2207
+#: eval.c:15094 eval.c:15100 os_mswin.c:2207
msgid "Unknown"
msgstr "Sconosciuto"
-#: eval.c:15086
+#: eval.c:15099
#, c-format
msgid "E742: Cannot change value of %s"
msgstr "E742: Non riesco a cambiare il valore di %s"
-#: eval.c:15164
+#: eval.c:15177
msgid "E698: variable nested too deep for making a copy"
msgstr "E698 Variabile troppo nidificata per poterla copiare"
-#: eval.c:15592
+#: eval.c:15605
#, c-format
msgid "E124: Missing '(': %s"
msgstr "E124: Manca '(': %s"
-#: eval.c:15625
+#: eval.c:15638
#, c-format
msgid "E125: Illegal argument: %s"
msgstr "E125: Argomento non ammesso: %s"
-#: eval.c:15713
+#: eval.c:15726
msgid "E126: Missing :endfunction"
msgstr "E126: Manca :endfunction"
-#: eval.c:15899
+#: eval.c:15912
#, c-format
msgid "E746: Function name does not match script file name: %s"
msgstr "E746: Il nome funzione non corrisponde al nome file dello script: %s"
-#: eval.c:16012
+#: eval.c:16025
msgid "E129: Function name required"
msgstr "E129: Nome funzione necessario"
-#: eval.c:16097
+#: eval.c:16110
#, c-format
msgid "E128: Function name must start with a capital or contain a colon: %s"
msgstr ""
"E128: Il nome funzione deve iniziare con una maiuscola o contenere ':': %s"
-#: eval.c:16575
+#: eval.c:16588
#, c-format
msgid "E131: Cannot delete function %s: It is in use"
msgstr "E131: Non posso eliminare la funzione %s: E' in uso"
-#: eval.c:16695
+#: eval.c:16708
msgid "E132: Function call depth is higher than 'maxfuncdepth'"
msgstr ""
"E132: Nidificazione della chiamata di funzione maggiore di 'maxfuncdepth'"
#. always scroll up, don't overwrite
-#: eval.c:16825
+#: eval.c:16838
#, c-format
msgid "calling %s"
msgstr "chiamo %s"
-#: eval.c:16919
+#: eval.c:16932
#, c-format
msgid "%s aborted"
msgstr "%s non completata"
-#: eval.c:16921
+#: eval.c:16934
#, c-format
msgid "%s returning #%ld"
msgstr "%s ritorno #%ld"
-#: eval.c:16931
+#: eval.c:16944
#, c-format
msgid "%s returning %s"
msgstr "%s ritorno %s"
#. always scroll up, don't overwrite
-#: eval.c:16952 ex_cmds2.c:2933
+#: eval.c:16965 ex_cmds2.c:2961
#, c-format
msgid "continuing in %s"
msgstr "continuo in %s"
-#: eval.c:17000
+#: eval.c:17013
msgid "E133: :return not inside a function"
msgstr "E133: :return fuori da una funzione"
-#: eval.c:17400
+#: eval.c:17413
#, c-format
msgid ""
"\n"
@@ -860,7 +872,7 @@ msgstr ""
msgid "Entering Debug mode. Type \"cont\" to continue."
msgstr "Entro modalità Debug. Batti \"cont\" per continuare."
-#: ex_cmds2.c:144 ex_docmd.c:1064
+#: ex_cmds2.c:144 ex_docmd.c:1067
#, c-format
msgid "line %ld: %s"
msgstr "linea %ld: %s"
@@ -902,7 +914,7 @@ msgstr "Salva con Nome"
msgid "Save changes to \"%.*s\"?"
msgstr "Salvare modifiche a \"%.*s\"?"
-#: ex_cmds2.c:1307 ex_docmd.c:9902
+#: ex_cmds2.c:1307 ex_docmd.c:9914
msgid "Untitled"
msgstr "Senza Nome"
@@ -917,199 +929,199 @@ msgstr ""
"Attenzione: Entrato in altro buffer inaspettatamente (controllare "
"autocomandi)"
-#: ex_cmds2.c:1924
+#: ex_cmds2.c:1949
msgid "E163: There is only one file to edit"
msgstr "E163: C'è un solo file da elaborare"
-#: ex_cmds2.c:1926
+#: ex_cmds2.c:1951
msgid "E164: Cannot go before first file"
msgstr "E164: Non posso andare davanti al primo file"
-#: ex_cmds2.c:1928
+#: ex_cmds2.c:1953
msgid "E165: Cannot go beyond last file"
msgstr "E165: Non posso oltrepassare l'ultimo file"
-#: ex_cmds2.c:2341
+#: ex_cmds2.c:2366
#, c-format
msgid "E666: compiler not supported: %s"
msgstr "E666: compilatore non supportato: %s"
-#: ex_cmds2.c:2438
+#: ex_cmds2.c:2466
#, c-format
msgid "Searching for \"%s\" in \"%s\""
msgstr "Cerco \"%s\" in \"%s\""
-#: ex_cmds2.c:2460
+#: ex_cmds2.c:2488
#, c-format
msgid "Searching for \"%s\""
msgstr "Cerco \"%s\""
-#: ex_cmds2.c:2482
+#: ex_cmds2.c:2510
#, c-format
msgid "not found in 'runtimepath': \"%s\""
msgstr "non trovato in 'runtimepath': \"%s\""
-#: ex_cmds2.c:2516
+#: ex_cmds2.c:2544
msgid "Source Vim script"
msgstr "Esegui script Vim"
-#: ex_cmds2.c:2692
+#: ex_cmds2.c:2720
#, c-format
msgid "Cannot source a directory: \"%s\""
msgstr "Non riesco ad eseguire una directory: \"%s\""
-#: ex_cmds2.c:2730
+#: ex_cmds2.c:2758
#, c-format
msgid "could not source \"%s\""
msgstr "non riesco ad eseguire \"%s\""
-#: ex_cmds2.c:2732
+#: ex_cmds2.c:2760
#, c-format
msgid "line %ld: could not source \"%s\""
msgstr "linea %ld: non riesco ad eseguire \"%s\""
-#: ex_cmds2.c:2746
+#: ex_cmds2.c:2774
#, c-format
msgid "sourcing \"%s\""
msgstr "eseguo \"%s\""
-#: ex_cmds2.c:2748
+#: ex_cmds2.c:2776
#, c-format
msgid "line %ld: sourcing \"%s\""
msgstr "linea %ld: eseguo \"%s\""
-#: ex_cmds2.c:2931
+#: ex_cmds2.c:2959
#, c-format
msgid "finished sourcing %s"
msgstr "esecuzione di %s terminata"
-#: ex_cmds2.c:3301
+#: ex_cmds2.c:3329
msgid "W15: Warning: Wrong line separator, ^M may be missing"
msgstr "W15: Attenzione: Separatore di linea errato, forse manca ^M"
-#: ex_cmds2.c:3435
+#: ex_cmds2.c:3463
msgid "E167: :scriptencoding used outside of a sourced file"
msgstr "E167: :scriptencoding usato fuori da un file di comandi"
-#: ex_cmds2.c:3468
+#: ex_cmds2.c:3496
msgid "E168: :finish used outside of a sourced file"
msgstr "E168: :finish usato fuori da file di comandi"
-#: ex_cmds2.c:3918
+#: ex_cmds2.c:3946
#, c-format
msgid "Page %d"
msgstr "Pagina %d"
-#: ex_cmds2.c:4074
+#: ex_cmds2.c:4102
msgid "No text to be printed"
msgstr "Manca testo da stampare"
-#: ex_cmds2.c:4152
+#: ex_cmds2.c:4180
#, c-format
msgid "Printing page %d (%d%%)"
msgstr "Sto stampando pagina %d (%d%%)"
-#: ex_cmds2.c:4164
+#: ex_cmds2.c:4192
#, c-format
msgid " Copy %d of %d"
msgstr " Copia %d di %d"
-#: ex_cmds2.c:4222
+#: ex_cmds2.c:4250
#, c-format
msgid "Printed: %s"
msgstr "Stampato: %s"
-#: ex_cmds2.c:4229
+#: ex_cmds2.c:4257
#, c-format
msgid "Printing aborted"
msgstr "Stampa non completata'"
-#: ex_cmds2.c:4883
+#: ex_cmds2.c:4911
msgid "E455: Error writing to PostScript output file"
msgstr "E455: Errore in scrittura a file PostScript di output"
-#: ex_cmds2.c:5343
+#: ex_cmds2.c:5373
#, c-format
msgid "E624: Can't open file \"%s\""
msgstr "E624: Non riesco ad aprire il file \"%s\""
-#: ex_cmds2.c:5353 ex_cmds2.c:6227
+#: ex_cmds2.c:5383 ex_cmds2.c:6257
#, c-format
msgid "E457: Can't read PostScript resource file \"%s\""
msgstr "E457: Non riesco a leggere file risorse PostScript \"%s\""
-#: ex_cmds2.c:5369
+#: ex_cmds2.c:5399
#, c-format
msgid "E618: file \"%s\" is not a PostScript resource file"
msgstr "E618: file \"%s\" non è un file di risorse PostScript"
-#: ex_cmds2.c:5387 ex_cmds2.c:5406 ex_cmds2.c:5451
+#: ex_cmds2.c:5417 ex_cmds2.c:5436 ex_cmds2.c:5481
#, c-format
msgid "E619: file \"%s\" is not a supported PostScript resource file"
msgstr "E619: file \"%s\" non è un file di risorse PostScript supportato"
-#: ex_cmds2.c:5470
+#: ex_cmds2.c:5500
#, c-format
msgid "E621: \"%s\" resource file has wrong version"
msgstr "E621: il file di risorse \"%s\" ha una versione sbagliata"
-#: ex_cmds2.c:5948
+#: ex_cmds2.c:5978
msgid "E673: Incompatible multi-byte encoding and character set."
msgstr "E673: Codifica e set di caratteri multi-byte non compatibili."
-#: ex_cmds2.c:5965
+#: ex_cmds2.c:5995
msgid "E674: printmbcharset cannot be empty with multi-byte encoding."
msgstr "E674: printmbcharset non può essere nullo con