# HG changeset patch # User Christian Brabandt # Date 1533139207 -7200 # Node ID 4a94173743d95aceb501abaea71e91cef0cdb601 # Parent 172f18a3a6cd0efa7a1bcf46a0230569cd331b9d patch 8.1.0230: directly checking 'buftype' value commit https://github.com/vim/vim/commit/91335e5a67aaa9937e65f1e779b9f3f10fd33ee4 Author: Bram Moolenaar Date: Wed Aug 1 17:53:12 2018 +0200 patch 8.1.0230: directly checking 'buftype' value Problem: Directly checking 'buftype' value. Solution: Add the bt_normal() function. (Yegappan Lakshmanan) diff --git a/src/buffer.c b/src/buffer.c --- a/src/buffer.c +++ b/src/buffer.c @@ -5627,6 +5627,15 @@ write_viminfo_bufferlist(FILE *fp) #endif /* + * Return TRUE if "buf" is a normal buffer, 'buftype' is empty. + */ + int +bt_normal(buf_T *buf) +{ + return buf != NULL && buf->b_p_bt[0] == NUL; +} + +/* * Return TRUE if "buf" is the quickfix buffer. */ int diff --git a/src/ex_docmd.c b/src/ex_docmd.c --- a/src/ex_docmd.c +++ b/src/ex_docmd.c @@ -11768,7 +11768,7 @@ put_view( */ if ((*flagp & SSOP_FOLDS) && wp->w_buffer->b_ffname != NULL - && (*wp->w_buffer->b_p_bt == NUL || bt_help(wp->w_buffer))) + && (bt_normal(wp->w_buffer) || bt_help(wp->w_buffer))) { if (put_folds(fd, wp) == FAIL) return FAIL; diff --git a/src/fileio.c b/src/fileio.c --- a/src/fileio.c +++ b/src/fileio.c @@ -6897,7 +6897,7 @@ buf_check_timestamp( * this buffer. */ if (buf->b_ffname == NULL || buf->b_ml.ml_mfp == NULL - || *buf->b_p_bt != NUL + || !bt_normal(buf) || buf->b_saving || busy #ifdef FEAT_NETBEANS_INTG diff --git a/src/proto/buffer.pro b/src/proto/buffer.pro --- a/src/proto/buffer.pro +++ b/src/proto/buffer.pro @@ -56,6 +56,7 @@ void ex_buffer_all(exarg_T *eap); void do_modelines(int flags); int read_viminfo_bufferlist(vir_T *virp, int writing); void write_viminfo_bufferlist(FILE *fp); +int bt_normal(buf_T *buf); int bt_quickfix(buf_T *buf); int bt_terminal(buf_T *buf); int bt_help(buf_T *buf); diff --git a/src/quickfix.c b/src/quickfix.c --- a/src/quickfix.c +++ b/src/quickfix.c @@ -2487,7 +2487,7 @@ qf_find_win_with_normal_buf(void) win_T *wp; FOR_ALL_WINDOWS(wp) - if (wp->w_buffer->b_p_bt[0] == NUL) + if (bt_normal(wp->w_buffer)) return wp; return NULL; @@ -2563,7 +2563,7 @@ qf_goto_win_with_ll_file(win_T *use_win, win = curwin; do { - if (win->w_buffer->b_p_bt[0] == NUL) + if (bt_normal(win->w_buffer)) break; if (win->w_prev == NULL) win = lastwin; /* wrap around the top */ @@ -2620,8 +2620,7 @@ qf_goto_win_with_qfl_file(int qf_fnum) } /* Remember a usable window. */ - if (altwin == NULL && !win->w_p_pvw - && win->w_buffer->b_p_bt[0] == NUL) + if (altwin == NULL && !win->w_p_pvw && bt_normal(win->w_buffer)) altwin = win; } diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -795,6 +795,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 230, +/**/ 229, /**/ 228,