summaryrefslogtreecommitdiff
path: root/src/edit.c
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2019-06-02 18:40:06 +0200
committerBram Moolenaar <Bram@vim.org>2019-06-02 18:40:06 +0200
commit3397f74ac2ac27f1eef48e950c3c8eeb0338fe55 (patch)
tree7ca95e2cfc692c2d90830948c4a4a6c1b620cd22 /src/edit.c
parentb0ebbda06cf1a4a7c40cb274529c4c53de534e32 (diff)
downloadvim-git-3397f74ac2ac27f1eef48e950c3c8eeb0338fe55.tar.gz
patch 8.1.1453: popup window "moved" property not implemented yetv8.1.1453
Problem: Popup window "moved" property not implemented yet. Solution: Implement it.
Diffstat (limited to 'src/edit.c')
-rw-r--r--src/edit.c14
1 files changed, 9 insertions, 5 deletions
diff --git a/src/edit.c b/src/edit.c
index 6e4b4743c..ad25252e7 100644
--- a/src/edit.c
+++ b/src/edit.c
@@ -1456,8 +1456,7 @@ ins_need_undo_get(void)
* inserting sequences of characters (e.g., for CTRL-R).
*/
void
-ins_redraw(
- int ready UNUSED) /* not busy with something */
+ins_redraw(int ready) // not busy with something
{
#ifdef FEAT_CONCEAL
linenr_T conceal_old_cursor_line = 0;
@@ -1468,10 +1467,12 @@ ins_redraw(
if (char_avail())
return;
-#if defined(FEAT_CONCEAL)
/* 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)
|| curwin->w_p_cole > 0
# endif
@@ -1497,6 +1498,10 @@ ins_redraw(
update_curswant();
ins_apply_autocmds(EVENT_CURSORMOVEDI);
}
+#ifdef FEAT_TEXT_PROP
+ if (popup_visible)
+ popup_check_cursor_pos();
+#endif
# ifdef FEAT_CONCEAL
if (curwin->w_p_cole > 0)
{
@@ -1507,7 +1512,6 @@ ins_redraw(
# endif
last_cursormoved = curwin->w_cursor;
}
-#endif
/* Trigger TextChangedI if b_changedtick differs. */
if (ready && has_textchangedI()
@@ -3859,7 +3863,7 @@ replace_push(
if (replace_stack_len <= replace_stack_nr)
{
replace_stack_len += 50;
- p = alloc(sizeof(char_u) * replace_stack_len);
+ p = ALLOC_MULT(char_u, replace_stack_len);
if (p == NULL) /* out of memory */
{
replace_stack_len -= 50;