forked from aniani/vim
patch 8.1.1547: functionality of bt_nofile() is confusing
Problem: Functionality of bt_nofile() is confusing. Solution: Split into bt_nofile() and bt_nofilename().
This commit is contained in:
13
src/buffer.c
13
src/buffer.c
@@ -5698,7 +5698,7 @@ bt_popup(buf_T *buf)
|
|||||||
* buffer. This means the buffer name is not a file name.
|
* buffer. This means the buffer name is not a file name.
|
||||||
*/
|
*/
|
||||||
int
|
int
|
||||||
bt_nofile(buf_T *buf)
|
bt_nofilename(buf_T *buf)
|
||||||
{
|
{
|
||||||
return buf != NULL && ((buf->b_p_bt[0] == 'n' && buf->b_p_bt[2] == 'f')
|
return buf != NULL && ((buf->b_p_bt[0] == 'n' && buf->b_p_bt[2] == 'f')
|
||||||
|| buf->b_p_bt[0] == 'a'
|
|| buf->b_p_bt[0] == 'a'
|
||||||
@@ -5706,6 +5706,15 @@ bt_nofile(buf_T *buf)
|
|||||||
|| buf->b_p_bt[0] == 'p');
|
|| buf->b_p_bt[0] == 'p');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Return TRUE if "buf" has 'buftype' set to "nofile".
|
||||||
|
*/
|
||||||
|
int
|
||||||
|
bt_nofile(buf_T *buf)
|
||||||
|
{
|
||||||
|
return buf != NULL && buf->b_p_bt[0] == 'n' && buf->b_p_bt[2] == 'f';
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Return TRUE if "buf" is a "nowrite", "nofile", "terminal" or "prompt"
|
* Return TRUE if "buf" is a "nowrite", "nofile", "terminal" or "prompt"
|
||||||
* buffer.
|
* buffer.
|
||||||
@@ -5772,7 +5781,7 @@ buf_spname(buf_T *buf)
|
|||||||
|
|
||||||
/* There is no _file_ when 'buftype' is "nofile", b_sfname
|
/* There is no _file_ when 'buftype' is "nofile", b_sfname
|
||||||
* contains the name as specified by the user. */
|
* contains the name as specified by the user. */
|
||||||
if (bt_nofile(buf))
|
if (bt_nofilename(buf))
|
||||||
{
|
{
|
||||||
#ifdef FEAT_TERMINAL
|
#ifdef FEAT_TERMINAL
|
||||||
if (buf->b_term != NULL)
|
if (buf->b_term != NULL)
|
||||||
|
|||||||
@@ -1943,7 +1943,7 @@ find_buffer(typval_T *avar)
|
|||||||
if (buf->b_fname != NULL
|
if (buf->b_fname != NULL
|
||||||
&& (path_with_url(buf->b_fname)
|
&& (path_with_url(buf->b_fname)
|
||||||
#ifdef FEAT_QUICKFIX
|
#ifdef FEAT_QUICKFIX
|
||||||
|| bt_nofile(buf)
|
|| bt_nofilename(buf)
|
||||||
#endif
|
#endif
|
||||||
)
|
)
|
||||||
&& STRCMP(buf->b_fname, avar->vval.v_string) == 0)
|
&& STRCMP(buf->b_fname, avar->vval.v_string) == 0)
|
||||||
|
|||||||
@@ -3399,7 +3399,7 @@ check_overwrite(
|
|||||||
|| (buf->b_flags & BF_READERR))
|
|| (buf->b_flags & BF_READERR))
|
||||||
&& !p_wa
|
&& !p_wa
|
||||||
#ifdef FEAT_QUICKFIX
|
#ifdef FEAT_QUICKFIX
|
||||||
&& !bt_nofile(buf)
|
&& !bt_nofilename(buf)
|
||||||
#endif
|
#endif
|
||||||
&& vim_fexists(ffname))
|
&& vim_fexists(ffname))
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -9909,7 +9909,7 @@ makeopens(
|
|||||||
&& wp->w_buffer->b_ffname != NULL
|
&& wp->w_buffer->b_ffname != NULL
|
||||||
&& !bt_help(wp->w_buffer)
|
&& !bt_help(wp->w_buffer)
|
||||||
#ifdef FEAT_QUICKFIX
|
#ifdef FEAT_QUICKFIX
|
||||||
&& !bt_nofile(wp->w_buffer)
|
&& !bt_nofilename(wp->w_buffer)
|
||||||
#endif
|
#endif
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
@@ -10236,7 +10236,7 @@ ses_do_win(win_T *wp)
|
|||||||
if (wp->w_buffer->b_fname == NULL
|
if (wp->w_buffer->b_fname == NULL
|
||||||
#ifdef FEAT_QUICKFIX
|
#ifdef FEAT_QUICKFIX
|
||||||
/* When 'buftype' is "nofile" can't restore the window contents. */
|
/* When 'buftype' is "nofile" can't restore the window contents. */
|
||||||
|| bt_nofile(wp->w_buffer)
|
|| bt_nofilename(wp->w_buffer)
|
||||||
#endif
|
#endif
|
||||||
)
|
)
|
||||||
return (ssop_flags & SSOP_BLANK);
|
return (ssop_flags & SSOP_BLANK);
|
||||||
@@ -10323,7 +10323,7 @@ put_view(
|
|||||||
*/
|
*/
|
||||||
if (wp->w_buffer->b_ffname != NULL
|
if (wp->w_buffer->b_ffname != NULL
|
||||||
# ifdef FEAT_QUICKFIX
|
# ifdef FEAT_QUICKFIX
|
||||||
&& !bt_nofile(wp->w_buffer)
|
&& !bt_nofilename(wp->w_buffer)
|
||||||
# endif
|
# endif
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
|
|||||||
10
src/fileio.c
10
src/fileio.c
@@ -3160,7 +3160,7 @@ buf_write(
|
|||||||
&& whole
|
&& whole
|
||||||
&& buf == curbuf
|
&& buf == curbuf
|
||||||
#ifdef FEAT_QUICKFIX
|
#ifdef FEAT_QUICKFIX
|
||||||
&& !bt_nofile(buf)
|
&& !bt_nofilename(buf)
|
||||||
#endif
|
#endif
|
||||||
&& !filtering
|
&& !filtering
|
||||||
&& (!append || vim_strchr(p_cpo, CPO_FNAMEAPP) != NULL)
|
&& (!append || vim_strchr(p_cpo, CPO_FNAMEAPP) != NULL)
|
||||||
@@ -3237,7 +3237,7 @@ buf_write(
|
|||||||
sfname, sfname, FALSE, curbuf, eap)))
|
sfname, sfname, FALSE, curbuf, eap)))
|
||||||
{
|
{
|
||||||
#ifdef FEAT_QUICKFIX
|
#ifdef FEAT_QUICKFIX
|
||||||
if (overwriting && bt_nofile(curbuf))
|
if (overwriting && bt_nofilename(curbuf))
|
||||||
nofile_err = TRUE;
|
nofile_err = TRUE;
|
||||||
else
|
else
|
||||||
#endif
|
#endif
|
||||||
@@ -3270,7 +3270,7 @@ buf_write(
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
#ifdef FEAT_QUICKFIX
|
#ifdef FEAT_QUICKFIX
|
||||||
if (overwriting && bt_nofile(curbuf))
|
if (overwriting && bt_nofilename(curbuf))
|
||||||
nofile_err = TRUE;
|
nofile_err = TRUE;
|
||||||
else
|
else
|
||||||
#endif
|
#endif
|
||||||
@@ -3284,7 +3284,7 @@ buf_write(
|
|||||||
sfname, sfname, FALSE, curbuf, eap)))
|
sfname, sfname, FALSE, curbuf, eap)))
|
||||||
{
|
{
|
||||||
#ifdef FEAT_QUICKFIX
|
#ifdef FEAT_QUICKFIX
|
||||||
if (overwriting && bt_nofile(curbuf))
|
if (overwriting && bt_nofilename(curbuf))
|
||||||
nofile_err = TRUE;
|
nofile_err = TRUE;
|
||||||
else
|
else
|
||||||
#endif
|
#endif
|
||||||
@@ -6083,7 +6083,7 @@ shorten_buf_fname(buf_T *buf, char_u *dirname, int force)
|
|||||||
|
|
||||||
if (buf->b_fname != NULL
|
if (buf->b_fname != NULL
|
||||||
#ifdef FEAT_QUICKFIX
|
#ifdef FEAT_QUICKFIX
|
||||||
&& !bt_nofile(buf)
|
&& !bt_nofilename(buf)
|
||||||
#endif
|
#endif
|
||||||
&& !path_with_url(buf->b_fname)
|
&& !path_with_url(buf->b_fname)
|
||||||
&& (force
|
&& (force
|
||||||
|
|||||||
@@ -727,7 +727,7 @@ pum_set_selected(int n, int repeat)
|
|||||||
if (!resized
|
if (!resized
|
||||||
&& curbuf->b_nwindows == 1
|
&& curbuf->b_nwindows == 1
|
||||||
&& curbuf->b_fname == NULL
|
&& curbuf->b_fname == NULL
|
||||||
&& curbuf->b_p_bt[0] == 'n' && curbuf->b_p_bt[2] == 'f'
|
&& bt_nofile(curbuf)
|
||||||
&& curbuf->b_p_bh[0] == 'w')
|
&& curbuf->b_p_bh[0] == 'w')
|
||||||
{
|
{
|
||||||
/* Already a "wipeout" buffer, make it empty. */
|
/* Already a "wipeout" buffer, make it empty. */
|
||||||
|
|||||||
@@ -62,6 +62,7 @@ int bt_terminal(buf_T *buf);
|
|||||||
int bt_help(buf_T *buf);
|
int bt_help(buf_T *buf);
|
||||||
int bt_prompt(buf_T *buf);
|
int bt_prompt(buf_T *buf);
|
||||||
int bt_popup(buf_T *buf);
|
int bt_popup(buf_T *buf);
|
||||||
|
int bt_nofilename(buf_T *buf);
|
||||||
int bt_nofile(buf_T *buf);
|
int bt_nofile(buf_T *buf);
|
||||||
int bt_dontwrite(buf_T *buf);
|
int bt_dontwrite(buf_T *buf);
|
||||||
int bt_dontwrite_msg(buf_T *buf);
|
int bt_dontwrite_msg(buf_T *buf);
|
||||||
|
|||||||
@@ -4135,7 +4135,7 @@ qf_open_new_cwindow(qf_info_T *qi, int height)
|
|||||||
// Set the options for the quickfix buffer/window (if not already done)
|
// Set the options for the quickfix buffer/window (if not already done)
|
||||||
// Do this even if the quickfix buffer was already present, as an autocmd
|
// Do this even if the quickfix buffer was already present, as an autocmd
|
||||||
// might have previously deleted (:bdelete) the quickfix buffer.
|
// might have previously deleted (:bdelete) the quickfix buffer.
|
||||||
if (curbuf->b_p_bt[0] != 'q')
|
if (bt_quickfix(curbuf))
|
||||||
qf_set_cwindow_options();
|
qf_set_cwindow_options();
|
||||||
|
|
||||||
// Only set the height when still in the same tab page and there is no
|
// Only set the height when still in the same tab page and there is no
|
||||||
|
|||||||
@@ -777,6 +777,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 */
|
||||||
|
/**/
|
||||||
|
1547,
|
||||||
/**/
|
/**/
|
||||||
1546,
|
1546,
|
||||||
/**/
|
/**/
|
||||||
|
|||||||
Reference in New Issue
Block a user