forked from aniani/vim
updated for version 7.0-130
This commit is contained in:
@@ -4792,10 +4792,22 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
completion with CTRL-X CTRL-O. |i_CTRL-X_CTRL-O|
|
completion with CTRL-X CTRL-O. |i_CTRL-X_CTRL-O|
|
||||||
See |complete-functions| for an explanation of how the function is
|
See |complete-functions| for an explanation of how the function is
|
||||||
invoked and what it should return.
|
invoked and what it should return.
|
||||||
This option is usually set by a filetype plugin.
|
This option is usually set by a filetype plugin:
|
||||||
|:filetype-plugin-on|
|
|:filetype-plugin-on|
|
||||||
|
|
||||||
|
|
||||||
|
*'opendevice* *'odev* *'noopendevice* *'noodev*
|
||||||
|
'opendevice' 'odev' boolean (default off)
|
||||||
|
global
|
||||||
|
{not in Vi}
|
||||||
|
{only for MS-DOS, MS-Windows and OS/2}
|
||||||
|
Enable reading and writing from devices. This may get Vim stuck on a
|
||||||
|
device that can be opened but doesn't actually do the I/O. Therefore
|
||||||
|
it is off by default.
|
||||||
|
Note that on MS-Windows editing "aux.h", "lpt1.txt" and the like also
|
||||||
|
result in editing a device.
|
||||||
|
|
||||||
|
|
||||||
*'operatorfunc'* *'opfunc'*
|
*'operatorfunc'* *'opfunc'*
|
||||||
'operatorfunc' 'opfunc' string (default: empty)
|
'operatorfunc' 'opfunc' string (default: empty)
|
||||||
global
|
global
|
||||||
|
24
src/fileio.c
24
src/fileio.c
@@ -419,6 +419,20 @@ readfile(fname, sfname, from, lines_to_skip, lines_to_read, eap, flags)
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if defined(MSDOS) || defined(MSWIN) || defined(OS2)
|
||||||
|
/*
|
||||||
|
* MS-Windows allows opening a device, but we will probably get stuck
|
||||||
|
* trying to read it.
|
||||||
|
*/
|
||||||
|
if (!p_odev && mch_nodetype(fname) == NODE_WRITABLE)
|
||||||
|
{
|
||||||
|
filemess(curbuf, fname, (char_u *)_("is a device (disabled with 'opendevice' option"), 0);
|
||||||
|
msg_end();
|
||||||
|
msg_scroll = msg_save;
|
||||||
|
return FAIL;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
/* set default 'fileformat' */
|
/* set default 'fileformat' */
|
||||||
if (set_options)
|
if (set_options)
|
||||||
{
|
{
|
||||||
@@ -3163,6 +3177,16 @@ buf_write(buf, fname, sfname, start, end, eap, append, forceit,
|
|||||||
}
|
}
|
||||||
if (c == NODE_WRITABLE)
|
if (c == NODE_WRITABLE)
|
||||||
{
|
{
|
||||||
|
# if defined(MSDOS) || defined(MSWIN) || defined(OS2)
|
||||||
|
/* MS-Windows allows opening a device, but we will probably get stuck
|
||||||
|
* trying to write to it. */
|
||||||
|
if (!p_odev)
|
||||||
|
{
|
||||||
|
errnum = (char_u *)"E796: ";
|
||||||
|
errmsg = (char_u *)_("writing to device disabled with 'opendevice' option");
|
||||||
|
goto fail;
|
||||||
|
}
|
||||||
|
# endif
|
||||||
device = TRUE;
|
device = TRUE;
|
||||||
newfile = TRUE;
|
newfile = TRUE;
|
||||||
perm = -1;
|
perm = -1;
|
||||||
|
@@ -1810,6 +1810,14 @@ static struct vimoption
|
|||||||
{"open", NULL, P_BOOL|P_VI_DEF,
|
{"open", NULL, P_BOOL|P_VI_DEF,
|
||||||
(char_u *)NULL, PV_NONE,
|
(char_u *)NULL, PV_NONE,
|
||||||
{(char_u *)FALSE, (char_u *)0L}},
|
{(char_u *)FALSE, (char_u *)0L}},
|
||||||
|
{"opendevice", "odev", P_BOOL|P_VI_DEF,
|
||||||
|
#if defined(MSDOS) || defined(MSWIN) || defined(OS2)
|
||||||
|
(char_u *)&p_odev, PV_NONE,
|
||||||
|
#else
|
||||||
|
(char_u *)NULL, PV_NONE,
|
||||||
|
#endif
|
||||||
|
{(char_u *)FALSE, (char_u *)FALSE}
|
||||||
|
},
|
||||||
{"operatorfunc", "opfunc", P_STRING|P_VI_DEF|P_SECURE,
|
{"operatorfunc", "opfunc", P_STRING|P_VI_DEF|P_SECURE,
|
||||||
(char_u *)&p_opfunc, PV_NONE,
|
(char_u *)&p_opfunc, PV_NONE,
|
||||||
{(char_u *)"", (char_u *)0L} },
|
{(char_u *)"", (char_u *)0L} },
|
||||||
|
@@ -618,6 +618,9 @@ EXTERN int p_more; /* 'more' */
|
|||||||
#ifdef FEAT_MZSCHEME
|
#ifdef FEAT_MZSCHEME
|
||||||
EXTERN long p_mzq; /* 'mzquantum */
|
EXTERN long p_mzq; /* 'mzquantum */
|
||||||
#endif
|
#endif
|
||||||
|
#if defined(MSDOS) || defined(MSWIN) || defined(OS2)
|
||||||
|
EXTERN int p_odev; /* 'opendevice' */
|
||||||
|
#endif
|
||||||
EXTERN char_u *p_opfunc; /* 'operatorfunc' */
|
EXTERN char_u *p_opfunc; /* 'operatorfunc' */
|
||||||
EXTERN char_u *p_para; /* 'paragraphs' */
|
EXTERN char_u *p_para; /* 'paragraphs' */
|
||||||
EXTERN int p_paste; /* 'paste' */
|
EXTERN int p_paste; /* 'paste' */
|
||||||
|
@@ -2702,6 +2702,12 @@ mch_nodetype(char_u *name)
|
|||||||
HANDLE hFile;
|
HANDLE hFile;
|
||||||
int type;
|
int type;
|
||||||
|
|
||||||
|
/* We can't open a file with a name "\\.\con" or "\\.\prn" and trying to
|
||||||
|
* read from it later will cause Vim to hang. Thus return NODE_WRITABLE
|
||||||
|
* here. */
|
||||||
|
if (STRNCMP(name, "\\\\.\\", 4) == 0)
|
||||||
|
return NODE_WRITABLE;
|
||||||
|
|
||||||
hFile = CreateFile(name, /* file name */
|
hFile = CreateFile(name, /* file name */
|
||||||
GENERIC_WRITE, /* access mode */
|
GENERIC_WRITE, /* access mode */
|
||||||
0, /* share mode */
|
0, /* share mode */
|
||||||
|
@@ -666,6 +666,8 @@ static char *(features[]) =
|
|||||||
|
|
||||||
static int included_patches[] =
|
static int included_patches[] =
|
||||||
{ /* Add new patch number below this line */
|
{ /* Add new patch number below this line */
|
||||||
|
/**/
|
||||||
|
130,
|
||||||
/**/
|
/**/
|
||||||
129,
|
129,
|
||||||
/**/
|
/**/
|
||||||
|
Reference in New Issue
Block a user