# HG changeset patch # User Bram Moolenaar # Date 1566328504 -7200 # Node ID 55c167b08c2bfcbe232fcbc04d9a3feb109f4386 # Parent c6a0db4bab28e44b68087851b23555232c6c7b54 patch 8.1.1892: missing index entry and option menu for 'completepopup' commit https://github.com/vim/vim/commit/36e4d985f0e015b189351d612132d382da9d014d Author: Bram Moolenaar Date: Tue Aug 20 21:12:16 2019 +0200 patch 8.1.1892: missing index entry and option menu for 'completepopup' Problem: Missing index entry and option menu for 'completepopup'. Solution: Add the entries. Adjust #ifdefs to avoid dead code. diff --git a/runtime/doc/quickref.txt b/runtime/doc/quickref.txt --- a/runtime/doc/quickref.txt +++ b/runtime/doc/quickref.txt @@ -1,4 +1,4 @@ -*quickref.txt* For Vim version 8.1. Last change: 2019 Aug 01 +*quickref.txt* For Vim version 8.1. Last change: 2019 Aug 20 VIM REFERENCE MANUAL by Bram Moolenaar @@ -651,6 +651,7 @@ Short explanation of each option: *opti 'complete' 'cpt' specify how Insert mode completion works 'completefunc' 'cfu' function to be used for Insert mode completion 'completeopt' 'cot' options for Insert mode completion +'completepopup' 'cpp' options for the Insert mode completion info popup 'completeslash' 'csl' like 'shellslash' for completion 'concealcursor' 'cocu' whether concealable text is hidden in cursor line 'conceallevel' 'cole' whether concealable text is shown or hidden diff --git a/runtime/optwin.vim b/runtime/optwin.vim --- a/runtime/optwin.vim +++ b/runtime/optwin.vim @@ -1,7 +1,7 @@ " These commands create the option window. " " Maintainer: Bram Moolenaar -" Last Change: 2019 Aug 01 +" Last Change: 2019 Aug 20 " If there already is an option window, jump to that one. let buf = bufnr('option-window') @@ -806,6 +806,10 @@ if has("insert_expand") call OptionL("cpt") call append("$", "completeopt\twhether to use a popup menu for Insert mode completion") call OptionG("cot", &cot) + if exists("+completepopup") + call append("$", "completepopup\toptions for the Insert mode completion info popup") + call OptionG("cpp", &cpp) + endif call append("$", "pumheight\tmaximum height of the popup menu") call OptionG("ph", &ph) call append("$", "pumwidth\tminimum width of the popup menu") diff --git a/src/option.c b/src/option.c --- a/src/option.c +++ b/src/option.c @@ -894,7 +894,7 @@ static struct vimoption options[] = #endif SCTX_INIT}, {"completepopup", "cpp", P_STRING|P_VI_DEF|P_COMMA|P_NODUP, -#ifdef FEAT_TEXT_PROP +#if defined(FEAT_TEXT_PROP) && defined(FEAT_QUICKFIX) (char_u *)&p_cpp, PV_NONE, {(char_u *)"", (char_u *)0L} #else @@ -7830,12 +7830,14 @@ did_set_string_option( if (parse_previewpopup(NULL) == FAIL) errmsg = e_invarg; } +# ifdef FEAT_QUICKFIX // 'completepopup' else if (varp == &p_cpp) { if (parse_completepopup(NULL) == FAIL) errmsg = e_invarg; } +# endif #endif /* Options that are a list of flags. */ diff --git a/src/option.h b/src/option.h --- a/src/option.h +++ b/src/option.h @@ -503,7 +503,9 @@ EXTERN int p_fs; // 'fsync' #endif EXTERN int p_gd; // 'gdefault' #ifdef FEAT_TEXT_PROP +# ifdef FEAT_QUICKFIX EXTERN char_u *p_cpp; // 'completepopup' +# endif EXTERN char_u *p_pvp; // 'previewpopup' #endif #ifdef FEAT_PRINTER diff --git a/src/popupwin.c b/src/popupwin.c --- a/src/popupwin.c +++ b/src/popupwin.c @@ -1294,9 +1294,13 @@ popup_set_buffer_text(buf_T *buf, typval static int parse_popup_option(win_T *wp, int is_preview) { - char_u *p; - - for (p = is_preview ? p_pvp : p_cpp; *p != NUL; p += (*p == ',' ? 1 : 0)) + char_u *p = +#ifdef FEAT_QUICKFIX + !is_preview ? p_cpp : +#endif + p_pvp; + + for ( ; *p != NUL; p += (*p == ',' ? 1 : 0)) { char_u *e, *dig; char_u *s = p; @@ -1674,6 +1678,7 @@ popup_create(typval_T *argvars, typval_T parse_previewpopup(wp); popup_set_wantpos_cursor(wp, wp->w_minwidth); } +# ifdef FEAT_QUICKFIX if (type == TYPE_INFO) { wp->w_popup_pos = POPPOS_TOPLEFT; @@ -1682,6 +1687,7 @@ popup_create(typval_T *argvars, typval_T add_border_left_right_padding(wp); parse_completepopup(wp); } +# endif for (i = 0; i < 4; ++i) VIM_CLEAR(wp->w_border_highlight[i]); @@ -3257,6 +3263,7 @@ popup_is_popup(win_T *wp) return wp->w_popup_flags != 0; } +#if defined(FEAT_QUICKFIX) || defined(PROTO) /* * Find an existing popup used as the info window, in the current tab page. * Return NULL if not found. @@ -3272,6 +3279,7 @@ popup_find_info_window(void) return wp; return NULL; } +#endif void f_popup_getpreview(typval_T *argvars UNUSED, typval_T *rettv) @@ -3314,6 +3322,7 @@ popup_create_preview_window(int info) return OK; } +#if defined(FEAT_QUICKFIX) || defined(PROTO) void popup_close_preview(int info) { @@ -3328,6 +3337,7 @@ popup_close_preview(int info) popup_close_and_callback(wp, &res); } } +#endif /* * Set the title of the popup window to the file name. diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -766,6 +766,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 1892, +/**/ 1891, /**/ 1890,