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

@@ -213,6 +213,7 @@ static int suppress_winsize = 1; /* don't fiddle with console */
get_exe_name(void)
{
char temp[256];
static int did_set_PATH = FALSE;
if (exe_name == NULL)
{
@@ -221,6 +222,29 @@ get_exe_name(void)
if (*temp != NUL)
exe_name = FullName_save((char_u *)temp, FALSE);
}
if (!did_set_PATH && exe_name != NULL)
{
char_u *p;
char_u *newpath;
/* Append our starting directory to $PATH, so that when doing "!xxd"
* it's found in our starting directory. Needed because SearchPath()
* also looks there. */
p = mch_getenv("PATH");
newpath = alloc((unsigned)(STRLEN(p) + STRLEN(exe_name) + 2));
if (newpath != NULL)
{
STRCPY(newpath, p);
STRCAT(newpath, ";");
vim_strncpy(newpath + STRLEN(newpath), exe_name,
gettail_sep(exe_name) - exe_name);
vim_setenv((char_u *)"PATH", newpath);
vim_free(newpath);
}
did_set_PATH = TRUE;
}
}
#if defined(DYNAMIC_GETTEXT) || defined(PROTO)
@@ -4933,6 +4957,7 @@ static int *used_file_indexes = NULL; /* indexes in global_argv[] for
static int used_file_count = 0; /* nr of entries in used_file_indexes */
static int used_file_literal = FALSE; /* take file names literally */
static int used_file_full_path = FALSE; /* file name was full path */
static int used_file_diff_mode = FALSE; /* file name was with diff mode */
static int used_alist_count = 0;
@@ -5001,7 +5026,7 @@ free_cmd_argsW(void)
* is called.
*/
void
used_file_arg(char *name, int literal, int full_path)
used_file_arg(char *name, int literal, int full_path, int diff_mode)
{
int i;
@@ -5016,6 +5041,7 @@ used_file_arg(char *name, int literal, int full_path)
}
used_file_literal = literal;
used_file_full_path = full_path;
used_file_diff_mode = diff_mode;
}
/*
@@ -5072,6 +5098,22 @@ fix_arg_enc(void)
str = ucs2_to_enc(ArglistW[idx], NULL);
if (str != NULL)
{
#ifdef FEAT_DIFF
/* When using diff mode may need to concatenate file name to
* directory name. Just like it's done in main(). */
if (used_file_diff_mode && mch_isdir(str) && GARGCOUNT > 0
&& !mch_isdir(alist_name(&GARGLIST[0])))
{
char_u *r;
r = concat_fnames(str, gettail(alist_name(&GARGLIST[0])), TRUE);
if (r != NULL)
{
vim_free(str);
str = r;
}
}
#endif
/* Re-use the old buffer by renaming it. When not using literal
* names it's done by alist_expand() below. */
if (used_file_literal)