mirror of
https://github.com/neovim/neovim.git
synced 2025-02-25 18:55:25 -06:00
Remove the code related to the shortname option
This commit is contained in:
parent
8500eeed86
commit
89e07185e9
@ -466,7 +466,6 @@ void buf_clear_file(buf_T *buf)
|
|||||||
{
|
{
|
||||||
buf->b_ml.ml_line_count = 1;
|
buf->b_ml.ml_line_count = 1;
|
||||||
unchanged(buf, TRUE);
|
unchanged(buf, TRUE);
|
||||||
buf->b_shortname = FALSE;
|
|
||||||
buf->b_p_eol = TRUE;
|
buf->b_p_eol = TRUE;
|
||||||
buf->b_start_eol = TRUE;
|
buf->b_start_eol = TRUE;
|
||||||
buf->b_p_bomb = FALSE;
|
buf->b_p_bomb = FALSE;
|
||||||
@ -2289,8 +2288,6 @@ setfname (
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
buf->b_shortname = FALSE;
|
|
||||||
|
|
||||||
buf_name_changed(buf);
|
buf_name_changed(buf);
|
||||||
return OK;
|
return OK;
|
||||||
}
|
}
|
||||||
|
@ -596,7 +596,6 @@ struct file_buffer {
|
|||||||
char_u *b_p_qe; /* 'quoteescape' */
|
char_u *b_p_qe; /* 'quoteescape' */
|
||||||
int b_p_ro; /* 'readonly' */
|
int b_p_ro; /* 'readonly' */
|
||||||
long b_p_sw; /* 'shiftwidth' */
|
long b_p_sw; /* 'shiftwidth' */
|
||||||
int b_p_sn; /* 'shortname' */
|
|
||||||
int b_p_si; /* 'smartindent' */
|
int b_p_si; /* 'smartindent' */
|
||||||
long b_p_sts; /* 'softtabstop' */
|
long b_p_sts; /* 'softtabstop' */
|
||||||
long b_p_sts_nopaste; /* b_p_sts saved for paste mode */
|
long b_p_sts_nopaste; /* b_p_sts saved for paste mode */
|
||||||
@ -698,8 +697,6 @@ struct file_buffer {
|
|||||||
are not used! Use the B_SPELL macro to
|
are not used! Use the B_SPELL macro to
|
||||||
access b_spell without #ifdef. */
|
access b_spell without #ifdef. */
|
||||||
|
|
||||||
int b_shortname; /* this file has an 8.3 file name */
|
|
||||||
|
|
||||||
synblock_T b_s; /* Info related to syntax highlighting. w_s
|
synblock_T b_s; /* Info related to syntax highlighting. w_s
|
||||||
* normally points to this, but some windows
|
* normally points to this, but some windows
|
||||||
* may use a different synblock_T. */
|
* may use a different synblock_T. */
|
||||||
|
@ -1510,7 +1510,6 @@ void write_viminfo(char_u *file, int forceit)
|
|||||||
mode_t umask_save;
|
mode_t umask_save;
|
||||||
#endif
|
#endif
|
||||||
#ifdef UNIX
|
#ifdef UNIX
|
||||||
int shortname = FALSE; /* use 8.3 file name */
|
|
||||||
struct stat st_old; /* mch_stat() of existing viminfo file */
|
struct stat st_old; /* mch_stat() of existing viminfo file */
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -1579,9 +1578,7 @@ void write_viminfo(char_u *file, int forceit)
|
|||||||
if (mch_stat((char *)tempname, &st_new) == 0) {
|
if (mch_stat((char *)tempname, &st_new) == 0) {
|
||||||
/*
|
/*
|
||||||
* Try another name. Change one character, just before
|
* Try another name. Change one character, just before
|
||||||
* the extension. This should also work for an 8.3
|
* the extension.
|
||||||
* file name, when after adding the extension it still is
|
|
||||||
* the same file as the original.
|
|
||||||
*/
|
*/
|
||||||
wp = tempname + STRLEN(tempname) - 5;
|
wp = tempname + STRLEN(tempname) - 5;
|
||||||
if (wp < path_tail(tempname)) /* empty file name? */
|
if (wp < path_tail(tempname)) /* empty file name? */
|
||||||
|
108
src/fileio.c
108
src/fileio.c
@ -2997,9 +2997,6 @@ buf_write (
|
|||||||
struct stat st_new;
|
struct stat st_new;
|
||||||
char_u *dirp;
|
char_u *dirp;
|
||||||
char_u *rootname;
|
char_u *rootname;
|
||||||
#if defined(UNIX)
|
|
||||||
int did_set_shortname;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
copybuf = verbose_try_malloc(BUFSIZE + 1);
|
copybuf = verbose_try_malloc(BUFSIZE + 1);
|
||||||
if (copybuf == NULL) {
|
if (copybuf == NULL) {
|
||||||
@ -3038,20 +3035,11 @@ buf_write (
|
|||||||
goto nobackup;
|
goto nobackup;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if defined(UNIX)
|
{
|
||||||
did_set_shortname = FALSE;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/*
|
|
||||||
* May try twice if 'shortname' not set.
|
|
||||||
*/
|
|
||||||
for (;; ) {
|
|
||||||
/*
|
/*
|
||||||
* Make backup file name.
|
* Make backup file name.
|
||||||
*/
|
*/
|
||||||
backup = buf_modname(
|
backup = buf_modname(FALSE, rootname, backup_ext, FALSE);
|
||||||
(buf->b_p_sn || buf->b_shortname),
|
|
||||||
rootname, backup_ext, FALSE);
|
|
||||||
if (backup == NULL) {
|
if (backup == NULL) {
|
||||||
vim_free(rootname);
|
vim_free(rootname);
|
||||||
some_error = TRUE; /* out of memory */
|
some_error = TRUE; /* out of memory */
|
||||||
@ -3065,27 +3053,14 @@ buf_write (
|
|||||||
#ifdef UNIX
|
#ifdef UNIX
|
||||||
/*
|
/*
|
||||||
* Check if backup file is same as original file.
|
* Check if backup file is same as original file.
|
||||||
* May happen when modname() gave the same file back.
|
* May happen when modname() gave the same file back (e.g. silly
|
||||||
* E.g. silly link, or file name-length reached.
|
* link). If we don't check here, we either ruin the file when
|
||||||
* If we don't check here, we either ruin the file
|
* copying or erase it after writing.
|
||||||
* when copying or erase it after writing. jw.
|
|
||||||
*/
|
*/
|
||||||
if (st_new.st_dev == st_old.st_dev
|
if (st_new.st_dev == st_old.st_dev
|
||||||
&& st_new.st_ino == st_old.st_ino) {
|
&& st_new.st_ino == st_old.st_ino) {
|
||||||
vim_free(backup);
|
vim_free(backup);
|
||||||
backup = NULL; /* no backup file to delete */
|
backup = NULL; /* no backup file to delete */
|
||||||
/*
|
|
||||||
* may try again with 'shortname' set
|
|
||||||
*/
|
|
||||||
if (!(buf->b_shortname || buf->b_p_sn)) {
|
|
||||||
buf->b_shortname = TRUE;
|
|
||||||
did_set_shortname = TRUE;
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
/* setting shortname didn't help */
|
|
||||||
if (did_set_shortname)
|
|
||||||
buf->b_shortname = FALSE;
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -3110,7 +3085,6 @@ buf_write (
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
vim_free(rootname);
|
vim_free(rootname);
|
||||||
|
|
||||||
@ -3241,9 +3215,7 @@ nobackup:
|
|||||||
if (rootname == NULL)
|
if (rootname == NULL)
|
||||||
backup = NULL;
|
backup = NULL;
|
||||||
else {
|
else {
|
||||||
backup = buf_modname(
|
backup = buf_modname(FALSE, rootname, backup_ext, FALSE);
|
||||||
(buf->b_p_sn || buf->b_shortname),
|
|
||||||
rootname, backup_ext, FALSE);
|
|
||||||
vim_free(rootname);
|
vim_free(rootname);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -3880,9 +3852,7 @@ restore_backup:
|
|||||||
* the backup file our 'original' file.
|
* the backup file our 'original' file.
|
||||||
*/
|
*/
|
||||||
if (*p_pm && dobackup) {
|
if (*p_pm && dobackup) {
|
||||||
char *org = (char *)buf_modname(
|
char *org = (char *)buf_modname(FALSE, fname, p_pm, FALSE);
|
||||||
(buf->b_p_sn || buf->b_shortname),
|
|
||||||
fname, p_pm, FALSE);
|
|
||||||
|
|
||||||
if (backup != NULL) {
|
if (backup != NULL) {
|
||||||
struct stat st;
|
struct stat st;
|
||||||
@ -4658,8 +4628,7 @@ void shorten_fnames(int force)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* add extension to file name - change path/fo.o.h to path/fo.o.h.ext or
|
* add extension to file name - change path/fo.o.h to path/fo.o.h.ext
|
||||||
* fo_o_h.ext when shortname option set.
|
|
||||||
*
|
*
|
||||||
* Assumed that fname is a valid name found in the filesystem we assure that
|
* Assumed that fname is a valid name found in the filesystem we assure that
|
||||||
* the return value is a different name and ends in 'ext'.
|
* the return value is a different name and ends in 'ext'.
|
||||||
@ -4675,14 +4644,12 @@ modname (
|
|||||||
int prepend_dot /* may prepend a '.' to file name */
|
int prepend_dot /* may prepend a '.' to file name */
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
return buf_modname(
|
return buf_modname(FALSE, fname, ext, prepend_dot);
|
||||||
(curbuf->b_p_sn || curbuf->b_shortname),
|
|
||||||
fname, ext, prepend_dot);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
char_u *
|
char_u *
|
||||||
buf_modname (
|
buf_modname (
|
||||||
int shortname, /* use 8.3 file name */
|
int shortname, // use 8.3 file name, should always be FALSE now
|
||||||
char_u *fname,
|
char_u *fname,
|
||||||
char_u *ext,
|
char_u *ext,
|
||||||
int prepend_dot /* may prepend a '.' to file name */
|
int prepend_dot /* may prepend a '.' to file name */
|
||||||
@ -4696,6 +4663,8 @@ buf_modname (
|
|||||||
|
|
||||||
extlen = (int)STRLEN(ext);
|
extlen = (int)STRLEN(ext);
|
||||||
|
|
||||||
|
assert(!shortname);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* If there is no file name we must get the name of the current directory
|
* If there is no file name we must get the name of the current directory
|
||||||
* (we need the full path in case :cd is used).
|
* (we need the full path in case :cd is used).
|
||||||
@ -4719,16 +4688,10 @@ buf_modname (
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* search backwards until we hit a '/', '\' or ':' replacing all '.'
|
* search backwards until we hit a '/', '\' or ':'.
|
||||||
* by '_' when shortname option set and ext starts with a dot.
|
* Then truncate what is after the '/', '\' or ':' to BASENAMELEN characters.
|
||||||
* Then truncate what is after the '/', '\' or ':'.
|
|
||||||
*/
|
*/
|
||||||
for (ptr = retval + fnamelen; ptr > retval; mb_ptr_back(retval, ptr)) {
|
for (ptr = retval + fnamelen; ptr > retval; mb_ptr_back(retval, ptr)) {
|
||||||
if (*ext == '.'
|
|
||||||
&& shortname
|
|
||||||
)
|
|
||||||
if (*ptr == '.') /* replace '.' by '_' */
|
|
||||||
*ptr = '_';
|
|
||||||
if (vim_ispathsep(*ptr)) {
|
if (vim_ispathsep(*ptr)) {
|
||||||
++ptr;
|
++ptr;
|
||||||
break;
|
break;
|
||||||
@ -4736,49 +4699,11 @@ buf_modname (
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* the file name has at most BASENAMELEN characters. */
|
/* the file name has at most BASENAMELEN characters. */
|
||||||
if (STRLEN(ptr) > (unsigned)BASENAMELEN)
|
if (STRLEN(ptr) > BASENAMELEN)
|
||||||
ptr[BASENAMELEN] = '\0';
|
ptr[BASENAMELEN] = '\0';
|
||||||
|
|
||||||
s = ptr + STRLEN(ptr);
|
s = ptr + STRLEN(ptr);
|
||||||
|
|
||||||
/*
|
|
||||||
* For 8.3 file names we may have to reduce the length.
|
|
||||||
*/
|
|
||||||
if (shortname)
|
|
||||||
{
|
|
||||||
/*
|
|
||||||
* If there is no file name, or the file name ends in '/', and the
|
|
||||||
* extension starts with '.', put a '_' before the dot, because just
|
|
||||||
* ".ext" is invalid.
|
|
||||||
*/
|
|
||||||
if (fname == NULL || *fname == NUL
|
|
||||||
|| vim_ispathsep(fname[STRLEN(fname) - 1])) {
|
|
||||||
if (*ext == '.')
|
|
||||||
*s++ = '_';
|
|
||||||
}
|
|
||||||
/*
|
|
||||||
* If the extension starts with '.', truncate the base name at 8
|
|
||||||
* characters
|
|
||||||
*/
|
|
||||||
else if (*ext == '.') {
|
|
||||||
if ((size_t)(s - ptr) > (size_t)8) {
|
|
||||||
s = ptr + 8;
|
|
||||||
*s = '\0';
|
|
||||||
}
|
|
||||||
}
|
|
||||||
/*
|
|
||||||
* If the extension doesn't start with '.', and the file name
|
|
||||||
* doesn't have an extension yet, append a '.'
|
|
||||||
*/
|
|
||||||
else if ((e = vim_strchr(ptr, '.')) == NULL)
|
|
||||||
*s++ = '.';
|
|
||||||
/*
|
|
||||||
* If the extension doesn't start with '.', and there already is an
|
|
||||||
* extension, it may need to be truncated
|
|
||||||
*/
|
|
||||||
else if ((int)STRLEN(e) + extlen > 4)
|
|
||||||
s = e + 4 - extlen;
|
|
||||||
}
|
|
||||||
#if defined(WIN3264)
|
#if defined(WIN3264)
|
||||||
/*
|
/*
|
||||||
* If there is no file name, and the extension starts with '.', put a
|
* If there is no file name, and the extension starts with '.', put a
|
||||||
@ -4798,8 +4723,7 @@ buf_modname (
|
|||||||
/*
|
/*
|
||||||
* Prepend the dot.
|
* Prepend the dot.
|
||||||
*/
|
*/
|
||||||
if (prepend_dot && !shortname && *(e = path_tail(retval)) != '.'
|
if (prepend_dot && *(e = path_tail(retval)) != '.') {
|
||||||
) {
|
|
||||||
STRMOVE(e + 1, e);
|
STRMOVE(e + 1, e);
|
||||||
*e = '.';
|
*e = '.';
|
||||||
}
|
}
|
||||||
|
182
src/memline.c
182
src/memline.c
@ -1808,16 +1808,8 @@ static time_t swapfile_info(char_u *fname)
|
|||||||
static int recov_file_names(char_u **names, char_u *path, int prepend_dot)
|
static int recov_file_names(char_u **names, char_u *path, int prepend_dot)
|
||||||
{
|
{
|
||||||
int num_names;
|
int num_names;
|
||||||
/*
|
|
||||||
* (Win32 and Win64) never short names, but do prepend a dot.
|
|
||||||
* (Not MS-DOS or Win32 or Win64) maybe short name, maybe not: Try both.
|
|
||||||
* Only use the short name if it is different.
|
|
||||||
*/
|
|
||||||
char_u *p;
|
char_u *p;
|
||||||
int i;
|
int i;
|
||||||
int shortname = curbuf->b_shortname;
|
|
||||||
|
|
||||||
curbuf->b_shortname = FALSE;
|
|
||||||
|
|
||||||
num_names = 0;
|
num_names = 0;
|
||||||
|
|
||||||
@ -1828,7 +1820,7 @@ static int recov_file_names(char_u **names, char_u *path, int prepend_dot)
|
|||||||
if (prepend_dot) {
|
if (prepend_dot) {
|
||||||
names[num_names] = modname(path, (char_u *)".sw?", TRUE);
|
names[num_names] = modname(path, (char_u *)".sw?", TRUE);
|
||||||
if (names[num_names] == NULL)
|
if (names[num_names] == NULL)
|
||||||
goto end;
|
return num_names;
|
||||||
++num_names;
|
++num_names;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1847,30 +1839,6 @@ static int recov_file_names(char_u **names, char_u *path, int prepend_dot)
|
|||||||
} else
|
} else
|
||||||
++num_names;
|
++num_names;
|
||||||
|
|
||||||
/*
|
|
||||||
* Also try with 'shortname' set, in case the file is on a DOS filesystem.
|
|
||||||
*/
|
|
||||||
curbuf->b_shortname = TRUE;
|
|
||||||
names[num_names] = modname(path, (char_u *)".sw?", FALSE);
|
|
||||||
if (names[num_names] == NULL)
|
|
||||||
goto end;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Remove the one from 'shortname', if it's the same as with 'noshortname'.
|
|
||||||
*/
|
|
||||||
p = names[num_names];
|
|
||||||
i = STRLEN(names[num_names]) - STRLEN(names[num_names - 1]);
|
|
||||||
if (i > 0)
|
|
||||||
p += i; /* file name has been expanded to full path */
|
|
||||||
if (STRCMP(names[num_names - 1], p) == 0)
|
|
||||||
vim_free(names[num_names]);
|
|
||||||
else
|
|
||||||
++num_names;
|
|
||||||
|
|
||||||
end:
|
|
||||||
curbuf->b_shortname = shortname;
|
|
||||||
|
|
||||||
|
|
||||||
return num_names;
|
return num_names;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -3404,7 +3372,7 @@ char_u *makeswapname(char_u *fname, char_u *ffname, buf_T *buf, char_u *dir_name
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
r = buf_modname(
|
r = buf_modname(
|
||||||
(buf->b_p_sn || buf->b_shortname),
|
FALSE,
|
||||||
fname_res,
|
fname_res,
|
||||||
(char_u *)
|
(char_u *)
|
||||||
".swp",
|
".swp",
|
||||||
@ -3574,26 +3542,8 @@ findswapname (
|
|||||||
char_u *fname;
|
char_u *fname;
|
||||||
int n;
|
int n;
|
||||||
char_u *dir_name;
|
char_u *dir_name;
|
||||||
int r;
|
|
||||||
char_u *buf_fname = buf->b_fname;
|
char_u *buf_fname = buf->b_fname;
|
||||||
|
|
||||||
#if !defined(UNIX)
|
|
||||||
# define CREATE_DUMMY_FILE
|
|
||||||
FILE *dummyfd = NULL;
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* If we start editing a new file, e.g. "test.doc", which resides on an
|
|
||||||
* MSDOS compatible filesystem, it is possible that the file
|
|
||||||
* "test.doc.swp" which we create will be exactly the same file. To avoid
|
|
||||||
* this problem we temporarily create "test.doc". Don't do this when the
|
|
||||||
* check below for a 8.3 file name is used.
|
|
||||||
*/
|
|
||||||
if (!(buf->b_p_sn || buf->b_shortname) && buf_fname != NULL
|
|
||||||
&& !os_file_exists(buf_fname))
|
|
||||||
dummyfd = mch_fopen((char *)buf_fname, "w");
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Isolate a directory name from *dirp and put it in dir_name.
|
* Isolate a directory name from *dirp and put it in dir_name.
|
||||||
* First allocate some memory to put the directory name in.
|
* First allocate some memory to put the directory name in.
|
||||||
@ -3617,89 +3567,6 @@ findswapname (
|
|||||||
fname = NULL;
|
fname = NULL;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
#if defined(UNIX)
|
|
||||||
/*
|
|
||||||
* Some systems have a MS-DOS compatible filesystem that use 8.3 character
|
|
||||||
* file names. If this is the first try and the swap file name does not fit in
|
|
||||||
* 8.3, detect if this is the case, set shortname and try again.
|
|
||||||
*/
|
|
||||||
if (fname[n - 2] == 'w' && fname[n - 1] == 'p'
|
|
||||||
&& !(buf->b_p_sn || buf->b_shortname)) {
|
|
||||||
char_u *tail;
|
|
||||||
char_u *fname2;
|
|
||||||
struct stat s1, s2;
|
|
||||||
int f1, f2;
|
|
||||||
int created1 = FALSE, created2 = FALSE;
|
|
||||||
int same = FALSE;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Check if swapfile name does not fit in 8.3:
|
|
||||||
* It either contains two dots, is longer than 8 chars, or starts
|
|
||||||
* with a dot.
|
|
||||||
*/
|
|
||||||
tail = path_tail(buf_fname);
|
|
||||||
if ( vim_strchr(tail, '.') != NULL
|
|
||||||
|| STRLEN(tail) > (size_t)8
|
|
||||||
|| *path_tail(fname) == '.') {
|
|
||||||
fname2 = alloc(n + 2);
|
|
||||||
STRCPY(fname2, fname);
|
|
||||||
/* if fname == "xx.xx.swp", fname2 = "xx.xx.swx"
|
|
||||||
* if fname == ".xx.swp", fname2 = ".xx.swpx"
|
|
||||||
* if fname == "123456789.swp", fname2 = "12345678x.swp"
|
|
||||||
*/
|
|
||||||
if (vim_strchr(tail, '.') != NULL)
|
|
||||||
fname2[n - 1] = 'x';
|
|
||||||
else if (*path_tail(fname) == '.') {
|
|
||||||
fname2[n] = 'x';
|
|
||||||
fname2[n + 1] = NUL;
|
|
||||||
} else
|
|
||||||
fname2[n - 5] += 1;
|
|
||||||
/*
|
|
||||||
* may need to create the files to be able to use mch_stat()
|
|
||||||
*/
|
|
||||||
f1 = mch_open((char *)fname, O_RDONLY, 0);
|
|
||||||
if (f1 < 0) {
|
|
||||||
f1 = mch_open_rw((char *)fname,
|
|
||||||
O_RDWR|O_CREAT|O_EXCL);
|
|
||||||
created1 = TRUE;
|
|
||||||
}
|
|
||||||
if (f1 >= 0) {
|
|
||||||
f2 = mch_open((char *)fname2, O_RDONLY, 0);
|
|
||||||
if (f2 < 0) {
|
|
||||||
f2 = mch_open_rw((char *)fname2,
|
|
||||||
O_RDWR|O_CREAT|O_EXCL);
|
|
||||||
created2 = TRUE;
|
|
||||||
}
|
|
||||||
if (f2 >= 0) {
|
|
||||||
/*
|
|
||||||
* Both files exist now. If mch_stat() returns the
|
|
||||||
* same device and inode they are the same file.
|
|
||||||
*/
|
|
||||||
if (mch_fstat(f1, &s1) != -1
|
|
||||||
&& mch_fstat(f2, &s2) != -1
|
|
||||||
&& s1.st_dev == s2.st_dev
|
|
||||||
&& s1.st_ino == s2.st_ino)
|
|
||||||
same = TRUE;
|
|
||||||
close(f2);
|
|
||||||
if (created2)
|
|
||||||
os_remove((char *)fname2);
|
|
||||||
}
|
|
||||||
close(f1);
|
|
||||||
if (created1) {
|
|
||||||
os_remove((char *)fname);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
vim_free(fname2);
|
|
||||||
if (same) {
|
|
||||||
buf->b_shortname = TRUE;
|
|
||||||
vim_free(fname);
|
|
||||||
fname = makeswapname(buf_fname, buf->b_ffname,
|
|
||||||
buf, dir_name);
|
|
||||||
continue; /* try again with b_shortname set */
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
/*
|
/*
|
||||||
* check if the swapfile already exists
|
* check if the swapfile already exists
|
||||||
*/
|
*/
|
||||||
@ -3727,26 +3594,6 @@ findswapname (
|
|||||||
* get here when file already exists
|
* get here when file already exists
|
||||||
*/
|
*/
|
||||||
if (fname[n - 2] == 'w' && fname[n - 1] == 'p') { /* first try */
|
if (fname[n - 2] == 'w' && fname[n - 1] == 'p') { /* first try */
|
||||||
/*
|
|
||||||
* on MS-DOS compatible filesystems (e.g. messydos) file.doc.swp
|
|
||||||
* and file.doc are the same file. To guess if this problem is
|
|
||||||
* present try if file.doc.swx exists. If it does, we set
|
|
||||||
* buf->b_shortname and try file_doc.swp (dots replaced by
|
|
||||||
* underscores for this file), and try again. If it doesn't we
|
|
||||||
* assume that "file.doc.swp" already exists.
|
|
||||||
*/
|
|
||||||
if (!(buf->b_p_sn || buf->b_shortname)) { /* not tried yet */
|
|
||||||
fname[n - 1] = 'x';
|
|
||||||
r = os_getperm(fname); /* try "file.swx" */
|
|
||||||
fname[n - 1] = 'p';
|
|
||||||
if (r >= 0) { /* "file.swx" seems to exist */
|
|
||||||
buf->b_shortname = TRUE;
|
|
||||||
vim_free(fname);
|
|
||||||
fname = makeswapname(buf_fname, buf->b_ffname,
|
|
||||||
buf, dir_name);
|
|
||||||
continue; /* try again with '.' replaced with '_' */
|
|
||||||
}
|
|
||||||
}
|
|
||||||
/*
|
/*
|
||||||
* If we get here the ".swp" file really exists.
|
* If we get here the ".swp" file really exists.
|
||||||
* Give an error message, unless recovering, no file name, we are
|
* Give an error message, unless recovering, no file name, we are
|
||||||
@ -3811,20 +3658,6 @@ findswapname (
|
|||||||
#if defined(HAS_SWAP_EXISTS_ACTION)
|
#if defined(HAS_SWAP_EXISTS_ACTION)
|
||||||
int choice = 0;
|
int choice = 0;
|
||||||
#endif
|
#endif
|
||||||
#ifdef CREATE_DUMMY_FILE
|
|
||||||
int did_use_dummy = FALSE;
|
|
||||||
|
|
||||||
/* Avoid getting a warning for the file being created
|
|
||||||
* outside of Vim, it was created at the start of this
|
|
||||||
* function. Delete the file now, because Vim might exit
|
|
||||||
* here if the window is closed. */
|
|
||||||
if (dummyfd != NULL) {
|
|
||||||
fclose(dummyfd);
|
|
||||||
dummyfd = NULL;
|
|
||||||
os_remove(buf_fname);
|
|
||||||
did_use_dummy = TRUE;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if defined(UNIX) && (defined(FEAT_GUI_DIALOG) || defined(FEAT_CON_DIALOG))
|
#if defined(UNIX) && (defined(FEAT_GUI_DIALOG) || defined(FEAT_CON_DIALOG))
|
||||||
process_still_running = FALSE;
|
process_still_running = FALSE;
|
||||||
@ -3917,11 +3750,6 @@ findswapname (
|
|||||||
need_wait_return = TRUE;
|
need_wait_return = TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CREATE_DUMMY_FILE
|
|
||||||
/* Going to try another name, need the dummy file again. */
|
|
||||||
if (did_use_dummy)
|
|
||||||
dummyfd = mch_fopen((char *)buf_fname, "w");
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -3946,12 +3774,6 @@ findswapname (
|
|||||||
}
|
}
|
||||||
|
|
||||||
vim_free(dir_name);
|
vim_free(dir_name);
|
||||||
#ifdef CREATE_DUMMY_FILE
|
|
||||||
if (dummyfd != NULL) { /* file has been created temporarily */
|
|
||||||
fclose(dummyfd);
|
|
||||||
os_remove(buf_fname);
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
return fname;
|
return fname;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -150,7 +150,6 @@
|
|||||||
# define PV_QE OPT_BUF(BV_QE)
|
# define PV_QE OPT_BUF(BV_QE)
|
||||||
#define PV_RO OPT_BUF(BV_RO)
|
#define PV_RO OPT_BUF(BV_RO)
|
||||||
# define PV_SI OPT_BUF(BV_SI)
|
# define PV_SI OPT_BUF(BV_SI)
|
||||||
# define PV_SN OPT_BUF(BV_SN)
|
|
||||||
# define PV_SMC OPT_BUF(BV_SMC)
|
# define PV_SMC OPT_BUF(BV_SMC)
|
||||||
# define PV_SYN OPT_BUF(BV_SYN)
|
# define PV_SYN OPT_BUF(BV_SYN)
|
||||||
# define PV_SPC OPT_BUF(BV_SPC)
|
# define PV_SPC OPT_BUF(BV_SPC)
|
||||||
@ -263,7 +262,6 @@ static int p_pi;
|
|||||||
static char_u *p_qe;
|
static char_u *p_qe;
|
||||||
static int p_ro;
|
static int p_ro;
|
||||||
static int p_si;
|
static int p_si;
|
||||||
static int p_sn;
|
|
||||||
static long p_sts;
|
static long p_sts;
|
||||||
static char_u *p_sua;
|
static char_u *p_sua;
|
||||||
static long p_sw;
|
static long p_sw;
|
||||||
@ -1414,9 +1412,6 @@ static struct vimoption
|
|||||||
(char_u *)&p_shm, PV_NONE,
|
(char_u *)&p_shm, PV_NONE,
|
||||||
{(char_u *)"", (char_u *)"filnxtToO"}
|
{(char_u *)"", (char_u *)"filnxtToO"}
|
||||||
SCRIPTID_INIT},
|
SCRIPTID_INIT},
|
||||||
{"shortname", "sn", P_BOOL|P_VI_DEF,
|
|
||||||
(char_u *)&p_sn, PV_SN,
|
|
||||||
{(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT},
|
|
||||||
{"showbreak", "sbr", P_STRING|P_VI_DEF|P_RALL,
|
{"showbreak", "sbr", P_STRING|P_VI_DEF|P_RALL,
|
||||||
(char_u *)&p_sbr, PV_NONE,
|
(char_u *)&p_sbr, PV_NONE,
|
||||||
{(char_u *)"", (char_u *)0L} SCRIPTID_INIT},
|
{(char_u *)"", (char_u *)0L} SCRIPTID_INIT},
|
||||||
@ -6777,7 +6772,6 @@ static char_u *get_varp(struct vimoption *p)
|
|||||||
case PV_QE: return (char_u *)&(curbuf->b_p_qe);
|
case PV_QE: return (char_u *)&(curbuf->b_p_qe);
|
||||||
case PV_RO: return (char_u *)&(curbuf->b_p_ro);
|
case PV_RO: return (char_u *)&(curbuf->b_p_ro);
|
||||||
case PV_SI: return (char_u *)&(curbuf->b_p_si);
|
case PV_SI: return (char_u *)&(curbuf->b_p_si);
|
||||||
case PV_SN: return (char_u *)&(curbuf->b_p_sn);
|
|
||||||
case PV_STS: return (char_u *)&(curbuf->b_p_sts);
|
case PV_STS: return (char_u *)&(curbuf->b_p_sts);
|
||||||
case PV_SUA: return (char_u *)&(curbuf->b_p_sua);
|
case PV_SUA: return (char_u *)&(curbuf->b_p_sua);
|
||||||
case PV_SWF: return (char_u *)&(curbuf->b_p_swf);
|
case PV_SWF: return (char_u *)&(curbuf->b_p_swf);
|
||||||
@ -7003,7 +6997,6 @@ void buf_copy_options(buf_T *buf, int flags)
|
|||||||
buf->b_p_ofu = vim_strsave(p_ofu);
|
buf->b_p_ofu = vim_strsave(p_ofu);
|
||||||
buf->b_p_sts = p_sts;
|
buf->b_p_sts = p_sts;
|
||||||
buf->b_p_sts_nopaste = p_sts_nopaste;
|
buf->b_p_sts_nopaste = p_sts_nopaste;
|
||||||
buf->b_p_sn = p_sn;
|
|
||||||
buf->b_p_com = vim_strsave(p_com);
|
buf->b_p_com = vim_strsave(p_com);
|
||||||
buf->b_p_cms = vim_strsave(p_cms);
|
buf->b_p_cms = vim_strsave(p_cms);
|
||||||
buf->b_p_fo = vim_strsave(p_fo);
|
buf->b_p_fo = vim_strsave(p_fo);
|
||||||
|
@ -691,7 +691,6 @@ enum {
|
|||||||
, BV_QE
|
, BV_QE
|
||||||
, BV_RO
|
, BV_RO
|
||||||
, BV_SI
|
, BV_SI
|
||||||
, BV_SN
|
|
||||||
, BV_SMC
|
, BV_SMC
|
||||||
, BV_SYN
|
, BV_SYN
|
||||||
, BV_SPC
|
, BV_SPC
|
||||||
|
Loading…
Reference in New Issue
Block a user