# HG changeset patch # User Christian Brabandt # Date 1501019104 -7200 # Node ID 77bf0346687ebe6638e8ae582e23d1169cfba52a # Parent c3c09047d1069a7c2a2b24d1ff47cb9861f6f9f2 patch 8.0.0776: function prototypes missing without the quickfix feature commit https://github.com/vim/vim/commit/f0a521f4f76904edb74e182c12732189b347ff68 Author: Bram Moolenaar Date: Tue Jul 25 23:31:12 2017 +0200 patch 8.0.0776: function prototypes missing without the quickfix feature Problem: Function prototypes missing without the quickfix feature. (Tony Mechelynck) Solution: Move non-quickfix functions to buffer.c. diff --git a/src/buffer.c b/src/buffer.c --- a/src/buffer.c +++ b/src/buffer.c @@ -5650,6 +5650,73 @@ write_viminfo_bufferlist(FILE *fp) } #endif +/* + * Return TRUE if "buf" is the quickfix buffer. + */ + int +bt_quickfix(buf_T *buf) +{ + return buf != NULL && buf->b_p_bt[0] == 'q'; +} + +/* + * Return TRUE if "buf" is a terminal buffer. + */ + int +bt_terminal(buf_T *buf) +{ + return buf != NULL && buf->b_p_bt[0] == 't'; +} + +/* + * Return TRUE if "buf" is a "nofile", "acwrite" or "terminal" buffer. + * This means the buffer name is not a file name. + */ + int +bt_nofile(buf_T *buf) +{ + 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] == 't'); +} + +/* + * Return TRUE if "buf" is a "nowrite", "nofile" or "terminal" buffer. + */ + int +bt_dontwrite(buf_T *buf) +{ + return buf != NULL && (buf->b_p_bt[0] == 'n' || buf->b_p_bt[0] == 't'); +} + + int +bt_dontwrite_msg(buf_T *buf) +{ + if (bt_dontwrite(buf)) + { + EMSG(_("E382: Cannot write, 'buftype' option is set")); + return TRUE; + } + return FALSE; +} + +/* + * Return TRUE if the buffer should be hidden, according to 'hidden', ":hide" + * and 'bufhidden'. + */ + int +buf_hide(buf_T *buf) +{ + /* 'bufhidden' overrules 'hidden' and ":hide", check it first */ + switch (buf->b_p_bh[0]) + { + case 'u': /* "unload" */ + case 'w': /* "wipe" */ + case 'd': return FALSE; /* "delete" */ + case 'h': return TRUE; /* "hide" */ + } + return (p_hid || cmdmod.hide); +} /* * Return special buffer name. diff --git a/src/proto/buffer.pro b/src/proto/buffer.pro --- a/src/proto/buffer.pro +++ b/src/proto/buffer.pro @@ -53,6 +53,12 @@ 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_quickfix(buf_T *buf); +int bt_terminal(buf_T *buf); +int bt_nofile(buf_T *buf); +int bt_dontwrite(buf_T *buf); +int bt_dontwrite_msg(buf_T *buf); +int buf_hide(buf_T *buf); char_u *buf_spname(buf_T *buf); int find_win_for_buf(buf_T *buf, win_T **wp, tabpage_T **tp); void buf_addsign(buf_T *buf, int id, linenr_T lnum, int typenr); diff --git a/src/proto/quickfix.pro b/src/proto/quickfix.pro --- a/src/proto/quickfix.pro +++ b/src/proto/quickfix.pro @@ -28,10 +28,4 @@ int set_ref_in_quickfix(int copyID); void ex_cbuffer(exarg_T *eap); void ex_cexpr(exarg_T *eap); void ex_helpgrep(exarg_T *eap); -int bt_quickfix(buf_T *buf); -int bt_terminal(buf_T *buf); -int bt_nofile(buf_T *buf); -int bt_dontwrite(buf_T *buf); -int bt_dontwrite_msg(buf_T *buf); -int buf_hide(buf_T *buf); /* vim: set ft=c : */ diff --git a/src/quickfix.c b/src/quickfix.c --- a/src/quickfix.c +++ b/src/quickfix.c @@ -5526,72 +5526,3 @@ ex_helpgrep(exarg_T *eap) } #endif /* FEAT_QUICKFIX */ - -/* - * Return TRUE if "buf" is the quickfix buffer. - */ - int -bt_quickfix(buf_T *buf) -{ - return buf != NULL && buf->b_p_bt[0] == 'q'; -} - -/* - * Return TRUE if "buf" is a terminal buffer. - */ - int -bt_terminal(buf_T *buf) -{ - return buf != NULL && buf->b_p_bt[0] == 't'; -} - -/* - * Return TRUE if "buf" is a "nofile", "acwrite" or "terminal" buffer. - * This means the buffer name is not a file name. - */ - int -bt_nofile(buf_T *buf) -{ - 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] == 't'); -} - -/* - * Return TRUE if "buf" is a "nowrite", "nofile" or "terminal" buffer. - */ - int -bt_dontwrite(buf_T *buf) -{ - return buf != NULL && (buf->b_p_bt[0] == 'n' || buf->b_p_bt[0] == 't'); -} - - int -bt_dontwrite_msg(buf_T *buf) -{ - if (bt_dontwrite(buf)) - { - EMSG(_("E382: Cannot write, 'buftype' option is set")); - return TRUE; - } - return FALSE; -} - -/* - * Return TRUE if the buffer should be hidden, according to 'hidden', ":hide" - * and 'bufhidden'. - */ - int -buf_hide(buf_T *buf) -{ - /* 'bufhidden' overrules 'hidden' and ":hide", check it first */ - switch (buf->b_p_bh[0]) - { - case 'u': /* "unload" */ - case 'w': /* "wipe" */ - case 'd': return FALSE; /* "delete" */ - case 'h': return TRUE; /* "hide" */ - } - return (p_hid || cmdmod.hide); -} - diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -770,6 +770,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 776, +/**/ 775, /**/ 774,