Patch 8.1.1338

7 views
Skip to first unread message

Bram Moolenaar

unread,
May 17, 2019, 6:32:10 AM5/17/19
to vim...@googlegroups.com

Patch 8.1.1338
Problem: Hang when concealing the '>' shown for a wide char that doesn't
fit in the last cell.
Solution: Put back the pointer when the '>' is not going to be displayed.
(closes #4377)
Files: src/screen.c


*** ../vim-8.1.1337/src/screen.c 2019-05-14 21:20:32.597441034 +0200
--- src/screen.c 2019-05-17 12:24:36.009066604 +0200
***************
*** 3176,3182 ****
int vcol_off = 0; /* offset for concealed characters */
int did_wcol = FALSE;
int match_conc = 0; /* cchar for match functions */
- int has_match_conc = 0; /* match wants to conceal */
int old_boguscols = 0;
# define VCOL_HLC (vcol - vcol_off)
# define FIX_FOR_BOGUSCOLS \
--- 3176,3181 ----
***************
*** 3747,3753 ****
for (;;)
{
#ifdef FEAT_CONCEAL
! has_match_conc = 0;
#endif
/* Skip this quickly when working on the text. */
if (draw_state != WL_LINE)
--- 3746,3753 ----
for (;;)
{
#ifdef FEAT_CONCEAL
! int has_match_conc = 0; // match wants to conceal
! int did_decrement_ptr = FALSE;
#endif
/* Skip this quickly when working on the text. */
if (draw_state != WL_LINE)
***************
*** 4596,4604 ****
mb_utf8 = FALSE;
mb_l = 1;
multi_attr = HL_ATTR(HLF_AT);
! /* Put pointer back so that the character will be
! * displayed at the start of the next line. */
--ptr;
}
else if (*ptr != NUL)
ptr += mb_l - 1;
--- 4596,4607 ----
mb_utf8 = FALSE;
mb_l = 1;
multi_attr = HL_ATTR(HLF_AT);
! // Put pointer back so that the character will be
! // displayed at the start of the next line.
--ptr;
+ #ifdef FEAT_CONCEAL
+ did_decrement_ptr = TRUE;
+ #endif
}
else if (*ptr != NUL)
ptr += mb_l - 1;
***************
*** 5261,5267 ****
prev_syntax_id = 0;
is_concealing = FALSE;
}
! #endif /* FEAT_CONCEAL */
}

#ifdef FEAT_CONCEAL
--- 5264,5275 ----
prev_syntax_id = 0;
is_concealing = FALSE;
}
!
! if (n_skip > 0 && did_decrement_ptr)
! // not showing the '>', put pointer back to avoid getting stuck
! ++ptr;
!
! #endif // FEAT_CONCEAL
}

#ifdef FEAT_CONCEAL
*** ../vim-8.1.1337/src/version.c 2019-05-17 11:08:52.877906342 +0200
--- src/version.c 2019-05-17 12:30:42.227009618 +0200
***************
*** 769,770 ****
--- 769,772 ----
{ /* Add new patch number below this line */
+ /**/
+ 1338,
/**/

--
Never under any circumstances take a sleeping pill
and a laxative on the same night.

/// 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 ///
Reply all
Reply to author
Forward
0 new messages