summaryrefslogtreecommitdiff
path: root/data/vim/patches/8.1.0709
diff options
context:
space:
mode:
Diffstat (limited to 'data/vim/patches/8.1.0709')
-rw-r--r--data/vim/patches/8.1.0709328
1 files changed, 0 insertions, 328 deletions
diff --git a/data/vim/patches/8.1.0709 b/data/vim/patches/8.1.0709
deleted file mode 100644
index db0b58cb2..000000000
--- a/data/vim/patches/8.1.0709
+++ /dev/null
@@ -1,328 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 8.1.0709
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 8.1.0709
-Problem: Windows are updated for every added/deleted sign.
-Solution: Do not call update_debug_sign(). Only redraw when the line with
- the sign is visible. (idea from neovim #9479)
-Files: src/sign.c, src/screen.c, src/proto/screen.pro
-
-
-*** ../vim-8.1.0708/src/sign.c 2019-01-07 22:09:54.439460880 +0100
---- src/sign.c 2019-01-09 21:39:13.363740272 +0100
-***************
-*** 327,334 ****
- prev = NULL;
- FOR_ALL_SIGNS_IN_BUF(buf, sign)
- {
-! if (lnum == sign->lnum && id == sign->id &&
-! sign_in_group(sign, groupname))
- {
- // Update an existing sign
- sign->typenr = typenr;
---- 327,334 ----
- prev = NULL;
- FOR_ALL_SIGNS_IN_BUF(buf, sign)
- {
-! if (lnum == sign->lnum && id == sign->id
-! && sign_in_group(sign, groupname))
- {
- // Update an existing sign
- sign->typenr = typenr;
-***************
-*** 427,435 ****
- for (sign = buf->b_signlist; sign != NULL; sign = next)
- {
- next = sign->next;
-! if ((id == 0 || sign->id == id) &&
-! (atlnum == 0 || sign->lnum == atlnum) &&
-! sign_in_group(sign, group))
-
- {
- *lastp = next;
---- 427,435 ----
- for (sign = buf->b_signlist; sign != NULL; sign = next)
- {
- next = sign->next;
-! if ((id == 0 || sign->id == id)
-! && (atlnum == 0 || sign->lnum == atlnum)
-! && sign_in_group(sign, group))
-
- {
- *lastp = next;
-***************
-*** 439,445 ****
- if (sign->group != NULL)
- sign_group_unref(sign->group->sg_name);
- vim_free(sign);
-! update_debug_sign(buf, lnum);
- // Check whether only one sign needs to be deleted
- // If deleting a sign with a specific identifer in a particular
- // group or deleting any sign at a particular line number, delete
---- 439,446 ----
- if (sign->group != NULL)
- sign_group_unref(sign->group->sg_name);
- vim_free(sign);
-! redraw_buf_line_later(buf, lnum);
-!
- // Check whether only one sign needs to be deleted
- // If deleting a sign with a specific identifer in a particular
- // group or deleting any sign at a particular line number, delete
-***************
-*** 453,465 ****
- lastp = &sign->next;
- }
-
-! // When deleted the last sign need to redraw the windows to remove the
-! // sign column.
- if (buf->b_signlist == NULL)
-- {
-- redraw_buf_later(buf, NOT_VALID);
- changed_cline_bef_curs();
-- }
-
- return lnum;
- }
---- 454,463 ----
- lastp = &sign->next;
- }
-
-! // When deleting the last sign the cursor position may change, because the
-! // sign columns no longer shows.
- if (buf->b_signlist == NULL)
- changed_cline_bef_curs();
-
- return lnum;
- }
-***************
-*** 932,938 ****
- // ":sign place {id} file={fname}": change sign type
- lnum = buf_change_sign_type(buf, *sign_id, sign_group, sp->sn_typenr);
- if (lnum > 0)
-! update_debug_sign(buf, lnum);
- else
- {
- EMSG2(_("E885: Not possible to change sign %s"), sign_name);
---- 930,936 ----
- // ":sign place {id} file={fname}": change sign type
- lnum = buf_change_sign_type(buf, *sign_id, sign_group, sp->sn_typenr);
- if (lnum > 0)
-! redraw_buf_line_later(buf, lnum);
- else
- {
- EMSG2(_("E885: Not possible to change sign %s"), sign_name);
-***************
-*** 1068,1075 ****
- // :sign place
- // :sign place group={group}
- // :sign place group=*
-! if (lnum >= 0 || sign_name != NULL ||
-! (group != NULL && *group == '\0'))
- EMSG(_(e_invarg));
- else
- sign_list_placed(buf, group);
---- 1066,1073 ----
- // :sign place
- // :sign place group={group}
- // :sign place group=*
-! if (lnum >= 0 || sign_name != NULL
-! || (group != NULL && *group == '\0'))
- EMSG(_(e_invarg));
- else
- sign_list_placed(buf, group);
-***************
-*** 1077,1084 ****
- else
- {
- // Place a new sign
-! if (sign_name == NULL || buf == NULL ||
-! (group != NULL && *group == '\0'))
- {
- EMSG(_(e_invarg));
- return;
---- 1075,1082 ----
- else
- {
- // Place a new sign
-! if (sign_name == NULL || buf == NULL
-! || (group != NULL && *group == '\0'))
- {
- EMSG(_(e_invarg));
- return;
-***************
-*** 1174,1181 ****
- return;
- }
-
-! if (buf == NULL || (group != NULL && *group == '\0') ||
-! lnum >= 0 || sign_name != NULL)
- {
- // File or buffer is not specified or an empty group is used
- // or a line number or a sign name is specified.
---- 1172,1179 ----
- return;
- }
-
-! if (buf == NULL || (group != NULL && *group == '\0')
-! || lnum >= 0 || sign_name != NULL)
- {
- // File or buffer is not specified or an empty group is used
- // or a line number or a sign name is specified.
-***************
-*** 1330,1336 ****
- // If the filename is not supplied for the sign place or the sign jump
- // command, then use the current buffer.
- if (filename == NULL && ((cmd == SIGNCMD_PLACE && lnum_arg)
-! || cmd == SIGNCMD_JUMP))
- *buf = curwin->w_buffer;
-
- return OK;
---- 1328,1334 ----
- // If the filename is not supplied for the sign place or the sign jump
- // command, then use the current buffer.
- if (filename == NULL && ((cmd == SIGNCMD_PLACE && lnum_arg)
-! || cmd == SIGNCMD_JUMP))
- *buf = curwin->w_buffer;
-
- return OK;
-***************
-*** 1522,1531 ****
- {
- if (!sign_in_group(sign, sign_group))
- continue;
-! if ((lnum == 0 && sign_id == 0) ||
-! (sign_id == 0 && lnum == sign->lnum) ||
-! (lnum == 0 && sign_id == sign->id) ||
-! (lnum == sign->lnum && sign_id == sign->id))
- {
- if ((sdict = sign_get_info(sign)) != NULL)
- list_append_dict(l, sdict);
---- 1520,1529 ----
- {
- if (!sign_in_group(sign, sign_group))
- continue;
-! if ((lnum == 0 && sign_id == 0)
-! || (sign_id == 0 && lnum == sign->lnum)
-! || (lnum == 0 && sign_id == sign->id)
-! || (lnum == sign->lnum && sign_id == sign->id))
- {
- if ((sdict = sign_get_info(sign)) != NULL)
- list_append_dict(l, sdict);
-***************
-*** 1864,1871 ****
- switch (cmd_idx)
- {
- case SIGNCMD_DEFINE:
-! if (STRNCMP(last, "texthl", p - last) == 0 ||
-! STRNCMP(last, "linehl", p - last) == 0)
- xp->xp_context = EXPAND_HIGHLIGHT;
- else if (STRNCMP(last, "icon", p - last) == 0)
- xp->xp_context = EXPAND_FILES;
---- 1862,1869 ----
- switch (cmd_idx)
- {
- case SIGNCMD_DEFINE:
-! if (STRNCMP(last, "texthl", p - last) == 0
-! || STRNCMP(last, "linehl", p - last) == 0)
- xp->xp_context = EXPAND_HIGHLIGHT;
- else if (STRNCMP(last, "icon", p - last) == 0)
- xp->xp_context = EXPAND_FILES;
-*** ../vim-8.1.0708/src/screen.c 2019-01-09 20:51:00.321398815 +0100
---- src/screen.c 2019-01-09 21:47:15.772416499 +0100
-***************
-*** 264,269 ****
---- 264,280 ----
- }
-
- void
-+ redraw_buf_line_later(buf_T *buf, linenr_T lnum)
-+ {
-+ win_T *wp;
-+
-+ FOR_ALL_WINDOWS(wp)
-+ if (wp->w_buffer == buf && lnum >= wp->w_topline
-+ && lnum < wp->w_botline)
-+ redrawWinline(wp, lnum);
-+ }
-+
-+ void
- redraw_buf_and_status_later(buf_T *buf, int type)
- {
- win_T *wp;
-***************
-*** 978,1003 ****
- win_foldinfo.fi_level = 0;
- # endif
-
-! /* update/delete a specific mark */
- FOR_ALL_WINDOWS(wp)
-- {
-- if (buf != NULL && lnum > 0)
-- {
-- if (wp->w_buffer == buf && lnum >= wp->w_topline
-- && lnum < wp->w_botline)
-- {
-- if (wp->w_redraw_top == 0 || wp->w_redraw_top > lnum)
-- wp->w_redraw_top = lnum;
-- if (wp->w_redraw_bot == 0 || wp->w_redraw_bot < lnum)
-- wp->w_redraw_bot = lnum;
-- redraw_win_later(wp, VALID);
-- }
-- }
-- else
-- redraw_win_later(wp, VALID);
- if (wp->w_redr_type != 0)
- doit = TRUE;
-- }
-
- /* Return when there is nothing to do, screen updating is already
- * happening (recursive call), messages on the screen or still starting up.
---- 989,1001 ----
- win_foldinfo.fi_level = 0;
- # endif
-
-! // update/delete a specific sign
-! redraw_buf_line_later(buf, lnum);
-!
-! // check if it resulted in the need to redraw a window
- FOR_ALL_WINDOWS(wp)
- if (wp->w_redr_type != 0)
- doit = TRUE;
-
- /* Return when there is nothing to do, screen updating is already
- * happening (recursive call), messages on the screen or still starting up.
-*** ../vim-8.1.0708/src/proto/screen.pro 2019-01-09 20:51:00.321398815 +0100
---- src/proto/screen.pro 2019-01-09 21:39:29.319633988 +0100
-***************
-*** 5,10 ****
---- 5,11 ----
- void redraw_all_later(int type);
- void redraw_curbuf_later(int type);
- void redraw_buf_later(buf_T *buf, int type);
-+ void redraw_buf_line_later(buf_T *buf, linenr_T lnum);
- void redraw_buf_and_status_later(buf_T *buf, int type);
- int redraw_asap(int type);
- void redraw_after_callback(int call_update_screen);
-*** ../vim-8.1.0708/src/version.c 2019-01-09 20:51:00.321398815 +0100
---- src/version.c 2019-01-09 21:25:07.452472773 +0100
-***************
-*** 801,802 ****
---- 801,804 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 709,
- /**/
-
---
-The coffee just wasn't strong enough to defend itself -- Tom Waits
-
- /// Bram Moolenaar -- Bram@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 ///