1
0
forked from aniani/vim

updated for version 7.0c10

This commit is contained in:
Bram Moolenaar
2006-04-05 20:41:53 +00:00
parent e2f98b95c8
commit 910f66f90c
128 changed files with 11811 additions and 2961 deletions

View File

@@ -2176,6 +2176,14 @@ do_one_cmd(cmdlinep, sourcing,
errormsg = (char_u *)_(e_secure);
goto doend;
}
#ifdef FEAT_AUTOCMD
if (!(ea.argt & CMDWIN)
# ifdef FEAT_USR_CMDS
&& !USER_CMDIDX(ea.cmdidx)
# endif
&& curbuf_locked())
goto doend;
#endif
if (!ni && !(ea.argt & RANGE) && ea.addr_count > 0)
{
@@ -4587,6 +4595,14 @@ getargopt(eap)
return OK;
}
/* ":read ++edit file" */
if (STRNCMP(arg, "edit", 4) == 0)
{
eap->read_edit = TRUE;
eap->arg = skipwhite(arg + 4);
return OK;
}
if (STRNCMP(arg, "ff", 2) == 0)
{
arg += 2;
@@ -6086,6 +6102,10 @@ ex_quit(eap)
text_locked_msg();
return;
}
#ifdef FEAT_AUTOCMD
if (curbuf_locked())
return;
#endif
#ifdef FEAT_NETBEANS_INTG
netbeansForcedQuit = eap->forceit;
@@ -6155,6 +6175,10 @@ ex_quit_all(eap)
text_locked_msg();
return;
}
#ifdef FEAT_AUTOCMD
if (curbuf_locked())
return;
#endif
exiting = TRUE;
if (eap->forceit || !check_changed_any(FALSE))
@@ -6175,7 +6199,11 @@ ex_close(eap)
cmdwin_result = K_IGNORE;
else
# endif
if (!text_locked())
if (!text_locked()
#ifdef FEAT_AUTOCMD
&& !curbuf_locked()
#endif
)
ex_win_close(eap->forceit, curwin, NULL);
}
@@ -6275,7 +6303,11 @@ ex_tabclose(eap)
return;
}
}
if (!text_locked())
if (!text_locked()
#ifdef FEAT_AUTOCMD
&& !curbuf_locked()
#endif
)
tabpage_close(eap->forceit);
}
@@ -6481,6 +6513,10 @@ ex_exit(eap)
text_locked_msg();
return;
}
#ifdef FEAT_AUTOCMD
if (curbuf_locked())
return;
#endif
/*
* if more files or windows we won't exit
@@ -6596,6 +6632,10 @@ handle_drop(filec, filev, split)
/* Postpone this while editing the command line. */
if (text_locked())
return;
#ifdef FEAT_AUTOCMD
if (curbuf_locked())
return;
#endif
/* Check whether the current buffer is changed. If so, we will need
* to split the current window or data could be lost.
@@ -10300,7 +10340,7 @@ ex_loadview(eap)
fname = get_view_file(*eap->arg);
if (fname != NULL)
{
do_source(fname, FALSE, FALSE);
do_source(fname, FALSE, DOSO_NONE);
vim_free(fname);
}
}
@@ -10658,6 +10698,8 @@ ex_match(eap)
{
vim_free(curwin->w_match[mi].regprog);
curwin->w_match[mi].regprog = NULL;
vim_free(curwin->w_match_pat[mi]);
curwin->w_match_pat[mi] = NULL;
redraw_later(SOME_VALID); /* always need a redraw */
}
@@ -10703,12 +10745,14 @@ ex_match(eap)
c = *end;
*end = NUL;
curwin->w_match[mi].regprog = vim_regcomp(p + 1, RE_MAGIC);
*end = c;
if (curwin->w_match[mi].regprog == NULL)
{
EMSG2(_(e_invarg2), p);
*end = c;
return;
}
curwin->w_match_pat[mi] = vim_strsave(p + 1);
*end = c;
}
}
eap->nextcmd = find_nextcmd(end);