Patch 8.1.2371
Problem: FEAT_TEXT_PROP is a confusing name.
Solution: Use FEAT_PROP_POPUP. (Naruhiko Nishino, closes #5291)
Files: runtime/doc/popup.txt, src/beval.c, src/buffer.c, src/change.c,
src/drawline.c, src/drawscreen.c, src/edit.c, src/eval.c,
src/evalbuffer.c, src/evalfunc.c, src/evalwindow.c, src/ex_cmds.c,
src/ex_docmd.c, src/feature.h, src/fileio.c, src/getchar.c,
src/globals.h, src/gui.c, src/gui_w32.c, src/indent.c,
src/insexpand.c, src/macros.h, src/main.c, src/memline.c,
src/misc2.c, src/mouse.c, src/move.c, src/ops.c, src/option.h,
src/optiondefs.h, src/optionstr.c, src/popupmenu.c,
src/popupwin.c, src/proto.h, src/screen.c, src/search.c,
src/sign.c, src/structs.h, src/tag.c, src/testdir/runtest.vim,
src/testdir/test_execute_func.vim, src/testdir/test_popupwin.vim,
src/testdir/test_popupwin_textprop.vim, src/textprop.c, src/ui.c,
src/version.c, src/vim.h, src/window.c
*** ../vim-8.1.2370/runtime/doc/popup.txt 2019-11-16 18:21:57.990848019 +0100
--- runtime/doc/popup.txt 2019-11-30 22:40:44.381228572 +0100
***************
*** 1,10 ****
! *popup.txt* For Vim version 8.1. Last change: 2019 Jul 04
VIM REFERENCE MANUAL by Bram Moolenaar
! Displaying text in a floating window. *popup* *popup-window*
1. Introduction |popup-intro|
--- 1,10 ----
! *popup.txt* For Vim version 8.1. Last change: 2019 Nov 30
VIM REFERENCE MANUAL by Bram Moolenaar
! Displaying text in a floating window. *popup* *popup-window* *popupwin*
1. Introduction |popup-intro|
***************
*** 24,30 ****
4. Examples |popup-examples|
! {not available if the |+textprop| feature was disabled at compile time}
==============================================================================
1. Introduction *popup-intro*
--- 24,30 ----
4. Examples |popup-examples|
! {not available if the |+popupwin| feature was disabled at compile time}
==============================================================================
1. Introduction *popup-intro*
***************
*** 863,869 ****
Tab accept current suggestion
A mouse click arrives as <LeftMouse>. The coordinates can be obtained with
! |mousegetpos()|.
Vim provides standard filters |popup_filter_menu()| and
|popup_filter_yesno()|.
--- 863,869 ----
Tab accept current suggestion
A mouse click arrives as <LeftMouse>. The coordinates can be obtained with
! |getmousepos()|.
Vim provides standard filters |popup_filter_menu()| and
|popup_filter_yesno()|.
*** ../vim-8.1.2370/src/beval.c 2019-11-30 20:52:21.790719434 +0100
--- src/beval.c 2019-11-30 22:40:44.381228572 +0100
***************
*** 10,16 ****
#include "vim.h"
! #if defined(FEAT_BEVAL) || defined(FEAT_TEXT_PROP) || defined(PROTO)
/*
* Find text under the mouse position "row" / "col".
* If "getword" is TRUE the returned text in "*textp" is not the whole line but
--- 10,16 ----
#include "vim.h"
! #if defined(FEAT_BEVAL) || defined(FEAT_PROP_POPUP) || defined(PROTO)
/*
* Find text under the mouse position "row" / "col".
* If "getword" is TRUE the returned text in "*textp" is not the whole line but
*** ../vim-8.1.2370/src/buffer.c 2019-11-30 20:52:21.790719434 +0100
--- src/buffer.c 2019-11-30 22:40:44.385228554 +0100
***************
*** 861,867 ****
#ifdef FEAT_SYN_HL
syntax_clear(&buf->b_s); // reset syntax info
#endif
! #ifdef FEAT_TEXT_PROP
clear_buf_prop_types(buf);
#endif
buf->b_flags &= ~BF_READERR; // a read error is no longer relevant
--- 861,867 ----
#ifdef FEAT_SYN_HL
syntax_clear(&buf->b_s); // reset syntax info
#endif
! #ifdef FEAT_PROP_POPUP
clear_buf_prop_types(buf);
#endif
buf->b_flags &= ~BF_READERR; // a read error is no longer relevant
***************
*** 5522,5528 ****
if (bt_prompt(buf))
return (char_u *)_("[Prompt]");
#endif
! #ifdef FEAT_TEXT_PROP
if (bt_popup(buf))
return (char_u *)_("[Popup]");
#endif
--- 5522,5528 ----
if (bt_prompt(buf))
return (char_u *)_("[Prompt]");
#endif
! #ifdef FEAT_PROP_POPUP
if (bt_popup(buf))
return (char_u *)_("[Popup]");
#endif
*** ../vim-8.1.2370/src/change.c 2019-11-30 20:52:21.794719419 +0100
--- src/change.c 2019-11-30 22:40:44.385228554 +0100
***************
*** 698,704 ****
static void
inserted_bytes(linenr_T lnum, colnr_T col, int added UNUSED)
{
! #ifdef FEAT_TEXT_PROP
if (curbuf->b_has_textprop && added != 0)
adjust_prop_columns(lnum, col, added, 0);
#endif
--- 698,704 ----
static void
inserted_bytes(linenr_T lnum, colnr_T col, int added UNUSED)
{
! #ifdef FEAT_PROP_POPUP
if (curbuf->b_has_textprop && added != 0)
adjust_prop_columns(lnum, col, added, 0);
#endif
***************
*** 1289,1295 ****
mch_memmove(newp + col, oldp + col + count, (size_t)movelen);
if (alloc_newp)
ml_replace(lnum, newp, FALSE);
! #ifdef FEAT_TEXT_PROP
else
{
// Also move any following text properties.
--- 1289,1295 ----
mch_memmove(newp + col, oldp + col + count, (size_t)movelen);
if (alloc_newp)
ml_replace(lnum, newp, FALSE);
! #ifdef FEAT_PROP_POPUP
else
{
// Also move any following text properties.
***************
*** 2075,2081 ****
)
mark_adjust(curwin->w_cursor.lnum + 1, (linenr_T)MAXLNUM, 1L, 0L);
did_append = TRUE;
! #ifdef FEAT_TEXT_PROP
if ((State & INSERT) && !(State & VREPLACE_FLAG))
// properties after the split move to the next line
adjust_props_for_split(curwin->w_cursor.lnum, curwin->w_cursor.lnum,
--- 2075,2081 ----
)
mark_adjust(curwin->w_cursor.lnum + 1, (linenr_T)MAXLNUM, 1L, 0L);
did_append = TRUE;
! #ifdef FEAT_PROP_POPUP
if ((State & INSERT) && !(State & VREPLACE_FLAG))
// properties after the split move to the next line
adjust_props_for_split(curwin->w_cursor.lnum, curwin->w_cursor.lnum,
*** ../vim-8.1.2370/src/drawline.c 2019-11-26 22:38:54.383300529 +0100
--- src/drawline.c 2019-11-30 22:40:44.385228554 +0100
***************
*** 182,188 ****
}
#endif
! #ifdef FEAT_TEXT_PROP
static textprop_T *current_text_props = NULL;
static buf_T *current_buf = NULL;
--- 182,188 ----
}
#endif
! #ifdef FEAT_PROP_POPUP
static textprop_T *current_text_props = NULL;
static buf_T *current_buf = NULL;
***************
*** 297,303 ****
int *color_cols = NULL; // pointer to according columns array
#endif
int eol_hl_off = 0; // 1 if highlighted char after EOL
! #ifdef FEAT_TEXT_PROP
int text_prop_count;
int text_prop_next = 0; // next text property to use
textprop_T *text_props = NULL;
--- 297,303 ----
int *color_cols = NULL; // pointer to according columns array
#endif
int eol_hl_off = 0; // 1 if highlighted char after EOL
! #ifdef FEAT_PROP_POPUP
int text_prop_count;
int text_prop_next = 0; // next text property to use
textprop_T *text_props = NULL;
***************
*** 752,758 ****
area_highlighting = TRUE;
}
! #ifdef FEAT_TEXT_PROP
if (WIN_IS_POPUP(wp))
screen_line_flags |= SLF_POPUP;
#endif
--- 752,758 ----
area_highlighting = TRUE;
}
! #ifdef FEAT_PROP_POPUP
if (WIN_IS_POPUP(wp))
screen_line_flags |= SLF_POPUP;
#endif
***************
*** 924,930 ****
}
#endif
! #ifdef FEAT_TEXT_PROP
{
char_u *prop_start;
--- 924,930 ----
}
#endif
! #ifdef FEAT_PROP_POPUP
{
char_u *prop_start;
***************
*** 1347,1353 ****
}
#endif
! #ifdef FEAT_TEXT_PROP
if (text_props != NULL)
{
int pi;
--- 1347,1353 ----
}
#endif
! #ifdef FEAT_PROP_POPUP
if (text_props != NULL)
{
int pi;
***************
*** 1472,1478 ****
# endif
}
}
! # ifdef FEAT_TEXT_PROP
// Combine text property highlight into syntax highlight.
if (text_prop_type != NULL)
{
--- 1472,1478 ----
# endif
}
}
! # ifdef FEAT_PROP_POPUP
// Combine text property highlight into syntax highlight.
if (text_prop_type != NULL)
{
***************
*** 3124,3130 ****
cap_col = 0;
}
#endif
! #ifdef FEAT_TEXT_PROP
vim_free(text_props);
vim_free(text_prop_idxs);
#endif
--- 3124,3130 ----
cap_col = 0;
}
#endif
! #ifdef FEAT_PROP_POPUP
vim_free(text_props);
vim_free(text_prop_idxs);
#endif
*** ../vim-8.1.2370/src/drawscreen.c 2019-11-12 20:49:12.173234318 +0100
--- src/drawscreen.c 2019-11-30 22:40:44.385228554 +0100
***************
*** 149,155 ****
}
updating_screen = TRUE;
! #ifdef FEAT_TEXT_PROP
// Update popup_mask if needed. This may set w_redraw_top and w_redraw_bot
// in some windows.
may_update_popup_mask(type);
--- 149,155 ----
}
updating_screen = TRUE;
! #ifdef FEAT_PROP_POPUP
// Update popup_mask if needed. This may set w_redraw_top and w_redraw_bot
// in some windows.
may_update_popup_mask(type);
***************
*** 335,341 ****
FOR_ALL_WINDOWS(wp)
wp->w_buffer->b_mod_set = FALSE;
! #ifdef FEAT_TEXT_PROP
// Display popup windows on top of the windows and command line.
update_popups(win_update);
#endif
--- 335,341 ----
FOR_ALL_WINDOWS(wp)
wp->w_buffer->b_mod_set = FALSE;
! #ifdef FEAT_PROP_POPUP
// Display popup windows on top of the windows and command line.
update_popups(win_update);
#endif
***************
*** 2476,2482 ****
wp->w_filler_rows = wp->w_height - srow;
}
#endif
! #ifdef FEAT_TEXT_PROP
else if (WIN_IS_POPUP(wp))
{
// popup line that doesn't fit is left as-is
--- 2476,2482 ----
wp->w_filler_rows = wp->w_height - srow;
}
#endif
! #ifdef FEAT_PROP_POPUP
else if (WIN_IS_POPUP(wp))
{
// popup line that doesn't fit is left as-is
***************
*** 2585,2591 ****
!= (VALID_WCOL|VALID_WROW))
{
// A win_line() call applied a fix to screen cursor column to
! // accomodate concealment of cursor line, but in this call to
// update_topline() the cursor's row or column got invalidated.
// If they are left invalid, setcursor() will recompute them
// but there won't be any further win_line() call to re-fix the
--- 2585,2591 ----
!= (VALID_WCOL|VALID_WROW))
{
// A win_line() call applied a fix to screen cursor column to
! // accommodate concealment of cursor line, but in this call to
// update_topline() the cursor's row or column got invalidated.
// If they are left invalid, setcursor() will recompute them
// but there won't be any further win_line() call to re-fix the
***************
*** 2647,2653 ****
#ifdef FEAT_SEARCH_EXTRA
start_search_hl();
#endif
! #ifdef FEAT_TEXT_PROP
// Update popup_mask if needed.
may_update_popup_mask(must_redraw);
#endif
--- 2647,2653 ----
#ifdef FEAT_SEARCH_EXTRA
start_search_hl();
#endif
! #ifdef FEAT_PROP_POPUP
// Update popup_mask if needed.
may_update_popup_mask(must_redraw);
#endif
***************
*** 2763,2769 ****
)
win_redr_status(wp, FALSE);
! #ifdef FEAT_TEXT_PROP
// Display popup windows on top of everything.
update_popups(win_update);
#endif
--- 2763,2769 ----
)
win_redr_status(wp, FALSE);
! #ifdef FEAT_PROP_POPUP
// Display popup windows on top of everything.
update_popups(win_update);
#endif
*** ../vim-8.1.2370/src/edit.c 2019-11-26 19:33:03.454605298 +0100
--- src/edit.c 2019-11-30 22:40:44.385228554 +0100
***************
*** 1417,1423 ****
/* Trigger CursorMoved if the cursor moved. Not when the popup menu is
* visible, the command might delete it. */
if (ready && (has_cursormovedI()
! # ifdef FEAT_TEXT_PROP
|| popup_visible
# endif
# if defined(FEAT_CONCEAL)
--- 1417,1423 ----
/* Trigger CursorMoved if the cursor moved. Not when the popup menu is
* visible, the command might delete it. */
if (ready && (has_cursormovedI()
! # ifdef FEAT_PROP_POPUP
|| popup_visible
# endif
# if defined(FEAT_CONCEAL)
***************
*** 1442,1448 ****
update_curswant();
ins_apply_autocmds(EVENT_CURSORMOVEDI);
}
! #ifdef FEAT_TEXT_PROP
if (popup_visible)
popup_check_cursor_pos();
#endif
--- 1442,1448 ----
update_curswant();
ins_apply_autocmds(EVENT_CURSORMOVEDI);
}
! #ifdef FEAT_PROP_POPUP
if (popup_visible)
popup_check_cursor_pos();
#endif
***************
*** 3775,3781 ****
cc = replace_pop();
if (cc > 0)
{
! #ifdef FEAT_TEXT_PROP
size_t len_before = 0; // init to shut up GCC
if (curbuf->b_has_textprop)
--- 3775,3781 ----
cc = replace_pop();
if (cc > 0)
{
! #ifdef FEAT_PROP_POPUP
size_t len_before = 0; // init to shut up GCC
if (curbuf->b_has_textprop)
***************
*** 3835,3841 ****
// mark the buffer as changed and prepare for displaying
changed_bytes(curwin->w_cursor.lnum, curwin->w_cursor.col);
! #ifdef FEAT_TEXT_PROP
if (curbuf->b_has_textprop)
{
size_t len_now = STRLEN(ml_get_curline());
--- 3835,3841 ----
// mark the buffer as changed and prepare for displaying
changed_bytes(curwin->w_cursor.lnum, curwin->w_cursor.col);
! #ifdef FEAT_PROP_POPUP
if (curbuf->b_has_textprop)
{
size_t len_now = STRLEN(ml_get_curline());
***************
*** 4807,4813 ****
}
/*
! * Delete upto starting point, start of line or previous word.
*/
else
{
--- 4807,4813 ----
}
/*
! * Delete up to starting point, start of line or previous word.
*/
else
{
***************
*** 5609,5615 ****
if ((State & REPLACE_FLAG) && !(State & VREPLACE_FLAG))
for (temp = i; --temp >= 0; )
replace_join(repl_off);
! #ifdef FEAT_TEXT_PROP
curbuf->b_ml.ml_line_len -= i;
#endif
}
--- 5609,5615 ----
if ((State & REPLACE_FLAG) && !(State & VREPLACE_FLAG))
for (temp = i; --temp >= 0; )
replace_join(repl_off);
! #ifdef FEAT_PROP_POPUP
curbuf->b_ml.ml_line_len -= i;
#endif
}
*** ../vim-8.1.2370/src/eval.c 2019-11-26 16:50:27.300851212 +0100
--- src/eval.c 2019-11-30 22:40:44.385228554 +0100
***************
*** 3890,3896 ****
if (aucmd_win != NULL)
abort = abort || set_ref_in_item(&aucmd_win->w_winvar.di_tv, copyID,
NULL, NULL);
! #ifdef FEAT_TEXT_PROP
for (wp = first_popupwin; wp != NULL; wp = wp->w_next)
abort = abort || set_ref_in_item(&wp->w_winvar.di_tv, copyID,
NULL, NULL);
--- 3890,3896 ----
if (aucmd_win != NULL)
abort = abort || set_ref_in_item(&aucmd_win->w_winvar.di_tv, copyID,
NULL, NULL);
! #ifdef FEAT_PROP_POPUP
for (wp = first_popupwin; wp != NULL; wp = wp->w_next)
abort = abort || set_ref_in_item(&wp->w_winvar.di_tv, copyID,
NULL, NULL);
***************
*** 3954,3960 ****
abort = abort || set_ref_in_term(copyID);
#endif
! #ifdef FEAT_TEXT_PROP
abort = abort || set_ref_in_popups(copyID);
#endif
--- 3954,3960 ----
abort = abort || set_ref_in_term(copyID);
#endif
! #ifdef FEAT_PROP_POPUP
abort = abort || set_ref_in_popups(copyID);
#endif
*** ../vim-8.1.2370/src/evalbuffer.c 2019-10-27 05:12:38.284773720 +0100
--- src/evalbuffer.c 2019-11-30 22:40:44.385228554 +0100
***************
*** 565,571 ****
dict_add_list(dict, "windows", windows);
}
! #ifdef FEAT_TEXT_PROP
// List of popup windows displaying this buffer
windows = list_alloc();
if (windows != NULL)
--- 565,571 ----
dict_add_list(dict, "windows", windows);
}
! #ifdef FEAT_PROP_POPUP
// List of popup windows displaying this buffer
windows = list_alloc();
if (windows != NULL)
*** ../vim-8.1.2370/src/evalfunc.c 2019-11-29 23:15:22.116220569 +0100
--- src/evalfunc.c 2019-11-30 22:40:44.385228554 +0100
***************
*** 584,590 ****
#ifdef FEAT_PERL
{"perleval", 1, 1, FEARG_1, f_perleval},
#endif
! #ifdef FEAT_TEXT_PROP
{"popup_atcursor", 2, 2, FEARG_1, f_popup_atcursor},
{"popup_beval", 2, 2, FEARG_1, f_popup_beval},
{"popup_clear", 0, 0, 0, f_popup_clear},
--- 584,590 ----
#ifdef FEAT_PERL
{"perleval", 1, 1, FEARG_1, f_perleval},
#endif
! #ifdef FEAT_PROP_POPUP
{"popup_atcursor", 2, 2, FEARG_1, f_popup_atcursor},
{"popup_beval", 2, 2, FEARG_1, f_popup_beval},
{"popup_clear", 0, 0, 0, f_popup_clear},
***************
*** 616,622 ****
{"prompt_setinterrupt", 2, 2, FEARG_1, f_prompt_setinterrupt},
{"prompt_setprompt", 2, 2, FEARG_1, f_prompt_setprompt},
#endif
! #ifdef FEAT_TEXT_PROP
{"prop_add", 3, 3, FEARG_1, f_prop_add},
{"prop_clear", 1, 3, FEARG_1, f_prop_clear},
{"prop_list", 1, 2, FEARG_1, f_prop_list},
--- 616,622 ----
{"prompt_setinterrupt", 2, 2, FEARG_1, f_prompt_setinterrupt},
{"prompt_setprompt", 2, 2, FEARG_1, f_prompt_setprompt},
#endif
! #ifdef FEAT_PROP_POPUP
{"prop_add", 3, 3, FEARG_1, f_prop_add},
{"prop_clear", 1, 3, FEARG_1, f_prop_clear},
{"prop_list", 1, 2, FEARG_1, f_prop_list},
***************
*** 3532,3537 ****
--- 3532,3540 ----
"pythonx",
# endif
#endif
+ #ifdef FEAT_PROP_POPUP
+ "popupwin",
+ #endif
#ifdef FEAT_POSTSCRIPT
"postscript",
#endif
***************
*** 3608,3614 ****
#ifdef FEAT_TEXTOBJ
"textobjects",
#endif
! #ifdef FEAT_TEXT_PROP
"textprop",
#endif
#ifdef HAVE_TGETENT
--- 3611,3617 ----
#ifdef FEAT_TEXTOBJ
"textobjects",
#endif
! #ifdef FEAT_PROP_POPUP
"textprop",
#endif
#ifdef HAVE_TGETENT
*** ../vim-8.1.2370/src/evalwindow.c 2019-10-08 22:20:33.527292718 +0200
--- src/evalwindow.c 2019-11-30 22:40:44.389228537 +0100
***************
*** 103,109 ****
*tpp = tp;
return wp;
}
! #ifdef FEAT_TEXT_PROP
// popup windows are in separate lists
FOR_ALL_TABPAGES(tp)
for (wp = tp->tp_first_popupwin; wp != NULL; wp = wp->w_next)
--- 103,109 ----
*tpp = tp;
return wp;
}
! #ifdef FEAT_PROP_POPUP
// popup windows are in separate lists
FOR_ALL_TABPAGES(tp)
for (wp = tp->tp_first_popupwin; wp != NULL; wp = wp->w_next)
***************
*** 181,187 ****
}
if (nr >= LOWEST_WIN_ID)
{
! #ifdef FEAT_TEXT_PROP
// check tab-local popup windows
for (wp = tp->tp_first_popupwin; wp != NULL; wp = wp->w_next)
if (wp->w_id == nr)
--- 181,187 ----
}
if (nr >= LOWEST_WIN_ID)
{
! #ifdef FEAT_PROP_POPUP
// check tab-local popup windows
for (wp = tp->tp_first_popupwin; wp != NULL; wp = wp->w_next)
if (wp->w_id == nr)
***************
*** 199,204 ****
--- 199,205 ----
/*
* Find a window: When using a Window ID in any tab page, when using a number
* in the current tab page.
+ * Returns NULL when not found.
*/
win_T *
find_win_by_nr_or_id(typval_T *vp)
***************
*** 1137,1143 ****
curwin = save_curwin;
curbuf = curwin->w_buffer;
}
! # ifdef FEAT_TEXT_PROP
else if (WIN_IS_POPUP(curwin))
// original window was closed and now we're in a popup window: Go
// to the first valid window.
--- 1138,1144 ----
curwin = save_curwin;
curbuf = curwin->w_buffer;
}
! # ifdef FEAT_PROP_POPUP
else if (WIN_IS_POPUP(curwin))
// original window was closed and now we're in a popup window: Go
// to the first valid window.
*** ../vim-8.1.2370/src/ex_cmds.c 2019-11-29 23:15:22.116220569 +0100
--- src/ex_cmds.c 2019-11-30 22:40:44.389228537 +0100
***************
*** 2953,2959 ****
topline = curwin->w_topline;
if (!oldbuf) /* need to read the file */
{
! #ifdef FEAT_TEXT_PROP
// Don't use the swap-exists dialog for a popup window, can't edit
// the buffer.
if (WIN_IS_POPUP(curwin))
--- 2953,2959 ----
topline = curwin->w_topline;
if (!oldbuf) /* need to read the file */
{
! #ifdef FEAT_PROP_POPUP
// Don't use the swap-exists dialog for a popup window, can't edit
// the buffer.
if (WIN_IS_POPUP(curwin))
***************
*** 2972,2978 ****
(void)open_buffer(FALSE, eap, readfile_flags);
#endif
! #ifdef FEAT_TEXT_PROP
curbuf->b_flags &= ~BF_NO_SEA;
#endif
if (swap_exists_action == SEA_QUIT)
--- 2972,2978 ----
(void)open_buffer(FALSE, eap, readfile_flags);
#endif
! #ifdef FEAT_PROP_POPUP
curbuf->b_flags &= ~BF_NO_SEA;
#endif
if (swap_exists_action == SEA_QUIT)
***************
*** 3016,3022 ****
#ifdef FEAT_TITLE
maketitle();
#endif
! #ifdef FEAT_TEXT_PROP
if (WIN_IS_POPUP(curwin) && curwin->w_p_pvw && retval != FAIL)
popup_set_title(curwin);
#endif
--- 3016,3022 ----
#ifdef FEAT_TITLE
maketitle();
#endif
! #ifdef FEAT_PROP_POPUP
if (WIN_IS_POPUP(curwin) && curwin->w_p_pvw && retval != FAIL)
popup_set_title(curwin);
#endif
***************
*** 3900,3906 ****
int do_again; /* do it again after joining lines */
int skip_match = FALSE;
linenr_T sub_firstlnum; /* nr of first sub line */
! #ifdef FEAT_TEXT_PROP
int apc_flags = APC_SAVE_FOR_UNDO | APC_SUBSTITUTE;
colnr_T total_added = 0;
#endif
--- 3900,3906 ----
int do_again; /* do it again after joining lines */
int skip_match = FALSE;
linenr_T sub_firstlnum; /* nr of first sub line */
! #ifdef FEAT_PROP_POPUP
int apc_flags = APC_SAVE_FOR_UNDO | APC_SUBSTITUTE;
colnr_T total_added = 0;
#endif
***************
*** 4317,4323 ****
if (nmatch == 1)
{
p1 = sub_firstline;
! #ifdef FEAT_TEXT_PROP
if (curbuf->b_has_textprop)
{
int bytes_added = sublen - 1 - (regmatch.endpos[0].col
--- 4317,4323 ----
if (nmatch == 1)
{
p1 = sub_firstline;
! #ifdef FEAT_PROP_POPUP
if (curbuf->b_has_textprop)
{
int bytes_added = sublen - 1 - (regmatch.endpos[0].col
***************
*** 4435,4441 ****
if (p1[0] == '\\' && p1[1] != NUL) /* remove backslash */
{
STRMOVE(p1, p1 + 1);
! #ifdef FEAT_TEXT_PROP
if (curbuf->b_has_textprop)
{
// When text properties are changed, need to save
--- 4435,4441 ----
if (p1[0] == '\\' && p1[1] != NUL) /* remove backslash */
{
STRMOVE(p1, p1 + 1);
! #ifdef FEAT_PROP_POPUP
if (curbuf->b_has_textprop)
{
// When text properties are changed, need to save
***************
*** 4464,4470 ****
first_line = lnum;
last_line = lnum + 1;
}
! #ifdef FEAT_TEXT_PROP
adjust_props_for_split(lnum + 1, lnum, plen, 1);
#endif
// all line numbers increase
--- 4464,4470 ----
first_line = lnum;
last_line = lnum + 1;
}
! #ifdef FEAT_PROP_POPUP
adjust_props_for_split(lnum + 1, lnum, plen, 1);
#endif
// all line numbers increase
***************
*** 4993,4999 ****
*/
if (!curwin->w_p_pvw)
{
! # ifdef FEAT_TEXT_PROP
if (use_previewpopup && *p_pvp != NUL)
{
wp = popup_find_preview_window();
--- 4993,4999 ----
*/
if (!curwin->w_p_pvw)
{
! # ifdef FEAT_PROP_POPUP
if (use_previewpopup && *p_pvp != NUL)
{
wp = popup_find_preview_window();
***************
*** 5028,5034 ****
/*
* There is no preview window open yet. Create one.
*/
! # ifdef FEAT_TEXT_PROP
if ((use_previewpopup && *p_pvp != NUL)
|| use_popup != USEPOPUP_NONE)
return popup_create_preview_window(use_popup != USEPOPUP_NONE);
--- 5028,5034 ----
/*
* There is no preview window open yet. Create one.
*/
! # ifdef FEAT_PROP_POPUP
if ((use_previewpopup && *p_pvp != NUL)
|| use_popup != USEPOPUP_NONE)
return popup_create_preview_window(use_popup != USEPOPUP_NONE);
*** ../vim-8.1.2370/src/ex_docmd.c 2019-11-26 17:04:53.445152907 +0100
--- src/ex_docmd.c 2019-11-30 22:40:44.389228537 +0100
***************
*** 368,374 ****
#if !defined(FEAT_X11) || !defined(FEAT_XCLIPBOARD)
# define ex_xrestore ex_ni
#endif
! #if !defined(FEAT_TEXT_PROP)
# define ex_popupclear ex_ni
#endif
--- 368,374 ----
#if !defined(FEAT_X11) || !defined(FEAT_XCLIPBOARD)
# define ex_xrestore ex_ni
#endif
! #if !defined(FEAT_PROP_POPUP)
# define ex_popupclear ex_ni
#endif
***************
*** 5013,5019 ****
ex_win_close(eap->forceit, win, NULL);
return;
}
! # ifdef FEAT_TEXT_PROP
// Also when 'previewpopup' is empty, it might have been cleared.
popup_close_preview();
# endif
--- 5013,5019 ----
ex_win_close(eap->forceit, win, NULL);
return;
}
! # ifdef FEAT_PROP_POPUP
// Also when 'previewpopup' is empty, it might have been cleared.
popup_close_preview();
# endif
***************
*** 7812,7818 ****
redraw_later(VALID);
win_enter(curwin_save, TRUE);
}
! # ifdef FEAT_TEXT_PROP
else if (WIN_IS_POPUP(curwin))
{
// can't keep focus in popup window
--- 7812,7818 ----
redraw_later(VALID);
win_enter(curwin_save, TRUE);
}
! # ifdef FEAT_PROP_POPUP
else if (WIN_IS_POPUP(curwin))
{
// can't keep focus in popup window
*** ../vim-8.1.2370/src/feature.h 2019-11-30 19:44:34.843518185 +0100
--- src/feature.h 2019-11-30 22:43:44.324411746 +0100
***************
*** 1151,1160 ****
#endif
/*
! * +textprop Text properties and popup windows
*/
#if defined(FEAT_EVAL) && defined(FEAT_SYN_HL)
! # define FEAT_TEXT_PROP
#endif
#if defined(FEAT_SYN_HL) && defined(FEAT_RELTIME)
--- 1151,1160 ----
#endif
/*
! * +textprop and +popupwin Text PROPerties and POPUP windows
*/
#if defined(FEAT_EVAL) && defined(FEAT_SYN_HL)
! # define FEAT_PROP_POPUP
#endif
#if defined(FEAT_SYN_HL) && defined(FEAT_RELTIME)
***************
*** 1167,1173 ****
* +signs Allow signs to be displayed to the left of text lines.
* Adds the ":sign" command.
*/
! #if defined(FEAT_BIG) || defined(FEAT_NETBEANS_INTG) || defined(FEAT_TEXT_PROP)
# define FEAT_SIGNS
# if ((defined(FEAT_GUI_MOTIF) || defined(FEAT_GUI_ATHENA)) \
&& defined(HAVE_X11_XPM_H)) \
--- 1167,1173 ----
* +signs Allow signs to be displayed to the left of text lines.
* Adds the ":sign" command.
*/
! #if defined(FEAT_BIG) || defined(FEAT_NETBEANS_INTG) || defined(FEAT_PROP_POPUP)
# define FEAT_SIGNS
# if ((defined(FEAT_GUI_MOTIF) || defined(FEAT_GUI_ATHENA)) \
&& defined(HAVE_X11_XPM_H)) \
*** ../vim-8.1.2370/src/fileio.c 2019-11-17 17:06:25.820081750 +0100
--- src/fileio.c 2019-11-30 22:40:44.389228537 +0100
***************
*** 1078,1084 ****
* We allocate as much space for the file as we can get, plus
* space for the old line plus room for one terminating NUL.
* The amount is limited by the fact that read() only can read
! * upto max_unsigned characters (and other things).
*/
if (!skip_read)
{
--- 1078,1084 ----
* We allocate as much space for the file as we can get, plus
* space for the old line plus room for one terminating NUL.
* The amount is limited by the fact that read() only can read
! * up to max_unsigned characters (and other things).
*/
if (!skip_read)
{
***************
*** 3366,3372 ****
}
status_redraw_all();
redraw_tabline = TRUE;
! #ifdef FEAT_TEXT_PROP
popup_update_preview_title();
#endif
}
--- 3366,3372 ----
}
status_redraw_all();
redraw_tabline = TRUE;
! #ifdef FEAT_PROP_POPUP
popup_update_preview_title();
#endif
}
*** ../vim-8.1.2370/src/getchar.c 2019-11-26 19:33:03.458605263 +0100
--- src/getchar.c 2019-11-30 22:40:44.389228537 +0100
***************
*** 1604,1610 ****
#if defined(FEAT_XIM) && defined(FEAT_GUI_GTK)
|| im_is_preediting()
#endif
! #if defined(FEAT_TEXT_PROP)
|| popup_no_mapping()
#endif
)
--- 1604,1610 ----
#if defined(FEAT_XIM) && defined(FEAT_GUI_GTK)
|| im_is_preediting()
#endif
! #if defined(FEAT_PROP_POPUP)
|| popup_no_mapping()
#endif
)
***************
*** 1822,1828 ****
ui_remove_balloon();
}
#endif
! #ifdef FEAT_TEXT_PROP
if (popup_do_filter(c))
{
if (c == Ctrl_C)
--- 1822,1828 ----
ui_remove_balloon();
}
#endif
! #ifdef FEAT_PROP_POPUP
if (popup_do_filter(c))
{
if (c == Ctrl_C)
***************
*** 2038,2044 ****
if (win == NULL)
return;
(void)mouse_comp_pos(win, &row, &col, &lnum, NULL);
! #ifdef FEAT_TEXT_PROP
if (WIN_IS_POPUP(win))
winnr = 0;
else
--- 2038,2044 ----
if (win == NULL)
return;
(void)mouse_comp_pos(win, &row, &col, &lnum, NULL);
! #ifdef FEAT_PROP_POPUP
if (WIN_IS_POPUP(win))
winnr = 0;
else
***************
*** 2851,2857 ****
/*
* get a character: 2. from the typeahead buffer
*/
! c = typebuf.tb_buf[typebuf.tb_off] & 255;
if (advance) /* remove chars from tb_buf */
{
cmd_silent = (typebuf.tb_silent > 0);
--- 2851,2857 ----
/*
* get a character: 2. from the typeahead buffer
*/
! c = typebuf.tb_buf[typebuf.tb_off];
if (advance) /* remove chars from tb_buf */
{
cmd_silent = (typebuf.tb_silent > 0);
*** ../vim-8.1.2370/src/globals.h 2019-11-30 19:44:34.843518185 +0100
--- src/globals.h 2019-11-30 22:40:44.389228537 +0100
***************
*** 95,101 ****
*/
EXTERN short *TabPageIdxs INIT(= NULL);
! #ifdef FEAT_TEXT_PROP
// Array with size Rows x Columns containing zindex of popups.
EXTERN short *popup_mask INIT(= NULL);
EXTERN short *popup_mask_next INIT(= NULL);
--- 95,101 ----
*/
EXTERN short *TabPageIdxs INIT(= NULL);
! #ifdef FEAT_PROP_POPUP
// Array with size Rows x Columns containing zindex of popups.
EXTERN short *popup_mask INIT(= NULL);
EXTERN short *popup_mask_next INIT(= NULL);
***************
*** 640,646 ****
EXTERN win_T *aucmd_win; // window used in aucmd_prepbuf()
EXTERN int aucmd_win_used INIT(= FALSE); // aucmd_win is being used
! #ifdef FEAT_TEXT_PROP
EXTERN win_T *first_popupwin; // first global popup window
EXTERN win_T *popup_dragwin INIT(= NULL); // popup window being dragged
--- 640,646 ----
EXTERN win_T *aucmd_win; // window used in aucmd_prepbuf()
EXTERN int aucmd_win_used INIT(= FALSE); // aucmd_win is being used
! #ifdef FEAT_PROP_POPUP
EXTERN win_T *first_popupwin; // first global popup window
EXTERN win_T *popup_dragwin INIT(= NULL); // popup window being dragged
*** ../vim-8.1.2370/src/gui.c 2019-11-21 22:14:14.357810945 +0100
--- src/gui.c 2019-11-30 22:40:44.389228537 +0100
***************
*** 4898,4904 ****
// apply 'mousefocus' and pointer shape
gui_mouse_focus(x, y);
! #ifdef FEAT_TEXT_PROP
if (popup_visible)
// Generate a mouse-moved event, so that the popup can perhaps be
// closed, just like in the terminal.
--- 4898,4904 ----
// apply 'mousefocus' and pointer shape
gui_mouse_focus(x, y);
! #ifdef FEAT_PROP_POPUP
if (popup_visible)
// Generate a mouse-moved event, so that the popup can perhaps be
// closed, just like in the terminal.
***************
*** 5152,5158 ****
/* Trigger CursorMoved if the cursor moved. */
if (!finish_op && (has_cursormoved()
! # ifdef FEAT_TEXT_PROP
|| popup_visible
# endif
# ifdef FEAT_CONCEAL
--- 5152,5158 ----
/* Trigger CursorMoved if the cursor moved. */
if (!finish_op && (has_cursormoved()
! # ifdef FEAT_PROP_POPUP
|| popup_visible
# endif
# ifdef FEAT_CONCEAL
***************
*** 5162,5168 ****
{
if (has_cursormoved())
apply_autocmds(EVENT_CURSORMOVED, NULL, NULL, FALSE, curbuf);
! #ifdef FEAT_TEXT_PROP
if (popup_visible)
popup_check_cursor_pos();
#endif
--- 5162,5168 ----
{
if (has_cursormoved())
apply_autocmds(EVENT_CURSORMOVED, NULL, NULL, FALSE, curbuf);
! #ifdef FEAT_PROP_POPUP
if (popup_visible)
popup_check_cursor_pos();
#endif
*** ../vim-8.1.2370/src/gui_w32.c 2019-11-29 23:15:22.116220569 +0100
--- src/gui_w32.c 2019-11-30 22:40:44.393228517 +0100
***************
*** 4255,4261 ****
wp = gui_mouse_window(FIND_POPUP);
! #ifdef FEAT_TEXT_PROP
if (wp != NULL && popup_is_popup(wp))
{
cmdarg_T cap;
--- 4255,4261 ----
wp = gui_mouse_window(FIND_POPUP);
! #ifdef FEAT_PROP_POPUP
if (wp != NULL && popup_is_popup(wp))
{
cmdarg_T cap;
*** ../vim-8.1.2370/src/indent.c 2019-11-21 22:14:14.357810945 +0100
--- src/indent.c 2019-11-30 22:40:44.393228517 +0100
***************
*** 773,779 ****
// at the start of the indent (replacing spaces with TAB)
saved_cursor.col = (colnr_T)(s - newline);
}
! #ifdef FEAT_TEXT_PROP
{
int added = ind_len - (colnr_T)(p - oldline);
--- 773,779 ----
// at the start of the indent (replacing spaces with TAB)
saved_cursor.col = (colnr_T)(s - newline);
}
! #ifdef FEAT_PROP_POPUP
{
int added = ind_len - (colnr_T)(p - oldline);
*** ../vim-8.1.2370/src/insexpand.c 2019-11-17 17:06:25.824081732 +0100
--- src/insexpand.c 2019-11-30 22:40:44.393228517 +0100
***************
*** 1811,1817 ****
|| c == K_MOUSELEFT || c == K_MOUSERIGHT)
return retval;
! #ifdef FEAT_TEXT_PROP
// Ignore mouse events in a popup window
if (is_mouse_key(c))
{
--- 1811,1817 ----
|| c == K_MOUSELEFT || c == K_MOUSERIGHT)
return retval;
! #ifdef FEAT_PROP_POPUP
// Ignore mouse events in a popup window
if (is_mouse_key(c))
{
*** ../vim-8.1.2370/src/macros.h 2019-11-30 19:44:34.847518172 +0100
--- src/macros.h 2019-11-30 22:40:44.393228517 +0100
***************
*** 339,345 ****
#define IS_USER_CMDIDX(idx) ((int)(idx) < 0)
// Give an error in curwin is a popup window and evaluate to TRUE.
! #ifdef FEAT_TEXT_PROP
# define ERROR_IF_POPUP_WINDOW error_if_popup_window()
#else
# define ERROR_IF_POPUP_WINDOW 0
--- 339,345 ----
#define IS_USER_CMDIDX(idx) ((int)(idx) < 0)
// Give an error in curwin is a popup window and evaluate to TRUE.
! #ifdef FEAT_PROP_POPUP
# define ERROR_IF_POPUP_WINDOW error_if_popup_window()
#else
# define ERROR_IF_POPUP_WINDOW 0
*** ../vim-8.1.2370/src/main.c 2019-11-17 17:06:25.824081732 +0100
--- src/main.c 2019-11-30 22:40:44.393228517 +0100
***************
*** 1283,1289 ****
/* Trigger CursorMoved if the cursor moved. */
if (!finish_op && (
has_cursormoved()
! #ifdef FEAT_TEXT_PROP
|| popup_visible
#endif
#ifdef FEAT_CONCEAL
--- 1283,1289 ----
/* Trigger CursorMoved if the cursor moved. */
if (!finish_op && (
has_cursormoved()
! #ifdef FEAT_PROP_POPUP
|| popup_visible
#endif
#ifdef FEAT_CONCEAL
***************
*** 1295,1301 ****
if (has_cursormoved())
apply_autocmds(EVENT_CURSORMOVED, NULL, NULL,
FALSE, curbuf);
! #ifdef FEAT_TEXT_PROP
if (popup_visible)
popup_check_cursor_pos();
#endif
--- 1295,1301 ----
if (has_cursormoved())
apply_autocmds(EVENT_CURSORMOVED, NULL, NULL,
FALSE, curbuf);
! #ifdef FEAT_PROP_POPUP
if (popup_visible)
popup_check_cursor_pos();
#endif
*** ../vim-8.1.2370/src/memline.c 2019-11-02 22:54:37.401188829 +0100
--- src/memline.c 2019-11-30 22:40:44.393228517 +0100
***************
*** 2705,2711 ****
return (curbuf->b_ml.ml_flags & ML_LINE_DIRTY);
}
! #ifdef FEAT_TEXT_PROP
static void
add_text_props_for_append(
buf_T *buf,
--- 2705,2711 ----
return (curbuf->b_ml.ml_flags & ML_LINE_DIRTY);
}
! #ifdef FEAT_PROP_POPUP
static void
add_text_props_for_append(
buf_T *buf,
***************
*** 2789,2795 ****
DATA_BL *dp;
PTR_BL *pp;
infoptr_T *ip;
! #ifdef FEAT_TEXT_PROP
char_u *tofree = NULL;
#endif
int ret = FAIL;
--- 2789,2795 ----
DATA_BL *dp;
PTR_BL *pp;
infoptr_T *ip;
! #ifdef FEAT_PROP_POPUP
char_u *tofree = NULL;
#endif
int ret = FAIL;
***************
*** 2803,2809 ****
if (len == 0)
len = (colnr_T)STRLEN(line) + 1; // space needed for the text
! #ifdef FEAT_TEXT_PROP
if (curbuf->b_has_textprop && lnum > 0)
// Add text properties that continue from the previous line.
add_text_props_for_append(buf, lnum, &line, &len, &tofree);
--- 2803,2809 ----
if (len == 0)
len = (colnr_T)STRLEN(line) + 1; // space needed for the text
! #ifdef FEAT_PROP_POPUP
if (curbuf->b_has_textprop && lnum > 0)
// Add text properties that continue from the previous line.
add_text_props_for_append(buf, lnum, &line, &len, &tofree);
***************
*** 3280,3286 ****
ret = OK;
theend:
! #ifdef FEAT_TEXT_PROP
vim_free(tofree);
#endif
return ret;
--- 3280,3286 ----
ret = OK;
theend:
! #ifdef FEAT_PROP_POPUP
vim_free(tofree);
#endif
return ret;
***************
*** 3409,3415 ****
if (copy)
{
// copy the line to allocated memory
! #ifdef FEAT_TEXT_PROP
if (has_props)
line = vim_memsave(line, len);
else
--- 3409,3415 ----
if (copy)
{
// copy the line to allocated memory
! #ifdef FEAT_PROP_POPUP
if (has_props)
line = vim_memsave(line, len);
else
***************
*** 3432,3445 ****
ml_flush_line(curbuf);
curbuf->b_ml.ml_flags &= ~ML_LINE_DIRTY;
! #ifdef FEAT_TEXT_PROP
if (curbuf->b_has_textprop && !has_props)
// Need to fetch the old line to copy over any text properties.
ml_get_buf(curbuf, lnum, TRUE);
#endif
}
! #ifdef FEAT_TEXT_PROP
if (curbuf->b_has_textprop && !has_props)
{
size_t oldtextlen = STRLEN(curbuf->b_ml.ml_line_ptr) + 1;
--- 3432,3445 ----
ml_flush_line(curbuf);
curbuf->b_ml.ml_flags &= ~ML_LINE_DIRTY;
! #ifdef FEAT_PROP_POPUP
if (curbuf->b_has_textprop && !has_props)
// Need to fetch the old line to copy over any text properties.
ml_get_buf(curbuf, lnum, TRUE);
#endif
}
! #ifdef FEAT_PROP_POPUP
if (curbuf->b_has_textprop && !has_props)
{
size_t oldtextlen = STRLEN(curbuf->b_ml.ml_line_ptr) + 1;
***************
*** 3475,3481 ****
return OK;
}
! #ifdef FEAT_TEXT_PROP
/*
* Adjust text properties in line "lnum" for a deleted line.
* When "above" is true this is the line above the deleted line.
--- 3475,3481 ----
return OK;
}
! #ifdef FEAT_PROP_POPUP
/*
* Adjust text properties in line "lnum" for a deleted line.
* When "above" is true this is the line above the deleted line.
***************
*** 3614,3620 ****
long line_size;
int i;
int ret = FAIL;
! #ifdef FEAT_TEXT_PROP
char_u *textprop_save = NULL;
int textprop_save_len;
#endif
--- 3614,3620 ----
long line_size;
int i;
int ret = FAIL;
! #ifdef FEAT_PROP_POPUP
char_u *textprop_save = NULL;
int textprop_save_len;
#endif
***************
*** 3671,3677 ****
if (netbeans_active())
netbeans_removed(buf, lnum, 0, (long)line_size);
#endif
! #ifdef FEAT_TEXT_PROP
// If there are text properties, make a copy, so that we can update
// properties in preceding and following lines.
if (buf->b_has_textprop)
--- 3671,3677 ----
if (netbeans_active())
netbeans_removed(buf, lnum, 0, (long)line_size);
#endif
! #ifdef FEAT_PROP_POPUP
// If there are text properties, make a copy, so that we can update
// properties in preceding and following lines.
if (buf->b_has_textprop)
***************
*** 3772,3778 ****
ret = OK;
theend:
! #ifdef FEAT_TEXT_PROP
if (textprop_save != NULL)
{
// Adjust text properties in the line above and below.
--- 3772,3778 ----
ret = OK;
theend:
! #ifdef FEAT_PROP_POPUP
if (textprop_save != NULL)
{
// Adjust text properties in the line above and below.
***************
*** 5559,5565 ****
end_idx = count - 1;
linecnt += rest;
}
! #ifdef FEAT_TEXT_PROP
if (buf->b_has_textprop)
{
int i;
--- 5559,5565 ----
end_idx = count - 1;
linecnt += rest;
}
! #ifdef FEAT_PROP_POPUP
if (buf->b_has_textprop)
{
int i;
***************
*** 5768,5774 ****
idx++;
}
}
! #ifdef FEAT_TEXT_PROP
if (buf->b_has_textprop)
{
int i;
--- 5768,5774 ----
idx++;
}
}
! #ifdef FEAT_PROP_POPUP
if (buf->b_has_textprop)
{
int i;
*** ../vim-8.1.2370/src/misc2.c 2019-11-13 21:49:21.288309771 +0100
--- src/misc2.c 2019-11-30 22:40:44.393228517 +0100
***************
*** 1148,1154 ****
/* Clear cmdline history. */
p_hi = 0;
init_history();
! # ifdef FEAT_TEXT_PROP
clear_global_prop_types();
# endif
--- 1148,1154 ----
/* Clear cmdline history. */
p_hi = 0;
init_history();
! # ifdef FEAT_PROP_POPUP
clear_global_prop_types();
# endif
*** ../vim-8.1.2370/src/mouse.c 2019-11-22 22:21:56.702841558 +0100
--- src/mouse.c 2019-11-30 22:40:44.393228517 +0100
***************
*** 291,297 ****
bevalexpr_due_set = TRUE;
}
#endif
! #ifdef FEAT_TEXT_PROP
popup_handle_mouse_moved();
#endif
return FALSE;
--- 291,297 ----
bevalexpr_due_set = TRUE;
}
#endif
! #ifdef FEAT_PROP_POPUP
popup_handle_mouse_moved();
#endif
return FALSE;
***************
*** 1104,1110 ****
(long)(curwin->w_botline - curwin->w_topline));
else
scroll_redraw(dir, 3L);
! # ifdef FEAT_TEXT_PROP
if (WIN_IS_POPUP(curwin))
popup_set_firstline(curwin);
# endif
--- 1104,1110 ----
(long)(curwin->w_botline - curwin->w_topline));
else
scroll_redraw(dir, 3L);
! # ifdef FEAT_PROP_POPUP
if (WIN_IS_POPUP(curwin))
popup_set_firstline(curwin);
# endif
***************
*** 1500,1506 ****
#ifdef FEAT_MENU
static int in_winbar = FALSE;
#endif
! #ifdef FEAT_TEXT_PROP
static int in_popup_win = FALSE;
static win_T *click_in_popup_win = NULL;
#endif
--- 1500,1506 ----
#ifdef FEAT_MENU
static int in_winbar = FALSE;
#endif
! #ifdef FEAT_PROP_POPUP
static int in_popup_win = FALSE;
static win_T *click_in_popup_win = NULL;
#endif
***************
*** 1530,1536 ****
flags &= ~(MOUSE_FOCUS | MOUSE_DID_MOVE);
dragwin = NULL;
did_drag = FALSE;
! #ifdef FEAT_TEXT_PROP
if (click_in_popup_win != NULL && popup_dragwin == NULL)
popup_close_for_mouse_click(click_in_popup_win);
--- 1530,1536 ----
flags &= ~(MOUSE_FOCUS | MOUSE_DID_MOVE);
dragwin = NULL;
did_drag = FALSE;
! #ifdef FEAT_PROP_POPUP
if (click_in_popup_win != NULL && popup_dragwin == NULL)
popup_close_for_mouse_click(click_in_popup_win);
***************
*** 1575,1581 ****
if (cmdwin_type != 0 && row < curwin->w_winrow)
return IN_OTHER_WIN;
#endif
! #ifdef FEAT_TEXT_PROP
// Continue a modeless selection in a popup window or dragging it.
if (in_popup_win)
{
--- 1575,1581 ----
if (cmdwin_type != 0 && row < curwin->w_winrow)
return IN_OTHER_WIN;
#endif
! #ifdef FEAT_PROP_POPUP
// Continue a modeless selection in a popup window or dragging it.
if (in_popup_win)
{
***************
*** 1623,1629 ****
return IN_UNKNOWN;
dragwin = NULL;
! #ifdef FEAT_TEXT_PROP
// Click in a popup window may start dragging or modeless selection,
// but not much else.
if (WIN_IS_POPUP(wp))
--- 1623,1629 ----
return IN_UNKNOWN;
dragwin = NULL;
! #ifdef FEAT_PROP_POPUP
// Click in a popup window may start dragging or modeless selection,
// but not much else.
if (WIN_IS_POPUP(wp))
***************
*** 1824,1830 ****
if (cmdwin_type != 0 && row < curwin->w_winrow)
return IN_OTHER_WIN;
#endif
! #ifdef FEAT_TEXT_PROP
if (in_popup_win)
{
if (popup_dragwin != NULL)
--- 1824,1830 ----
if (cmdwin_type != 0 && row < curwin->w_winrow)
return IN_OTHER_WIN;
#endif
! #ifdef FEAT_PROP_POPUP
if (in_popup_win)
{
if (popup_dragwin != NULL)
***************
*** 2014,2020 ****
wp = mouse_find_win(&row, &col, FIND_POPUP);
if (wp == NULL)
return;
! #ifdef FEAT_TEXT_PROP
if (WIN_IS_POPUP(wp) && !wp->w_has_scrollbar)
return;
#endif
--- 2014,2020 ----
wp = mouse_find_win(&row, &col, FIND_POPUP);
if (wp == NULL)
return;
! #ifdef FEAT_PROP_POPUP
if (WIN_IS_POPUP(wp) && !wp->w_has_scrollbar)
return;
#endif
***************
*** 2049,2055 ****
cap->count0 = cap->count1;
nv_scroll_line(cap);
}
! #ifdef FEAT_TEXT_PROP
if (WIN_IS_POPUP(curwin))
popup_set_firstline(curwin);
#endif
--- 2049,2055 ----
cap->count0 = cap->count1;
nv_scroll_line(cap);
}
! #ifdef FEAT_PROP_POPUP
if (WIN_IS_POPUP(curwin))
popup_set_firstline(curwin);
#endif
***************
*** 2925,2931 ****
frame_T *fp;
win_T *wp;
! #ifdef FEAT_TEXT_PROP
win_T *pwp = NULL;
if (popup != IGNORE_POPUP)
--- 2925,2931 ----
frame_T *fp;
win_T *wp;
! #ifdef FEAT_PROP_POPUP
win_T *pwp = NULL;
if (popup != IGNORE_POPUP)
***************
*** 2987,2993 ****
return NULL;
}
! #if defined(NEED_VCOL2COL) || defined(FEAT_BEVAL) || defined(FEAT_TEXT_PROP) \
|| defined(PROTO)
/*
* Convert a virtual (screen) column to a character column.
--- 2987,2993 ----
return NULL;
}
! #if defined(NEED_VCOL2COL) || defined(FEAT_BEVAL) || defined(FEAT_PROP_POPUP) \
|| defined(PROTO)
/*
* Convert a virtual (screen) column to a character column.
***************
*** 3039,3045 ****
int left_off = 0;
int height = wp->w_height + wp->w_status_height;
! #ifdef FEAT_TEXT_PROP
if (WIN_IS_POPUP(wp))
{
top_off = popup_top_extra(wp);
--- 3039,3045 ----
int left_off = 0;
int height = wp->w_height + wp->w_status_height;
! #ifdef FEAT_PROP_POPUP
if (WIN_IS_POPUP(wp))
{
top_off = popup_top_extra(wp);
*** ../vim-8.1.2370/src/move.c 2019-11-16 14:19:29.711739240 +0100
--- src/move.c 2019-11-30 22:40:44.393228517 +0100
***************
*** 1181,1187 ****
curwin->w_valid |= VALID_WCOL|VALID_WROW|VALID_VIRTCOL;
}
! #if (defined(FEAT_EVAL) || defined(FEAT_TEXT_PROP)) || defined(PROTO)
/*
* Compute the screen position of text character at "pos" in window "wp"
* The resulting values are one-based, zero when character is not visible.
--- 1181,1187 ----
curwin->w_valid |= VALID_WCOL|VALID_WROW|VALID_VIRTCOL;
}
! #if (defined(FEAT_EVAL) || defined(FEAT_PROP_POPUP)) || defined(PROTO)
/*
* Compute the screen position of text character at "pos" in window "wp"
* The resulting values are one-based, zero when character is not visible.
*** ../vim-8.1.2370/src/ops.c 2019-11-16 13:50:18.777646751 +0100
--- src/ops.c 2019-11-30 22:40:44.397228499 +0100
***************
*** 828,834 ****
/* replace the line */
ml_replace(lnum, newp, FALSE);
! #ifdef FEAT_TEXT_PROP
if (curbuf->b_has_textprop && n != 0)
adjust_prop_columns(lnum, bd.textcol, -n, 0);
#endif
--- 828,834 ----
/* replace the line */
ml_replace(lnum, newp, FALSE);
! #ifdef FEAT_PROP_POPUP
if (curbuf->b_has_textprop && n != 0)
adjust_prop_columns(lnum, bd.textcol, -n, 0);
#endif
***************
*** 1948,1954 ****
int remove_comments = (use_formatoptions == TRUE)
&& has_format_option(FO_REMOVE_COMS);
int prev_was_comment;
! #ifdef FEAT_TEXT_PROP
textprop_T **prop_lines = NULL;
int *prop_lengths = NULL;
#endif
--- 1948,1954 ----
int remove_comments = (use_formatoptions == TRUE)
&& has_format_option(FO_REMOVE_COMS);
int prev_was_comment;
! #ifdef FEAT_PROP_POPUP
textprop_T **prop_lines = NULL;
int *prop_lengths = NULL;
#endif
***************
*** 2072,2078 ****
cend = newp + sumsize;
*cend = 0;
! #ifdef FEAT_TEXT_PROP
// We need to move properties of the lines that are going to be deleted to
// the new long one.
if (curbuf->b_has_textprop && !text_prop_frozen)
--- 2072,2078 ----
cend = newp + sumsize;
*cend = 0;
! #ifdef FEAT_PROP_POPUP
// We need to move properties of the lines that are going to be deleted to
// the new long one.
if (curbuf->b_has_textprop && !text_prop_frozen)
***************
*** 2114,2120 ****
(long)(cend - newp - spaces_removed), spaces_removed);
if (t == 0)
break;
! #ifdef FEAT_TEXT_PROP
if (prop_lines != NULL)
adjust_props_for_join(curwin->w_cursor.lnum + t,
prop_lines + t - 1, prop_lengths + t - 1,
--- 2114,2120 ----
(long)(cend - newp - spaces_removed), spaces_removed);
if (t == 0)
break;
! #ifdef FEAT_PROP_POPUP
if (prop_lines != NULL)
adjust_props_for_join(curwin->w_cursor.lnum + t,
prop_lines + t - 1, prop_lengths + t - 1,
***************
*** 2129,2135 ****
currsize = (int)STRLEN(curr);
}
! #ifdef FEAT_TEXT_PROP
if (prop_lines != NULL)
join_prop_lines(curwin->w_cursor.lnum, newp,
prop_lines, prop_lengths, count);
--- 2129,2135 ----
currsize = (int)STRLEN(curr);
}
! #ifdef FEAT_PROP_POPUP
if (prop_lines != NULL)
join_prop_lines(curwin->w_cursor.lnum, newp,
prop_lines, prop_lengths, count);
*** ../vim-8.1.2370/src/option.h 2019-11-30 19:44:34.847518172 +0100
--- src/option.h 2019-11-30 22:40:44.397228499 +0100
***************
*** 567,573 ****
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
--- 567,573 ----
EXTERN int p_fs; // 'fsync'
#endif
EXTERN int p_gd; // 'gdefault'
! #ifdef FEAT_PROP_POPUP
# ifdef FEAT_QUICKFIX
EXTERN char_u *p_cpp; // 'completepopup'
# endif
*** ../vim-8.1.2370/src/optiondefs.h 2019-11-10 21:00:21.418665688 +0100
--- src/optiondefs.h 2019-11-30 22:40:44.397228499 +0100
***************
*** 688,694 ****
{(char_u *)"menu,preview", (char_u *)0L}
SCTX_INIT},
{"completepopup", "cpp", P_STRING|P_VI_DEF|P_COMMA|P_NODUP,
! #if defined(FEAT_TEXT_PROP) && defined(FEAT_QUICKFIX)
(char_u *)&p_cpp, PV_NONE,
{(char_u *)"", (char_u *)0L}
#else
--- 688,694 ----
{(char_u *)"menu,preview", (char_u *)0L}
SCTX_INIT},
{"completepopup", "cpp", P_STRING|P_VI_DEF|P_COMMA|P_NODUP,
! #if defined(FEAT_PROP_POPUP) && defined(FEAT_QUICKFIX)
(char_u *)&p_cpp, PV_NONE,
{(char_u *)"", (char_u *)0L}
#else
***************
*** 1897,1903 ****
#endif
{(char_u *)12L, (char_u *)0L} SCTX_INIT},
{"previewpopup", "pvp", P_STRING|P_VI_DEF|P_COMMA|P_NODUP,
! #ifdef FEAT_TEXT_PROP
(char_u *)&p_pvp, PV_NONE,
{(char_u *)"", (char_u *)0L}
#else
--- 1897,1903 ----
#endif
{(char_u *)12L, (char_u *)0L} SCTX_INIT},
{"previewpopup", "pvp", P_STRING|P_VI_DEF|P_COMMA|P_NODUP,
! #ifdef FEAT_PROP_POPUP
(char_u *)&p_pvp, PV_NONE,
{(char_u *)"", (char_u *)0L}
#else
*** ../vim-8.1.2370/src/optionstr.c 2019-11-17 18:09:33.609491591 +0100
--- src/optionstr.c 2019-11-30 22:40:44.397228499 +0100
***************
*** 2220,2226 ****
}
#endif
! #ifdef FEAT_TEXT_PROP
// 'previewpopup'
else if (varp == &p_pvp)
{
--- 2220,2226 ----
}
#endif
! #ifdef FEAT_PROP_POPUP
// 'previewpopup'
else if (varp == &p_pvp)
{
*** ../vim-8.1.2370/src/popupmenu.c 2019-11-30 20:58:42.993388717 +0100
--- src/popupmenu.c 2019-11-30 22:40:44.397228499 +0100
***************
*** 429,435 ****
/ (pum_size - pum_height);
}
! #ifdef FEAT_TEXT_PROP
// The popup menu is drawn over popup menus with zindex under
// POPUPMENU_ZINDEX.
screen_zindex = POPUPMENU_ZINDEX;
--- 429,435 ----
/ (pum_size - pum_height);
}
! #ifdef FEAT_PROP_POPUP
// The popup menu is drawn over popup menus with zindex under
// POPUPMENU_ZINDEX.
screen_zindex = POPUPMENU_ZINDEX;
***************
*** 616,627 ****
++row;
}
! #ifdef FEAT_TEXT_PROP
screen_zindex = 0;
#endif
}
! #if defined(FEAT_TEXT_PROP) && defined(FEAT_QUICKFIX)
/*
* Position the info popup relative to the popup menu item.
*/
--- 616,627 ----
++row;
}
! #ifdef FEAT_PROP_POPUP
screen_zindex = 0;
#endif
}
! #if defined(FEAT_PROP_POPUP) && defined(FEAT_QUICKFIX)
/*
* Position the info popup relative to the popup menu item.
*/
***************
*** 683,689 ****
#ifdef FEAT_QUICKFIX
int prev_selected = pum_selected;
#endif
! #ifdef FEAT_TEXT_PROP
int has_info = FALSE;
#endif
--- 683,689 ----
#ifdef FEAT_QUICKFIX
int prev_selected = pum_selected;
#endif
! #ifdef FEAT_PROP_POPUP
int has_info = FALSE;
#endif
***************
*** 758,769 ****
win_T *curwin_save = curwin;
tabpage_T *curtab_save = curtab;
int res = OK;
! # ifdef FEAT_TEXT_PROP
use_popup_T use_popup;
# else
# define use_popup USEPOPUP_NONE
# endif
! # ifdef FEAT_TEXT_PROP
has_info = TRUE;
if (strstr((char *)p_cot, "popuphidden") != NULL)
use_popup = USEPOPUP_HIDDEN;
--- 758,769 ----
win_T *curwin_save = curwin;
tabpage_T *curtab_save = curtab;
int res = OK;
! # ifdef FEAT_PROP_POPUP
use_popup_T use_popup;
# else
# define use_popup USEPOPUP_NONE
# endif
! # ifdef FEAT_PROP_POPUP
has_info = TRUE;
if (strstr((char *)p_cot, "popuphidden") != NULL)
use_popup = USEPOPUP_HIDDEN;
***************
*** 787,793 ****
g_do_tagpreview = 0;
if (curwin->w_p_pvw
! # ifdef FEAT_TEXT_PROP
|| (curwin->w_popup_flags & POPF_INFO)
# endif
)
--- 787,793 ----
g_do_tagpreview = 0;
if (curwin->w_p_pvw
! # ifdef FEAT_PROP_POPUP
|| (curwin->w_popup_flags & POPF_INFO)
# endif
)
***************
*** 862,868 ****
curbuf->b_p_ma = FALSE;
if (pum_selected != prev_selected)
{
! # ifdef FEAT_TEXT_PROP
curwin->w_firstline = 1;
# endif
curwin->w_topline = 1;
--- 862,868 ----
curbuf->b_p_ma = FALSE;
if (pum_selected != prev_selected)
{
! # ifdef FEAT_PROP_POPUP
curwin->w_firstline = 1;
# endif
curwin->w_topline = 1;
***************
*** 871,877 ****
curwin->w_topline = curbuf->b_ml.ml_line_count;
curwin->w_cursor.lnum = curwin->w_topline;
curwin->w_cursor.col = 0;
! # ifdef FEAT_TEXT_PROP
if (use_popup != USEPOPUP_NONE)
{
pum_position_info_popup(curwin);
--- 871,877 ----
curwin->w_topline = curbuf->b_ml.ml_line_count;
curwin->w_cursor.lnum = curwin->w_topline;
curwin->w_cursor.col = 0;
! # ifdef FEAT_PROP_POPUP
if (use_popup != USEPOPUP_NONE)
{
pum_position_info_popup(curwin);
***************
*** 916,928 ****
if (!resized && win_valid(curwin_save))
{
! # ifdef FEAT_TEXT_PROP
win_T *wp = curwin;
# endif
++no_u_sync;
win_enter(curwin_save, TRUE);
--no_u_sync;
! # ifdef FEAT_TEXT_PROP
if (use_popup == USEPOPUP_HIDDEN && win_valid(wp))
popup_hide(wp);
# endif
--- 916,928 ----
if (!resized && win_valid(curwin_save))
{
! # ifdef FEAT_PROP_POPUP
win_T *wp = curwin;
# endif
++no_u_sync;
win_enter(curwin_save, TRUE);
--no_u_sync;
! # ifdef FEAT_PROP_POPUP
if (use_popup == USEPOPUP_HIDDEN && win_valid(wp))
popup_hide(wp);
# endif
***************
*** 937,943 ****
}
}
}
! # if defined(FEAT_TEXT_PROP) && defined(FEAT_QUICKFIX)
if (WIN_IS_POPUP(curwin))
// can't keep focus in a popup window
win_enter(firstwin, TRUE);
--- 937,943 ----
}
}
}
! # if defined(FEAT_PROP_POPUP) && defined(FEAT_QUICKFIX)
if (WIN_IS_POPUP(curwin))
// can't keep focus in a popup window
win_enter(firstwin, TRUE);
***************
*** 945,951 ****
}
#endif
}
! #if defined(FEAT_TEXT_PROP) && defined(FEAT_QUICKFIX)
if (!has_info)
// hide any popup info window
popup_hide_info();
--- 945,951 ----
}
#endif
}
! #if defined(FEAT_PROP_POPUP) && defined(FEAT_QUICKFIX)
if (!has_info)
// hide any popup info window
popup_hide_info();
***************
*** 967,973 ****
redraw_all_later(NOT_VALID);
redraw_tabline = TRUE;
status_redraw_all();
! #if defined(FEAT_TEXT_PROP) && defined(FEAT_QUICKFIX)
// hide any popup info window
popup_hide_info();
#endif
--- 967,973 ----
redraw_all_later(NOT_VALID);
redraw_tabline = TRUE;
status_redraw_all();
! #if defined(FEAT_PROP_POPUP) && defined(FEAT_QUICKFIX)
// hide any popup info window
popup_hide_info();
#endif
*** ../vim-8.1.2370/src/popupwin.c 2019-11-30 14:21:35.051829558 +0100
--- src/popupwin.c 2019-11-30 22:40:44.397228499 +0100
***************
*** 13,19 ****
#include "vim.h"
! #if defined(FEAT_TEXT_PROP) || defined(PROTO)
typedef struct {
char *pp_name;
--- 13,19 ----
#include "vim.h"
! #if defined(FEAT_PROP_POPUP) || defined(PROTO)
typedef struct {
char *pp_name;
***************
*** 3864,3867 ****
popup_set_title(wp);
}
! #endif // FEAT_TEXT_PROP
--- 3864,3867 ----
popup_set_title(wp);
}
! #endif // FEAT_PROP_POPUP
*** ../vim-8.1.2370/src/proto.h 2019-11-30 19:44:34.847518172 +0100
--- src/proto.h 2019-11-30 22:40:44.397228499 +0100
***************
*** 216,222 ****
# if defined(HAVE_TGETENT) && (defined(AMIGA) || defined(VMS))
# include "
termlib.pro"
# endif
! # ifdef FEAT_TEXT_PROP
# include "
popupwin.pro"
# include "
textprop.pro"
# endif
--- 216,222 ----
# if defined(HAVE_TGETENT) && (defined(AMIGA) || defined(VMS))
# include "
termlib.pro"
# endif
! # ifdef FEAT_PROP_POPUP
# include "
popupwin.pro"
# include "
textprop.pro"
# endif
***************
*** 257,263 ****
# ifndef FEAT_BEVAL
# define BalloonEval int
# endif
! # if defined(FEAT_BEVAL) || defined(FEAT_TEXT_PROP)
# include "
beval.pro"
# endif
--- 257,263 ----
# ifndef FEAT_BEVAL
# define BalloonEval int
# endif
! # if defined(FEAT_BEVAL) || defined(FEAT_PROP_POPUP)
# include "
beval.pro"
# endif
*** ../vim-8.1.2370/src/screen.c 2019-11-26 22:38:54.383300529 +0100
--- src/screen.c 2019-11-30 22:40:44.397228499 +0100
***************
*** 108,114 ****
if (*wp->w_p_wcr != NUL)
wcr_attr = syn_name2attr(wp->w_p_wcr);
! #ifdef FEAT_TEXT_PROP
else if (WIN_IS_POPUP(wp))
{
if (wp->w_popup_flags & POPF_INFO)
--- 108,114 ----
if (*wp->w_p_wcr != NUL)
wcr_attr = syn_name2attr(wp->w_p_wcr);
! #ifdef FEAT_PROP_POPUP
else if (WIN_IS_POPUP(wp))
{
if (wp->w_popup_flags & POPF_INFO)
***************
*** 348,354 ****
}
#endif
! #ifdef FEAT_TEXT_PROP
/*
* Return TRUE if this position has a higher level popup or this cell is
* transparent in the current popup.
--- 348,354 ----
}
#endif
! #ifdef FEAT_PROP_POPUP
/*
* Return TRUE if this position has a higher level popup or this cell is
* transparent in the current popup.
***************
*** 460,466 ****
}
#endif /* FEAT_RIGHTLEFT */
! #ifdef FEAT_TEXT_PROP
// First char of a popup window may go on top of the right half of a
// double-wide character. Clear the left half to avoid it getting the popup
// window background color.
--- 460,466 ----
}
#endif /* FEAT_RIGHTLEFT */
! #ifdef FEAT_PROP_POPUP
// First char of a popup window may go on top of the right half of a
// double-wide character. Clear the left half to avoid it getting the popup
// window background color.
***************
*** 499,505 ****
redraw_this = TRUE;
}
#endif
! #ifdef FEAT_TEXT_PROP
if (blocked_by_popup(row, col + coloff))
redraw_this = FALSE;
#endif
--- 499,505 ----
redraw_this = TRUE;
}
#endif
! #ifdef FEAT_PROP_POPUP
if (blocked_by_popup(row, col + coloff))
redraw_this = FALSE;
#endif
***************
*** 744,750 ****
}
if (clear_width > 0
! #ifdef FEAT_TEXT_PROP
&& !(flags & SLF_POPUP) // no separator for popup window
#endif
)
--- 744,750 ----
}
if (clear_width > 0
! #ifdef FEAT_PROP_POPUP
&& !(flags & SLF_POPUP) // no separator for popup window
#endif
)
***************
*** 753,759 ****
// right of the window contents. But not on top of a popup window.
if (coloff + col < Columns)
{
! #ifdef FEAT_TEXT_PROP
if (!blocked_by_popup(row, col + coloff))
#endif
{
--- 753,759 ----
// right of the window contents. But not on top of a popup window.
if (coloff + col < Columns)
{
! #ifdef FEAT_PROP_POPUP
if (!blocked_by_popup(row, col + coloff))
#endif
{
***************
*** 1586,1592 ****
|| exmode_active;
if ((need_redraw || force_redraw_this)
! #ifdef FEAT_TEXT_PROP
&& !blocked_by_popup(row, col)
#endif
)
--- 1586,1592 ----
|| exmode_active;
if ((need_redraw || force_redraw_this)
! #ifdef FEAT_PROP_POPUP
&& !blocked_by_popup(row, col)
#endif
)
***************
*** 2031,2042 ****
// Skip if under the popup menu.
// Popup windows with zindex higher than POPUPMENU_ZINDEX go on top.
if (pum_under_menu(row, col)
! #ifdef FEAT_TEXT_PROP
&& screen_zindex <= POPUPMENU_ZINDEX
#endif
)
return;
! #ifdef FEAT_TEXT_PROP
if (blocked_by_popup(row, col))
return;
#endif
--- 2031,2042 ----
// Skip if under the popup menu.
// Popup windows with zindex higher than POPUPMENU_ZINDEX go on top.
if (pum_under_menu(row, col)
! #ifdef FEAT_PROP_POPUP
&& screen_zindex <= POPUPMENU_ZINDEX
#endif
)
return;
! #ifdef FEAT_PROP_POPUP
if (blocked_by_popup(row, col))
return;
#endif
***************
*** 2338,2344 ****
|| force_next
#endif
)
! #ifdef FEAT_TEXT_PROP
// Skip if under a(nother) popup.
&& !blocked_by_popup(row, col)
#endif
--- 2338,2344 ----
|| force_next
#endif
)
! #ifdef FEAT_PROP_POPUP
// Skip if under a(nother) popup.
&& !blocked_by_popup(row, col)
#endif
***************
*** 2479,2485 ****
unsigned *new_LineOffset;
char_u *new_LineWraps;
short *new_TabPageIdxs;
! #ifdef FEAT_TEXT_PROP
short *new_popup_mask;
short *new_popup_mask_next;
char *new_popup_transparent;
--- 2479,2485 ----
unsigned *new_LineOffset;
char_u *new_LineWraps;
short *new_TabPageIdxs;
! #ifdef FEAT_PROP_POPUP
short *new_popup_mask;
short *new_popup_mask_next;
char *new_popup_transparent;
***************
*** 2540,2546 ****
win_free_lsize(wp);
if (aucmd_win != NULL)
win_free_lsize(aucmd_win);
! #ifdef FEAT_TEXT_PROP
// global popup windows
for (wp = first_popupwin; wp != NULL; wp = wp->w_next)
win_free_lsize(wp);
--- 2540,2546 ----
win_free_lsize(wp);
if (aucmd_win != NULL)
win_free_lsize(aucmd_win);
! #ifdef FEAT_PROP_POPUP
// global popup windows
for (wp = first_popupwin; wp != NULL; wp = wp->w_next)
win_free_lsize(wp);
***************
*** 2565,2571 ****
new_LineOffset = LALLOC_MULT(unsigned, Rows);
new_LineWraps = LALLOC_MULT(char_u, Rows);
new_TabPageIdxs = LALLOC_MULT(short, Columns);
! #ifdef FEAT_TEXT_PROP
new_popup_mask = LALLOC_MULT(short, Rows * Columns);
new_popup_mask_next = LALLOC_MULT(short, Rows * Columns);
new_popup_transparent = LALLOC_MULT(char, Rows * Columns);
--- 2565,2571 ----
new_LineOffset = LALLOC_MULT(unsigned, Rows);
new_LineWraps = LALLOC_MULT(char_u, Rows);
new_TabPageIdxs = LALLOC_MULT(short, Columns);
! #ifdef FEAT_PROP_POPUP
new_popup_mask = LALLOC_MULT(short, Rows * Columns);
new_popup_mask_next = LALLOC_MULT(short, Rows * Columns);
new_popup_transparent = LALLOC_MULT(char, Rows * Columns);
***************
*** 2582,2588 ****
if (aucmd_win != NULL && aucmd_win->w_lines == NULL
&& win_alloc_lines(aucmd_win) == FAIL)
outofmem = TRUE;
! #ifdef FEAT_TEXT_PROP
// global popup windows
for (wp = first_popupwin; wp != NULL; wp = wp->w_next)
if (win_alloc_lines(wp) == FAIL)
--- 2582,2588 ----
if (aucmd_win != NULL && aucmd_win->w_lines == NULL
&& win_alloc_lines(aucmd_win) == FAIL)
outofmem = TRUE;
! #ifdef FEAT_PROP_POPUP
// global popup windows
for (wp = first_popupwin; wp != NULL; wp = wp->w_next)
if (win_alloc_lines(wp) == FAIL)
***************
*** 2612,2618 ****
|| new_LineOffset == NULL
|| new_LineWraps == NULL
|| new_TabPageIdxs == NULL
! #ifdef FEAT_TEXT_PROP
|| new_popup_mask == NULL
|| new_popup_mask_next == NULL
|| new_popup_transparent == NULL
--- 2612,2618 ----
|| new_LineOffset == NULL
|| new_LineWraps == NULL
|| new_TabPageIdxs == NULL
! #ifdef FEAT_PROP_POPUP
|| new_popup_mask == NULL
|| new_popup_mask_next == NULL
|| new_popup_transparent == NULL
***************
*** 2637,2643 ****
VIM_CLEAR(new_LineOffset);
VIM_CLEAR(new_LineWraps);
VIM_CLEAR(new_TabPageIdxs);
! #ifdef FEAT_TEXT_PROP
VIM_CLEAR(new_popup_mask);
VIM_CLEAR(new_popup_mask_next);
VIM_CLEAR(new_popup_transparent);
--- 2637,2643 ----
VIM_CLEAR(new_LineOffset);
VIM_CLEAR(new_LineWraps);
VIM_CLEAR(new_TabPageIdxs);
! #ifdef FEAT_PROP_POPUP
VIM_CLEAR(new_popup_mask);
VIM_CLEAR(new_popup_mask_next);
VIM_CLEAR(new_popup_transparent);
***************
*** 2715,2721 ****
/* Use the last line of the screen for the current line. */
current_ScreenLine = new_ScreenLines + Rows * Columns;
! #ifdef FEAT_TEXT_PROP
vim_memset(new_popup_mask, 0, Rows * Columns * sizeof(short));
vim_memset(new_popup_transparent, 0, Rows * Columns * sizeof(char));
#endif
--- 2715,2721 ----
/* Use the last line of the screen for the current line. */
current_ScreenLine = new_ScreenLines + Rows * Columns;
! #ifdef FEAT_PROP_POPUP
vim_memset(new_popup_mask, 0, Rows * Columns * sizeof(short));
vim_memset(new_popup_transparent, 0, Rows * Columns * sizeof(char));
#endif
***************
*** 2734,2740 ****
LineOffset = new_LineOffset;
LineWraps = new_LineWraps;
TabPageIdxs = new_TabPageIdxs;
! #ifdef FEAT_TEXT_PROP
popup_mask = new_popup_mask;
popup_mask_next = new_popup_mask_next;
popup_transparent = new_popup_transparent;
--- 2734,2740 ----
LineOffset = new_LineOffset;
LineWraps = new_LineWraps;
TabPageIdxs = new_TabPageIdxs;
! #ifdef FEAT_PROP_POPUP
popup_mask = new_popup_mask;
popup_mask_next = new_popup_mask_next;
popup_transparent = new_popup_transparent;
***************
*** 2803,2809 ****
VIM_CLEAR(LineOffset);
VIM_CLEAR(LineWraps);
VIM_CLEAR(TabPageIdxs);
! #ifdef FEAT_TEXT_PROP
VIM_CLEAR(popup_mask);
VIM_CLEAR(popup_mask_next);
VIM_CLEAR(popup_transparent);
--- 2803,2809 ----
VIM_CLEAR(LineOffset);
VIM_CLEAR(LineWraps);
VIM_CLEAR(TabPageIdxs);
! #ifdef FEAT_PROP_POPUP
VIM_CLEAR(popup_mask);
VIM_CLEAR(popup_mask_next);
VIM_CLEAR(popup_transparent);
***************
*** 2948,2954 ****
|| cterm_normal_bg_color == 0
#endif
|| *T_UT != NUL)
! #ifdef FEAT_TEXT_PROP
&& !(p == T_CE && popup_visible)
#endif
);
--- 2948,2954 ----
|| cterm_normal_bg_color == 0
#endif
|| *T_UT != NUL)
! #ifdef FEAT_PROP_POPUP
&& !(p == T_CE && popup_visible)
#endif
);
***************
*** 3412,3418 ****
return FAIL;
}
! #ifdef FEAT_TEXT_PROP
// this doesn't work when there are popups visible
if (popup_visible)
return FAIL;
--- 3412,3418 ----
return FAIL;
}
! #ifdef FEAT_PROP_POPUP
// this doesn't work when there are popups visible
if (popup_visible)
return FAIL;
***************
*** 3544,3550 ****
|| (clip_star.state != SELECT_CLEARED
&& redrawing_for_callback > 0)
#endif
! #ifdef FEAT_TEXT_PROP
|| popup_visible
#endif
)
--- 3544,3550 ----
|| (clip_star.state != SELECT_CLEARED
&& redrawing_for_callback > 0)
#endif
! #ifdef FEAT_PROP_POPUP
|| popup_visible
#endif
)
*** ../vim-8.1.2370/src/search.c 2019-11-21 22:27:18.155184143 +0100
--- src/search.c 2019-11-30 22:40:44.397228499 +0100
***************
*** 2863,2869 ****
while (count--)
{
/*
! * if on an empty line, skip upto a non-empty line
*/
if (gchar_pos(&pos) == NUL)
{
--- 2863,2869 ----
while (count--)
{
/*
! * if on an empty line, skip up to a non-empty line
*/
if (gchar_pos(&pos) == NUL)
{
***************
*** 5724,5730 ****
redraw_later(VALID);
win_enter(curwin_save, TRUE);
}
! # ifdef FEAT_TEXT_PROP
else if (WIN_IS_POPUP(curwin))
// can't keep focus in popup window
win_enter(firstwin, TRUE);
--- 5724,5730 ----
redraw_later(VALID);
win_enter(curwin_save, TRUE);
}
! # ifdef FEAT_PROP_POPUP
else if (WIN_IS_POPUP(curwin))
// can't keep focus in popup window
win_enter(firstwin, TRUE);
*** ../vim-8.1.2370/src/sign.c 2019-11-30 14:21:35.051829558 +0100
--- src/sign.c 2019-11-30 22:40:44.397228499 +0100
***************
*** 496,502 ****
break;
if (sign->se_lnum == lnum
! # ifdef FEAT_TEXT_PROP
&& sign_group_for_window(sign, wp)
# endif
)
--- 496,502 ----
break;
if (sign->se_lnum == lnum
! # ifdef FEAT_PROP_POPUP
&& sign_group_for_window(sign, wp)
# endif
)
***************
*** 2656,2662 ****
{
sign_entry_T *sign = wp->w_buffer->b_signlist;
! # ifdef FEAT_TEXT_PROP
while (sign != NULL && !sign_group_for_window(sign, wp))
sign = sign->se_next;
# endif
--- 2656,2662 ----
{
sign_entry_T *sign = wp->w_buffer->b_signlist;
! # ifdef FEAT_PROP_POPUP
while (sign != NULL && !sign_group_for_window(sign, wp))
sign = sign->se_next;
# endif
*** ../vim-8.1.2370/src/structs.h 2019-11-30 19:44:34.847518172 +0100
--- src/structs.h 2019-11-30 22:40:44.397228499 +0100
***************
*** 2119,2125 ****
// # define CRYPT_NOT_INPLACE 1
#endif
! #ifdef FEAT_TEXT_PROP
typedef enum {
POPPOS_BOTLEFT,
POPPOS_TOPLEFT,
--- 2119,2125 ----
// # define CRYPT_NOT_INPLACE 1
#endif
! #ifdef FEAT_PROP_POPUP
typedef enum {
POPPOS_BOTLEFT,
POPPOS_TOPLEFT,
***************
*** 2615,2621 ****
listener_T *b_listener;
list_T *b_recorded_changes;
#endif
! #ifdef FEAT_TEXT_PROP
int b_has_textprop; // TRUE when text props were added
hashtab_T *b_proptypes; // text property types local to buffer
#endif
--- 2615,2621 ----
listener_T *b_listener;
list_T *b_recorded_changes;
#endif
! #ifdef FEAT_PROP_POPUP
int b_has_textprop; // TRUE when text props were added
hashtab_T *b_proptypes; // text property types local to buffer
#endif
***************
*** 2768,2774 ****
win_T *tp_prevwin; // previous window in this Tab page
win_T *tp_firstwin; // first window in this Tab page
win_T *tp_lastwin; // last window in this Tab page
! #ifdef FEAT_TEXT_PROP
win_T *tp_first_popupwin; // first popup window in this Tab page
#endif
long tp_old_Rows; // Rows when Tab page was left
--- 2768,2774 ----
win_T *tp_prevwin; // previous window in this Tab page
win_T *tp_firstwin; // first window in this Tab page
win_T *tp_lastwin; // last window in this Tab page
! #ifdef FEAT_PROP_POPUP
win_T *tp_first_popupwin; // first popup window in this Tab page
#endif
long tp_old_Rows; // Rows when Tab page was left
***************
*** 3020,3026 ****
int w_width; // Width of window, excluding separation.
int w_vsep_width; // Number of separator columns (0 or 1).
pos_save_T w_save_cursor; // backup of cursor pos and topline
! #ifdef FEAT_TEXT_PROP
int w_popup_flags; // POPF_ values
int w_popup_handled; // POPUP_HANDLE[0-9] flags
char_u *w_popup_title;
--- 3020,3026 ----
int w_width; // Width of window, excluding separation.
int w_vsep_width; // Number of separator columns (0 or 1).
pos_save_T w_save_cursor; // backup of cursor pos and topline
! #ifdef FEAT_PROP_POPUP
int w_popup_flags; // POPF_ values
int w_popup_handled; // POPUP_HANDLE[0-9] flags
char_u *w_popup_title;
*** ../vim-8.1.2370/src/tag.c 2019-11-17 17:06:25.828081709 +0100
--- src/tag.c 2019-11-30 22:40:44.397228499 +0100
***************
*** 3678,3684 ****
win_close(curwin, FALSE);
postponed_split = 0;
}
! #if defined(FEAT_QUICKFIX) && defined(FEAT_TEXT_PROP)
else if (WIN_IS_POPUP(curwin))
{
win_T *wp = curwin;
--- 3678,3684 ----
win_close(curwin, FALSE);
postponed_split = 0;
}
! #if defined(FEAT_QUICKFIX) && defined(FEAT_PROP_POPUP)
else if (WIN_IS_POPUP(curwin))
{
win_T *wp = curwin;
***************
*** 3689,3695 ****
}
#endif
}
! #if defined(FEAT_QUICKFIX) && defined(FEAT_TEXT_PROP)
if (WIN_IS_POPUP(curwin))
// something went wrong, still in popup, but it can't have focus
win_enter(firstwin, TRUE);
--- 3689,3695 ----
}
#endif
}
! #if defined(FEAT_QUICKFIX) && defined(FEAT_PROP_POPUP)
if (WIN_IS_POPUP(curwin))
// something went wrong, still in popup, but it can't have focus
win_enter(firstwin, TRUE);
*** ../vim-8.1.2370/src/testdir/runtest.vim 2019-11-30 15:34:05.134233382 +0100
--- src/testdir/runtest.vim 2019-11-30 22:40:44.397228499 +0100
***************
*** 177,183 ****
au SwapExists * call HandleSwapExists()
" Close any stray popup windows
! if has('textprop')
call popup_clear()
endif
--- 177,183 ----
au SwapExists * call HandleSwapExists()
" Close any stray popup windows
! if has('popupwin')
call popup_clear()
endif
*** ../vim-8.1.2370/src/testdir/test_execute_func.vim 2019-10-08 22:20:33.531292693 +0200
--- src/testdir/test_execute_func.vim 2019-11-30 22:40:44.397228499 +0100
***************
*** 90,96 ****
let line = win_execute(otherwin, 'echo getline(1)')
call assert_match('the new window', line)
! if has('textprop')
let popupwin = popup_create('the popup win', {'line': 2, 'col': 3})
redraw
let line = 'echo getline(1)'->win_execute(popupwin)
--- 90,96 ----
let line = win_execute(otherwin, 'echo getline(1)')
call assert_match('the new window', line)
! if has('popupwin')
let popupwin = popup_create('the popup win', {'line': 2, 'col': 3})
redraw
let line = 'echo getline(1)'->win_execute(popupwin)
*** ../vim-8.1.2370/src/testdir/test_popupwin.vim 2019-11-30 17:58:23.824145616 +0100
--- src/testdir/test_popupwin.vim 2019-11-30 22:40:44.397228499 +0100
***************
*** 1,7 ****
" Tests for popup windows
source check.vim
! CheckFeature textprop
source screendump.vim
--- 1,7 ----
" Tests for popup windows
source check.vim
! CheckFeature popupwin
source screendump.vim
*** ../vim-8.1.2370/src/testdir/test_popupwin_textprop.vim 2019-11-16 20:03:27.405056583 +0100
--- src/testdir/test_popupwin_textprop.vim 2019-11-30 22:40:44.397228499 +0100
***************
*** 1,6 ****
--- 1,7 ----
" Tests for popup windows for text properties
source check.vim
+ CheckFeature popupwin
CheckFeature textprop
source screendump.vim
*** ../vim-8.1.2370/src/textprop.c 2019-11-16 20:41:47.824812616 +0100
--- src/textprop.c 2019-11-30 22:40:44.397228499 +0100
***************
*** 28,34 ****
#include "vim.h"
! #if defined(FEAT_TEXT_PROP) || defined(PROTO)
/*
* In a hashtable item "hi_key" points to "pt_name" in a proptype_T.
--- 28,34 ----
#include "vim.h"
! #if defined(FEAT_PROP_POPUP) || defined(PROTO)
/*
* In a hashtable item "hi_key" points to "pt_name" in a proptype_T.
***************
*** 1309,1312 ****
vim_free(prop_lengths);
}
! #endif // FEAT_TEXT_PROP
--- 1309,1312 ----
vim_free(prop_lengths);
}
! #endif // FEAT_PROP_POPUP
*** ../vim-8.1.2370/src/ui.c 2019-11-21 22:14:14.357810945 +0100
--- src/ui.c 2019-11-30 22:40:44.397228499 +0100
***************
*** 1079,1085 ****
clip_start_selection(int col, int row, int repeated_click)
{
Clipboard_T *cb = &clip_star;
! #ifdef FEAT_TEXT_PROP
win_T *wp;
int row_cp = row;
int col_cp = col;
--- 1079,1085 ----
clip_start_selection(int col, int row, int repeated_click)
{
Clipboard_T *cb = &clip_star;
! #ifdef FEAT_PROP_POPUP
win_T *wp;
int row_cp = row;
int col_cp = col;
***************
*** 1103,1109 ****
cb->end = cb->start;
cb->origin_row = (short_u)cb->start.lnum;
cb->state = SELECT_IN_PROGRESS;
! #ifdef FEAT_TEXT_PROP
if (wp != NULL && WIN_IS_POPUP(wp))
{
// Click in a popup window restricts selection to that window,
--- 1103,1109 ----
cb->end = cb->start;
cb->origin_row = (short_u)cb->start.lnum;
cb->state = SELECT_IN_PROGRESS;
! #ifdef FEAT_PROP_POPUP
if (wp != NULL && WIN_IS_POPUP(wp))
{
// Click in a popup window restricts selection to that window,
***************
*** 1455,1461 ****
int invert = FALSE;
int max_col;
! #ifdef FEAT_TEXT_PROP
max_col = cbd->max_col - 1;
#else
max_col = Columns - 1;
--- 1455,1461 ----
int invert = FALSE;
int max_col;
! #ifdef FEAT_PROP_POPUP
max_col = cbd->max_col - 1;
#else
max_col = Columns - 1;
***************
*** 1526,1532 ****
int height = height_arg;
int width = width_arg;
! #ifdef FEAT_TEXT_PROP
// this goes on top of all popup windows
screen_zindex = CLIP_ZINDEX;
--- 1526,1532 ----
int height = height_arg;
int width = width_arg;
! #ifdef FEAT_PROP_POPUP
// this goes on top of all popup windows
screen_zindex = CLIP_ZINDEX;
***************
*** 1551,1557 ****
else
#endif
screen_draw_rectangle(row, col, height, width, invert);
! #ifdef FEAT_TEXT_PROP
screen_zindex = 0;
#endif
}
--- 1551,1557 ----
else
#endif
screen_draw_rectangle(row, col, height, width, invert);
! #ifdef FEAT_PROP_POPUP
screen_zindex = 0;
#endif
}
***************
*** 1594,1600 ****
{
row = col1; col1 = col2; col2 = row;
}
! #ifdef FEAT_TEXT_PROP
if (col1 < clip_star.min_col)
col1 = clip_star.min_col;
if (col2 > clip_star.max_col)
--- 1594,1600 ----
{
row = col1; col1 = col2; col2 = row;
}
! #ifdef FEAT_PROP_POPUP
if (col1 < clip_star.min_col)
col1 = clip_star.min_col;
if (col2 > clip_star.max_col)
***************
*** 1629,1635 ****
if (row == row1)
start_col = col1;
else
! #ifdef FEAT_TEXT_PROP
start_col = clip_star.min_col;
#else
start_col = 0;
--- 1629,1635 ----
if (row == row1)
start_col = col1;
else
! #ifdef FEAT_PROP_POPUP
start_col = clip_star.min_col;
#else
start_col = 0;
***************
*** 1638,1644 ****
if (row == row2)
end_col = col2;
else
! #ifdef FEAT_TEXT_PROP
end_col = clip_star.max_col;
#else
end_col = Columns;
--- 1638,1644 ----
if (row == row2)
end_col = col2;
else
! #ifdef FEAT_PROP_POPUP
end_col = clip_star.max_col;
#else
end_col = Columns;
***************
*** 1648,1654 ****
/* See if we need to nuke some trailing whitespace */
if (end_col >=
! #ifdef FEAT_TEXT_PROP
clip_star.max_col
#else
Columns
--- 1648,1654 ----
/* See if we need to nuke some trailing whitespace */
if (end_col >=
! #ifdef FEAT_PROP_POPUP
clip_star.max_col
#else
Columns
***************
*** 1814,1820 ****
if (row >= screen_Rows || ScreenLines == NULL)
return 0;
for (i =
! #ifdef FEAT_TEXT_PROP
cbd->max_col;
#else
screen_Columns;
--- 1814,1820 ----
if (row >= screen_Rows || ScreenLines == NULL)
return 0;
for (i =
! #ifdef FEAT_PROP_POPUP
cbd->max_col;
#else
screen_Columns;
*** ../vim-8.1.2370/src/version.c 2019-11-30 22:38:11.913921804 +0100
--- src/version.c 2019-11-30 22:42:46.696673221 +0100
***************
*** 472,477 ****
--- 472,482 ----
#else
"-persistent_undo",
#endif
+ #ifdef FEAT_PROP_POPUP
+ "+popupwin",
+ #else
+ "-popupwin",
+ #endif
#ifdef FEAT_PRINTER
# ifdef FEAT_POSTSCRIPT
"+postscript",
***************
*** 614,620 ****
#else
"-textobjects",
#endif
! #ifdef FEAT_TEXT_PROP
"+textprop",
#else
"-textprop",
--- 619,625 ----
#else
"-textobjects",
#endif
! #ifdef FEAT_PROP_POPUP
"+textprop",
#else
"-textprop",
*** ../vim-8.1.2370/src/vim.h 2019-11-28 20:09:54.601943690 +0100
--- src/vim.h 2019-11-30 22:40:44.397228499 +0100
***************
*** 653,659 ****
#define POPUP_HANDLED_4 0x08 // used by may_update_popup_mask()
#define POPUP_HANDLED_5 0x10 // used by update_popups()
! #ifdef FEAT_TEXT_PROP
# define WIN_IS_POPUP(wp) ((wp)->w_popup_flags != 0)
#else
# define WIN_IS_POPUP(wp) 0
--- 653,659 ----
#define POPUP_HANDLED_4 0x08 // used by may_update_popup_mask()
#define POPUP_HANDLED_5 0x10 // used by update_popups()
! #ifdef FEAT_PROP_POPUP
# define WIN_IS_POPUP(wp) ((wp)->w_popup_flags != 0)
#else
# define WIN_IS_POPUP(wp) 0
***************
*** 2072,2078 ****
short_u origin_end_col;
short_u word_start_col;
short_u word_end_col;
! #ifdef FEAT_TEXT_PROP
// limits for selection inside a popup window
short_u min_col;
short_u max_col;
--- 2072,2078 ----
short_u origin_end_col;
short_u word_start_col;
short_u word_end_col;
! #ifdef FEAT_PROP_POPUP
// limits for selection inside a popup window
short_u min_col;
short_u max_col;
*** ../vim-8.1.2370/src/window.c 2019-11-10 21:00:21.422665678 +0100
--- src/window.c 2019-11-30 22:40:44.397228499 +0100
***************
*** 1426,1432 ****
int
win_valid_popup(win_T *win UNUSED)
{
! #ifdef FEAT_TEXT_PROP
win_T *wp;
for (wp = first_popupwin; wp != NULL; wp = wp->w_next)
--- 1426,1432 ----
int
win_valid_popup(win_T *win UNUSED)
{
! #ifdef FEAT_PROP_POPUP
win_T *wp;
for (wp = first_popupwin; wp != NULL; wp = wp->w_next)
***************
*** 1473,1479 ****
if (wp == win)
return TRUE;
}
! #ifdef FEAT_TEXT_PROP
for (wp = tp->tp_first_popupwin; wp != NULL; wp = wp->w_next)
if (wp == win)
return TRUE;
--- 1473,1479 ----
if (wp == win)
return TRUE;
}
! #ifdef FEAT_PROP_POPUP
for (wp = tp->tp_first_popupwin; wp != NULL; wp = wp->w_next)
if (wp == win)
return TRUE;
***************
*** 2525,2531 ****
out_flush();
#endif
! #ifdef FEAT_TEXT_PROP
if (popup_win_closed(win) && !win_valid(win))
return FAIL;
#endif
--- 2525,2531 ----
out_flush();
#endif
! #ifdef FEAT_PROP_POPUP
if (popup_win_closed(win) && !win_valid(win))
return FAIL;
#endif
***************
*** 2761,2767 ****
(void)win_free_mem(aucmd_win, &dummy, NULL);
aucmd_win = NULL;
}
! # ifdef FEAT_TEXT_PROP
close_all_popups();
# endif
--- 2761,2767 ----
(void)win_free_mem(aucmd_win, &dummy, NULL);
aucmd_win = NULL;
}
! # ifdef FEAT_PROP_POPUP
close_all_popups();
# endif
***************
*** 3778,3784 ****
# ifdef FEAT_DIFF
diff_clear(tp);
# endif
! # ifdef FEAT_TEXT_PROP
while (tp->tp_first_popupwin != NULL)
popup_close_tabpage(tp, tp->tp_first_popupwin->w_id);
#endif
--- 3778,3784 ----
# ifdef FEAT_DIFF
diff_clear(tp);
# endif
! # ifdef FEAT_PROP_POPUP
while (tp->tp_first_popupwin != NULL)
popup_close_tabpage(tp, tp->tp_first_popupwin->w_id);
#endif
***************
*** 4686,4692 ****
/* set window height to desired minimal value */
if (curwin->w_height < p_wh && !curwin->w_p_wfh
! #ifdef FEAT_TEXT_PROP
&& !popup_is_popup(curwin)
#endif
)
--- 4686,4692 ----
/* set window height to desired minimal value */
if (curwin->w_height < p_wh && !curwin->w_p_wfh
! #ifdef FEAT_PROP_POPUP
&& !popup_is_popup(curwin)
#endif
)
***************
*** 4952,4958 ****
#ifdef FEAT_MENU
remove_winbar(wp);
#endif
! #ifdef FEAT_TEXT_PROP
free_callback(&wp->w_close_cb);
free_callback(&wp->w_filter_cb);
for (i = 0; i < 4; ++i)
--- 4952,4958 ----
#ifdef FEAT_MENU
remove_winbar(wp);
#endif
! #ifdef FEAT_PROP_POPUP
free_callback(&wp->w_close_cb);
free_callback(&wp->w_filter_cb);
for (i = 0; i < 4; ++i)
***************
*** 4991,4997 ****
return wp == aucmd_win || WIN_IS_POPUP(wp);
}
! #if defined(FEAT_TEXT_PROP) || defined(PROTO)
/*
* Free a popup window. This does not take the window out of the window list
* and assumes there is only one toplevel frame, no split.
--- 4991,4997 ----
return wp == aucmd_win || WIN_IS_POPUP(wp);
}
! #if defined(FEAT_PROP_POPUP) || defined(PROTO)
/*
* Free a popup window. This does not take the window out of the window list
* and assumes there is only one toplevel frame, no split.
*** ../vim-8.1.2370/src/version.c 2019-11-30 22:38:11.913921804 +0100
--- src/version.c 2019-11-30 22:42:46.696673221 +0100
***************
*** 739,740 ****
--- 744,747 ----
{ /* Add new patch number below this line */
+ /**/
+ 2371,
/**/
--
hundred-and-one symptoms of being an internet addict:
158. You get a tuner card so you can watch TV while surfing.
/// Bram Moolenaar -- Br...@Moolenaar.net --
http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features --
http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language --
http://www.Zimbu.org ///
\\\ help me help AIDS victims --
http://ICCF-Holland.org ///