mirror of
https://github.com/vim/vim.git
synced 2025-07-26 11:04:33 -04:00
patch 9.0.0261: bufload() reads a file even if the name is not a file name
Problem: bufload() reads a file even if the name is not a file name. (Cyker Way) Solution: Do not read the file when the buffer name is not a file name. (closes #10975)
This commit is contained in:
parent
d6c67629ed
commit
2eddbacd6d
@ -1179,7 +1179,8 @@ browsedir({title}, {initdir})
|
|||||||
browsing is not possible, an empty string is returned.
|
browsing is not possible, an empty string is returned.
|
||||||
|
|
||||||
bufadd({name}) *bufadd()*
|
bufadd({name}) *bufadd()*
|
||||||
Add a buffer to the buffer list with String {name}.
|
Add a buffer to the buffer list with name {name} (must be a
|
||||||
|
String).
|
||||||
If a buffer for file {name} already exists, return that buffer
|
If a buffer for file {name} already exists, return that buffer
|
||||||
number. Otherwise return the buffer number of the newly
|
number. Otherwise return the buffer number of the newly
|
||||||
created buffer. When {name} is an empty string then a new
|
created buffer. When {name} is an empty string then a new
|
||||||
@ -1232,7 +1233,8 @@ bufload({buf}) *bufload()*
|
|||||||
Ensure the buffer {buf} is loaded. When the buffer name
|
Ensure the buffer {buf} is loaded. When the buffer name
|
||||||
refers to an existing file then the file is read. Otherwise
|
refers to an existing file then the file is read. Otherwise
|
||||||
the buffer will be empty. If the buffer was already loaded
|
the buffer will be empty. If the buffer was already loaded
|
||||||
then there is no change.
|
then there is no change. If the buffer is not related to a
|
||||||
|
file the no file is read (e.g., when 'buftype' is "nofile").
|
||||||
If there is an existing swap file for the file of the buffer,
|
If there is an existing swap file for the file of the buffer,
|
||||||
there will be no dialog, the buffer will be loaded anyway.
|
there will be no dialog, the buffer will be loaded anyway.
|
||||||
The {buf} argument is used like with |bufexists()|.
|
The {buf} argument is used like with |bufexists()|.
|
||||||
|
@ -220,7 +220,10 @@ open_buffer(
|
|||||||
// mark cursor position as being invalid
|
// mark cursor position as being invalid
|
||||||
curwin->w_valid = 0;
|
curwin->w_valid = 0;
|
||||||
|
|
||||||
|
// Read the file if there is one.
|
||||||
if (curbuf->b_ffname != NULL
|
if (curbuf->b_ffname != NULL
|
||||||
|
&& !bt_quickfix(curbuf)
|
||||||
|
&& !bt_nofilename(curbuf)
|
||||||
#ifdef FEAT_NETBEANS_INTG
|
#ifdef FEAT_NETBEANS_INTG
|
||||||
&& netbeansReadFile
|
&& netbeansReadFile
|
||||||
#endif
|
#endif
|
||||||
|
@ -2368,6 +2368,13 @@ func Test_bufadd_bufload()
|
|||||||
exe 'bwipe ' .. buf2
|
exe 'bwipe ' .. buf2
|
||||||
call assert_equal(0, bufexists(buf2))
|
call assert_equal(0, bufexists(buf2))
|
||||||
|
|
||||||
|
" when 'buftype' is "nofile" then bufload() does not read the file
|
||||||
|
bwipe! XotherName
|
||||||
|
let buf = bufadd('XotherName')
|
||||||
|
call setbufvar(buf, '&bt', 'nofile')
|
||||||
|
call bufload(buf)
|
||||||
|
call assert_equal([''], getbufline(buf, 1, '$'))
|
||||||
|
|
||||||
bwipe someName
|
bwipe someName
|
||||||
bwipe XotherName
|
bwipe XotherName
|
||||||
call assert_equal(0, bufexists('someName'))
|
call assert_equal(0, bufexists('someName'))
|
||||||
|
@ -731,6 +731,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 */
|
||||||
|
/**/
|
||||||
|
261,
|
||||||
/**/
|
/**/
|
||||||
260,
|
260,
|
||||||
/**/
|
/**/
|
||||||
|
Loading…
x
Reference in New Issue
Block a user