Re: Patch 8.1.1737

2019-07-24 Fir de Conversatie Tom M
On Tuesday, July 23, 2019 at 11:00:32 PM UTC+2, Bram Moolenaar wrote:
> Patch 8.1.1737
> Problem::args command that outputs one line gives more prompt.
> Solution:   Only output line break if needed. (Daniel Hahler, closes #4715)
> Files:src/version.c, src/testdir/test_arglist.vim
> 
> 

This change introduced a bug. Start executing the following (after starting 
"vim --clean"):

:let width =  / 3 - 4
:let farg = repeat('f', width)
:let garg = repeat('g', width)
:exe 'args a b c d e' farg garg
:args

The arguments will be printed on 2 lines with the 2nd line too long so it'll be 
wrapped:

[a]d  gg
b  e  c  fff
fff

The proper way to display the args (the way previous vim versions did) is to 
print them on 3 lines:

[a]d  gg
b  e
c  ff

The problem lies in this part:

> - else
> - {
> - if (msg_col > 0)
> - msg_putchar('\n');
> - }
>   }
>   }

I suppose this was axed to avoid sending a '\n' at the end of the last line. 
But it skips '\n' even for the second to last line - after printing args "b" 
and "e". Or even more often. (In fact any time when idx >= item_count.) So I 
suggest introducing the "else" branch back, like in the following patch:

@@ -4438,6 +4438,12 @@ list_in_columns(char_u **items, int size, int current)
msg_putchar(' ');
}
}
+   else
+   {
+   if (msg_col > 0 && cur_row < nrow)
+   msg_putchar('\n');
+   ++cur_row;
+   }
 }
 }

This issue is related to other 2 topics - to the ones which toothpik mentioned 
with subjects "version display horked" and "script stopped working". In the 
latter, he mentioned:

> i still maintain the --version output is horked

After the fix, the number of columns with features will be uniform once again. 
It might even help to get rid of the hang. Though I am not sure I run vim in 
the same way as toothpik as this is depends on 

Tom M

-- 
-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to vim_dev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/vim_dev/07c5a316-3bee-481a-8902-bd5dade00b9c%40googlegroups.com.


Test failure in test_popupwin

2019-07-24 Fir de Conversatie Christian Brabandt
Bram,
when running the testsuite, I see the following error for 
test_popupwin.vim:


Screenshot: https://i.imgur.com/1OEnpP5.png

1 FAILED:
Found errors in Test_popup_select():
Run 1:
function RunTheTest[40]..Test_popup_select[26]..VerifyScreenDump line 55: See 
dump file difference: call 
term_dumpdiff("testdir/failed/Test_popupwin_select_01.dump", 
"testdir/dumps/Test_popupwin_select_01.dump"); difference in line 4: "|4| 
@7|║+0#001#ffd7ff255|t|h|e|
─|w|o|r|d| @9|║| +0#000#ff0@45"; difference in line 5: "|5| 
@7|║+0#001#ffd7ff255|s|o|m|e| |m|o|r|e| @8|║| +0#000#ff0@45"; 
difference in line 6: "|6| @7|║+0#001#ffd7ff255|s|e|v|e|r|a|l| |w|o|r|d|s| 
|h|e|r|e|║| +0#000#ff0@45"
function RunTheTest[40]..Test_popup_select[33]..VerifyScreenDump line 55: See 
dump file difference: call 
term_dumpdiff("testdir/failed/Test_popupwin_select_02.dump", 
"testdir/dumps/Test_popupwin_select_02.dump"); difference in line 1: 

Re: Test failure in Test_diffmode.vim building 8.1.1735 on Linux powerpc

2019-07-24 Fir de Conversatie Christian Brabandt


On Mi, 24 Jul 2019, Elimar Riesebieter wrote:

> * Christian Brabandt  [2019-07-24 19:33 +0200]:
> 
> > Can you share the actual failed screendump file?
> > 
> > > Am 24.07.2019 um 15:27 schrieb Elimar Riesebieter :
> > > 
> > > * Bram Moolenaar  [2019-07-24 15:00 +0200]:
> > > 
> > >> 
> > >> Elimar Riesebieter wrote:
> > >> 
> > >>> I get test failures as follows:
> > >>> 
> > >>> Failures: 
> > >>>From test_diffmode.vim:
> > >>>Found errors in Test_diff_screen():
> > >>>Run 1:
> > >>>function 
> > >>> RunTheTest[40]..Test_diff_screen[95]..VerifyBoth[4]..VerifyScreenDump 
> > >>> line 55: external: See dump file difference: call 
> > >>> term_dumpdiff("testdir/failed/Test_diff_13.dump", 
> > >>> "testdir/dumps/Test_diff_13.dump"); difference in line 1: 
> > >>> "|-+0#e05#a8a8a8255| > 
> > >>> +0#000#ff0@34||+1&&|-+0#e05#a8a8a8255| | 
> > >>> +0#000#ff0@34"; difference in line 20: "|"+0&&|X|f|i|l|e|2|"| 
> > >>> |0|L|,| |0|C| @59"
> > >> 
> > >> [...]
> > >> 
> > >>>Flaky test failed too often, giving up
> > >>> :r
> > >>> 
> > >>> The failures are different in different attempts. Building on i386
> > >>> and amd64 runs fine, 
> > >> 
> > >> Any idea why it fails?  Could it be an actual failure in the diff code?
> > >> Might be related to byte order perhaps.
> > >> I can't reproduce, thus it's hard for me to try fixing it.
> > > 
> > > Well 8.1.1714 built fine. But there was no change in
> > > test_diffmode.vim... I don't have an overview which files in runtime
> > > changed since 8.1.1714.
> 
> It seems that v8.1.1724 is the first tag where test_diffmode.vim
> fails. Please find attached screendumps.
> 
> Thanks for investigation

Well, the dump for 05 seems to be corrupted, it prints corrupted all 
over the place...

The dump for file 16 looks like it did not really update the diff? Not 
sure how this can happen.

The other is just the commandline displaying the filename instead of the 
:

To prevent this, the test always adds a "\n:" so that the commandline 
always displays as ':', apparently this did not work...

Can you manually run through the test Test_diff_screen() and see what 
happens?


Best,
Christian
-- 
Die Fähigkeit, seine Muße klug auszufüllen, ist die letzte Stufe der
persönlichen Kultur.
-- Bertrand A. W. Russell

-- 
-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to vim_dev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/vim_dev/20190724211634.GC9808%40256bit.org.


Re: script stopped working

2019-07-24 Fir de Conversatie tooth pik
it still hangs for me and requires i kill the vim process

looking at the vim --version output i see the last line of features
has six features, and all
other lines have four -- the last two, +mouse_sgr and -tag_old_static,
would not be at the
end if the features were sorted

i still maintain the --version output is horked

On Wed, Jul 24, 2019 at 6:08 AM Bram Moolenaar  wrote:
>
>
> > i had this cute bash script to display a nicely formatted version in
> > konsole and it
> > just stopped working
> >
> > after the shebang it reads
> >
> > vim --cmd ':version | :q'
> >
> > before today it worked beautifully -- today it hangs and won't release 
> > control
> > until i kill the vim process
>
> Works fine for me.  Try: vim --clean --cmd ':version | :q'
>
> --
> SECOND SOLDIER: It could be carried by an African swallow!
> FIRST SOLDIER:  Oh  yes! An African swallow maybe ... but not a European
> swallow. that's my point.
>  "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
>
>  /// Bram Moolenaar -- b...@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///

-- 
-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to vim_dev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/vim_dev/CALfSX1xMsjWBwmvHEgzx_TsXpnyZLq6AZrSSrnKUbeFm9%3DCgSw%40mail.gmail.com.


Re: Test failure in Test_diffmode.vim building 8.1.1735 on Linux powerpc

2019-07-24 Fir de Conversatie Elimar Riesebieter
* Christian Brabandt  [2019-07-24 19:33 +0200]:

> Can you share the actual failed screendump file?
> 
> > Am 24.07.2019 um 15:27 schrieb Elimar Riesebieter :
> > 
> > * Bram Moolenaar  [2019-07-24 15:00 +0200]:
> > 
> >> 
> >> Elimar Riesebieter wrote:
> >> 
> >>> I get test failures as follows:
> >>> 
> >>> Failures: 
> >>>From test_diffmode.vim:
> >>>Found errors in Test_diff_screen():
> >>>Run 1:
> >>>function 
> >>> RunTheTest[40]..Test_diff_screen[95]..VerifyBoth[4]..VerifyScreenDump 
> >>> line 55: external: See dump file difference: call 
> >>> term_dumpdiff("testdir/failed/Test_diff_13.dump", 
> >>> "testdir/dumps/Test_diff_13.dump"); difference in line 1: 
> >>> "|-+0#e05#a8a8a8255| > 
> >>> +0#000#ff0@34||+1&&|-+0#e05#a8a8a8255| | 
> >>> +0#000#ff0@34"; difference in line 20: "|"+0&&|X|f|i|l|e|2|"| 
> >>> |0|L|,| |0|C| @59"
> >> 
> >> [...]
> >> 
> >>>Flaky test failed too often, giving up
> >>> :r
> >>> 
> >>> The failures are different in different attempts. Building on i386
> >>> and amd64 runs fine, 
> >> 
> >> Any idea why it fails?  Could it be an actual failure in the diff code?
> >> Might be related to byte order perhaps.
> >> I can't reproduce, thus it's hard for me to try fixing it.
> > 
> > Well 8.1.1714 built fine. But there was no change in
> > test_diffmode.vim... I don't have an overview which files in runtime
> > changed since 8.1.1714.

It seems that v8.1.1724 is the first tag where test_diffmode.vim
fails. Please find attached screendumps.

Thanks for investigation

Elimar
-- 
  Excellent day for drinking heavily.
  Spike the office water cooler;-)

-- 
-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to vim_dev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/vim_dev/20190724203438.gthapw4whsrqw3db%40toy.home.lxtec.de.


vim-8.1.1724_Test_diffs_dumps.tar.xz
Description: application/xz


Patch 8.1.1746

2019-07-24 Fir de Conversatie Bram Moolenaar


Patch 8.1.1746
Problem:":dl" is seen as ":dlist" instead of ":delete".
Solution:   Do not use cmdidxs2[] if the length is 1. (closes #4721)
Files:  src/ex_docmd.c, src/testdir/test_excmd.vim,
src/testdir/Make_all.mak


*** ../vim-8.1.1745/src/ex_docmd.c  2019-07-24 16:00:34.926180368 +0200
--- src/ex_docmd.c  2019-07-24 22:26:09.045689793 +0200
***
*** 3191,3197 
if (ASCII_ISLOWER(eap->cmd[0]))
{
int c1 = eap->cmd[0];
!   int c2 = eap->cmd[1];
  
if (command_count != (int)CMD_SIZE)
{
--- 3191,3197 
if (ASCII_ISLOWER(eap->cmd[0]))
{
int c1 = eap->cmd[0];
!   int c2 = len == 1 ? NUL : eap->cmd[1];
  
if (command_count != (int)CMD_SIZE)
{
*** ../vim-8.1.1745/src/testdir/test_excmd.vim  2019-07-24 22:29:50.164712552 
+0200
--- src/testdir/test_excmd.vim  2019-07-24 22:25:28.865859564 +0200
***
*** 0 
--- 1,10 
+ " Tests for various Ex commands.
+ 
+ func Test_ex_delete()
+   new
+   call setline(1, ['a', 'b', 'c'])
+   2
+   " :dl is :delete with the "l" flag, not :dlist
+   .dl
+   call assert_equal(['a', 'c'], getline(1, 2))
+ endfunc
*** ../vim-8.1.1745/src/testdir/Make_all.mak2019-06-15 17:57:43.968724059 
+0200
--- src/testdir/Make_all.mak2019-07-24 22:25:04.617960681 +0200
***
*** 106,111 
--- 106,112 
test_ex_equal \
test_ex_undo \
test_ex_z \
+   test_excmd \
test_exec_while_if \
test_execute_func \
test_exists \
***
*** 328,333 
--- 329,335 
test_erasebackword.res \
test_escaped_glob.res \
test_eval_stuff.res \
+   test_excmd.res \
test_exec_while_if.res \
test_exists.res \
test_exists_autocmd.res \
*** ../vim-8.1.1745/src/version.c   2019-07-24 19:00:32.941236032 +0200
--- src/version.c   2019-07-24 22:18:31.331400856 +0200
***
*** 779,780 
--- 779,782 
  {   /* Add new patch number below this line */
+ /**/
+ 1746,
  /**/

-- 
"Lisp has all the visual appeal of oatmeal with nail clippings thrown in."
 -- Larry Wall

 /// Bram Moolenaar -- b...@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///

-- 
-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to vim_dev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/vim_dev/201907242031.x6OKV23D028490%40masaka.moolenaar.net.


Re: Test failure in Test_diffmode.vim building 8.1.1735 on Linux powerpc

2019-07-24 Fir de Conversatie Christian Brabandt
Can you share the actual failed screendump file?

> Am 24.07.2019 um 15:27 schrieb Elimar Riesebieter :
> 
> * Bram Moolenaar  [2019-07-24 15:00 +0200]:
> 
>> 
>> Elimar Riesebieter wrote:
>> 
>>> I get test failures as follows:
>>> 
>>> Failures: 
>>>From test_diffmode.vim:
>>>Found errors in Test_diff_screen():
>>>Run 1:
>>>function 
>>> RunTheTest[40]..Test_diff_screen[95]..VerifyBoth[4]..VerifyScreenDump line 
>>> 55: external: See dump file difference: call 
>>> term_dumpdiff("testdir/failed/Test_diff_13.dump", 
>>> "testdir/dumps/Test_diff_13.dump"); difference in line 1: 
>>> "|-+0#e05#a8a8a8255| > 
>>> +0#000#ff0@34||+1&&|-+0#e05#a8a8a8255| | 
>>> +0#000#ff0@34"; difference in line 20: "|"+0&&|X|f|i|l|e|2|"| 
>>> |0|L|,| |0|C| @59"
>> 
>> [...]
>> 
>>>Flaky test failed too often, giving up
>>> :r
>>> 
>>> The failures are different in different attempts. Building on i386
>>> and amd64 runs fine, 
>> 
>> Any idea why it fails?  Could it be an actual failure in the diff code?
>> Might be related to byte order perhaps.
>> I can't reproduce, thus it's hard for me to try fixing it.
> 
> Well 8.1.1714 built fine. But there was no change in
> test_diffmode.vim... I don't have an overview which files in runtime
> changed since 8.1.1714.
> 
> Elimar
> -- 
>  The path to source is always uphill!
>-unknown-
> 
> -- 
> -- 
> You received this message from the "vim_dev" maillist.
> Do not top-post! Type your reply below the text you are replying to.
> For more information, visit http://www.vim.org/maillist.php
> 
> --- 
> You received this message because you are subscribed to the Google Groups 
> "vim_dev" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to vim_dev+unsubscr...@googlegroups.com.
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/vim_dev/20190724132744.bs7lftdbju5yz6wy%40toy.home.lxtec.de.

-- 
-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to vim_dev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/vim_dev/492933A3-04A8-4D6C-BE1D-33462BA12E84%40256bit.org.


Patch 8.1.1745

2019-07-24 Fir de Conversatie Bram Moolenaar


Patch 8.1.1745
Problem:Compiler warning for unused argument.
Solution:   Add UNUSED.  Change comments to new style.
Files:  src/highlight.c


*** ../vim-8.1.1744/src/highlight.c 2019-07-24 18:13:12.075723420 +0200
--- src/highlight.c 2019-07-24 18:57:44.670191808 +0200
***
*** 157,163 
  NULL
  };
  
! /* Default colors only used with a light background. */
  static char *(highlight_init_light[]) = {
  CENT("Directory term=bold ctermfg=DarkBlue",
 "Directory term=bold ctermfg=DarkBlue guifg=Blue"),
--- 157,163 
  NULL
  };
  
! // Default colors only used with a light background.
  static char *(highlight_init_light[]) = {
  CENT("Directory term=bold ctermfg=DarkBlue",
 "Directory term=bold ctermfg=DarkBlue guifg=Blue"),
***
*** 250,256 
  NULL
  };
  
! /* Default colors only used with a dark background. */
  static char *(highlight_init_dark[]) = {
  CENT("Directory term=bold ctermfg=LightCyan",
 "Directory term=bold ctermfg=LightCyan guifg=Cyan"),
--- 250,256 
  NULL
  };
  
! // Default colors only used with a dark background.
  static char *(highlight_init_dark[]) = {
  CENT("Directory term=bold ctermfg=LightCyan",
 "Directory term=bold ctermfg=LightCyan guifg=Cyan"),
***
*** 3675,3681 
  int   prio,
  int   id,
  list_T*pos_list,
! char_u  *conceal_char UNUSED) /* pointer to conceal replacement char 
*/
  {
  matchitem_T   *cur;
  matchitem_T   *prev;
--- 3675,3681 
  int   prio,
  int   id,
  list_T*pos_list,
! char_u  *conceal_char UNUSED) // pointer to conceal replacement char
  {
  matchitem_T   *cur;
  matchitem_T   *prev;
***
*** 3715,3721 
return -1;
  }
  
! /* Find available match ID. */
  while (id == -1)
  {
cur = wp->w_match_head;
--- 3715,3721 
return -1;
  }
  
! // Find available match ID.
  while (id == -1)
  {
cur = wp->w_match_head;
***
*** 3726,3732 
wp->w_next_match_id++;
  }
  
! /* Build new match. */
  m = ALLOC_CLEAR_ONE(matchitem_T);
  m->id = id;
  m->priority = prio;
--- 3726,3732 
wp->w_next_match_id++;
  }
  
! // Build new match.
  m = ALLOC_CLEAR_ONE(matchitem_T);
  m->id = id;
  m->priority = prio;
***
*** 3741,3747 
m->conceal_char = (*mb_ptr2char)(conceal_char);
  # endif
  
! /* Set up position matches */
  if (pos_list != NULL)
  {
linenr_Ttoplnum = 0;
--- 3741,3747 
m->conceal_char = (*mb_ptr2char)(conceal_char);
  # endif
  
! // Set up position matches
  if (pos_list != NULL)
  {
linenr_Ttoplnum = 0;
***
*** 3815,3821 
botlnum = lnum + 1;
}
  
!   /* Calculate top and bottom lines for redrawing area */
if (toplnum != 0)
{
if (wp->w_buffer->b_mod_set)
--- 3815,3821 
botlnum = lnum + 1;
}
  
!   // Calculate top and bottom lines for redrawing area
if (toplnum != 0)
{
if (wp->w_buffer->b_mod_set)
***
*** 3838,3845 
}
  }
  
! /* Insert new match.  The match list is in ascending order with regard to
!  * the match priorities. */
  cur = wp->w_match_head;
  prev = cur;
  while (cur != NULL && prio >= cur->priority)
--- 3838,3845 
}
  }
  
! // Insert new match.  The match list is in ascending order with regard to
! // the match priorities.
  cur = wp->w_match_head;
  prev = cur;
  while (cur != NULL && prio >= cur->priority)
***
*** 3960,3967 
  {
  matchitem_T *cur;
  
! /* Setup for match and 'hlsearch' highlighting.  Disable any previous
!  * match */
  cur = wp->w_match_head;
  while (cur != NULL)
  {
--- 3960,3967 
  {
  matchitem_T *cur;
  
! // Setup for match and 'hlsearch' highlighting.  Disable any previous
! // match
  cur = wp->w_match_head;
  while (cur != NULL)
  {
***
*** 3974,3980 
cur->hl.lnum = 0;
cur->hl.first_lnum = 0;
  # ifdef FEAT_RELTIME
!   /* Set the time limit to 'redrawtime'. */
profile_setlimit(p_rdt, &(cur->hl.tm));
  # endif
cur = cur->next;
--- 3974,3980 
cur->hl.lnum = 0;
cur->hl.first_lnum = 0;
  # ifdef FEAT_RELTIME
!   // Set the time limit to 'redrawtime'.
profile_setlimit(p_rdt, &(cur->hl.tm));
  # endif
cur = cur->next;
***
*** 3982,3988 
  search_hl->buf = wp->w_buffer;
  search_hl->lnum = 0;
  search_hl->first_lnum = 0;
! /* time limit is set at the toplevel, for all windows */
  }
  
  /*
--- 3982,3988 
  

Patch 8.1.1744

2019-07-24 Fir de Conversatie Bram Moolenaar


Patch 8.1.1744
Problem:Build error without the conceal feature.
Solution:   Define variables also without the conceal feature.
Files:  src/screen.c


*** ../vim-8.1.1743/src/screen.c2019-07-24 18:13:12.075723420 +0200
--- src/screen.c2019-07-24 18:42:22.160193552 +0200
***
*** 3315,3331 
  #endif
  int   screen_line_flags = 0;
  
  #ifdef FEAT_CONCEAL
  int   syntax_flags= 0;
  int   syntax_seqnr= 0;
  int   prev_syntax_id  = 0;
  int   conceal_attr= HL_ATTR(HLF_CONCEAL);
  int   is_concealing   = FALSE;
! int   boguscols   = 0;/* nonexistent columns added to 
force
!  wrapping */
! int   vcol_off= 0;/* offset for concealed 
characters */
  int   did_wcol= FALSE;
- int   match_conc  = 0;/* cchar for match functions */
  int   old_boguscols   = 0;
  # define VCOL_HLC (vcol - vcol_off)
  # define FIX_FOR_BOGUSCOLS \
--- 3315,3331 
  #endif
  int   screen_line_flags = 0;
  
+ int   match_conc  = 0;// cchar for match functions
  #ifdef FEAT_CONCEAL
  int   syntax_flags= 0;
  int   syntax_seqnr= 0;
  int   prev_syntax_id  = 0;
  int   conceal_attr= HL_ATTR(HLF_CONCEAL);
  int   is_concealing   = FALSE;
! int   boguscols   = 0;// nonexistent columns added to 
force
!   // wrapping
! int   vcol_off= 0;// offset for concealed 
characters
  int   did_wcol= FALSE;
  int   old_boguscols   = 0;
  # define VCOL_HLC (vcol - vcol_off)
  # define FIX_FOR_BOGUSCOLS \
***
*** 3859,3866 
   */
  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. */
--- 3859,3866 
   */
  for (;;)
  {
int has_match_conc  = 0;// match wants to conceal
+ #ifdef FEAT_CONCEAL
int did_decrement_ptr = FALSE;
  #endif
/* Skip this quickly when working on the text. */
*** ../vim-8.1.1743/src/version.c   2019-07-24 18:13:12.075723420 +0200
--- src/version.c   2019-07-24 18:42:54.692051271 +0200
***
*** 779,780 
--- 779,782 
  {   /* Add new patch number below this line */
+ /**/
+ 1744,
  /**/

-- 
Why I like vim:
> I like VIM because, when I ask a question in this newsgroup, I get a
> one-line answer.  With xemacs, I get a 1Kb lisp script with bugs in it ;-)

 /// Bram Moolenaar -- b...@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///

-- 
-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to vim_dev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/vim_dev/201907241643.x6OGhjNP007855%40masaka.moolenaar.net.


Patch 8.1.1743

2019-07-24 Fir de Conversatie Bram Moolenaar


Patch 8.1.1743
Problem:'hlsearch' and match highlighting in the wrong place.
Solution:   Move highlighting from inside screen functions to highlight.c.
Files:  src/screen.c, src/highlight.c, src/proto/highlight.pro


*** ../vim-8.1.1742/src/screen.c2019-07-21 14:50:15.379092378 +0200
--- src/screen.c2019-07-24 18:05:55.565571733 +0200
***
*** 104,110 
  static intscreen_cur_row, screen_cur_col; /* last known cursor position */
  
  #ifdef FEAT_SEARCH_EXTRA
! static match_T search_hl; /* used for 'hlsearch' highlight matching */
  #endif
  
  #ifdef FEAT_FOLDING
--- 104,110 
  static intscreen_cur_row, screen_cur_col; /* last known cursor position */
  
  #ifdef FEAT_SEARCH_EXTRA
! static match_T search_hl; // used for 'hlsearch' highlight matching
  #endif
  
  #ifdef FEAT_FOLDING
***
*** 135,147 
  static void redraw_custom_statusline(win_T *wp);
  #endif
  #ifdef FEAT_SEARCH_EXTRA
- # define SEARCH_HL_PRIORITY 0
  static void start_search_hl(void);
  static void end_search_hl(void);
- static void init_search_hl(win_T *wp);
- static void prepare_search_hl(win_T *wp, linenr_T lnum);
- static void next_search_hl(win_T *win, match_T *shl, linenr_T lnum, colnr_T 
mincol, matchitem_T *cur);
- static int next_search_hl_pos(match_T *shl, linenr_T lnum, posmatch_T *pos, 
colnr_T mincol);
  #endif
  static void screen_char(unsigned off, int row, int col);
  static void screen_char_2(unsigned off, int row, int col);
--- 135,142 
***
*** 1172,1178 
  #endif
  
  #ifdef FEAT_SEARCH_EXTRA
! init_search_hl(wp);
  #endif
  
  #ifdef FEAT_LINEBREAK
--- 1167,1173 
  #endif
  
  #ifdef FEAT_SEARCH_EXTRA
! init_search_hl(wp, _hl);
  #endif
  
  #ifdef FEAT_LINEBREAK
***
*** 2090,2096 
else
{
  #ifdef FEAT_SEARCH_EXTRA
!   prepare_search_hl(wp, lnum);
  #endif
  #ifdef FEAT_SYN_HL
/* Let the syntax stuff know we skipped a few lines. */
--- 2085,2091 
else
{
  #ifdef FEAT_SEARCH_EXTRA
!   prepare_search_hl(wp, _hl, lnum);
  #endif
  #ifdef FEAT_SYN_HL
/* Let the syntax stuff know we skipped a few lines. */
***
*** 3273,3289 
  int   sign_present = FALSE;
  sign_attrs_T sattr;
  #endif
- #ifdef FEAT_SEARCH_EXTRA
- matchitem_T *cur; /* points to the match list */
- match_T   *shl;   /* points to search_hl or a match */
- int   shl_flag;   /* flag to indicate whether 
search_hl
-  has been processed or not */
- int   pos_inprogress; /* marks that position match 
search is
-  in progress */
- int   prevcol_hl_flag;/* flag to indicate whether 
prevcol
-  equals startcol of search_hl or one
-  of the matches */
- #endif
  #ifdef FEAT_ARABIC
  int   prev_c = 0; /* previous Arabic character */
  int   prev_c1 = 0;/* first composing char for 
prev_c */
--- 3268,3273 
***
*** 3808,3872 
  }
  
  #ifdef FEAT_SEARCH_EXTRA
! /*
!  * Handle highlighting the last used search pattern and matches.
!  * Do this for both search_hl and the match list.
!  * Do not use search_hl in a popup window.
!  */
! cur = wp->w_match_head;
! shl_flag = (screen_line_flags & SLF_POPUP);
! while ((cur != NULL || shl_flag == FALSE) && !number_only)
  {
-   if (shl_flag == FALSE)
-   {
-   shl = _hl;
-   shl_flag = TRUE;
-   }
-   else
-   shl = >hl;
-   shl->startcol = MAXCOL;
-   shl->endcol = MAXCOL;
-   shl->attr_cur = 0;
-   shl->is_addpos = FALSE;
v = (long)(ptr - line);
!   if (cur != NULL)
!   cur->pos.cur = 0;
!   next_search_hl(wp, shl, lnum, (colnr_T)v,
!  shl == _hl ? NULL : cur);
! 
!   /* Need to get the line again, a multi-line regexp may have made it
!* invalid. */
!   line = ml_get_buf(wp->w_buffer, lnum, FALSE);
!   ptr = line + v;
! 
!   if (shl->lnum != 0 && shl->lnum <= lnum)
!   {
!   if (shl->lnum == lnum)
!   shl->startcol = shl->rm.startpos[0].col;
!   else
!   shl->startcol = 0;
!   if (lnum == shl->lnum + shl->rm.endpos[0].lnum
!   - shl->rm.startpos[0].lnum)
!   shl->endcol = shl->rm.endpos[0].col;
!   else
!   shl->endcol = MAXCOL;
!   /* Highlight one character for an empty match. */
!   if (shl->startcol == shl->endcol)
!   {
!   if (has_mbyte && line[shl->endcol] != NUL)
!

Patch 8.1.1742

2019-07-24 Fir de Conversatie Bram Moolenaar


Patch 8.1.1742
Problem:Still some match functions in evalfunc.c.
Solution:   Move them to highlight.c.
Files:  src/evalfunc.c, src/highlight.c, src/proto/highlight.pro,
src/ex_docmd.c


*** ../vim-8.1.1741/src/evalfunc.c  2019-07-24 14:59:42.267465100 +0200
--- src/evalfunc.c  2019-07-24 15:54:16.194531096 +0200
***
*** 74,80 
  static void f_char2nr(typval_T *argvars, typval_T *rettv);
  static void f_chdir(typval_T *argvars, typval_T *rettv);
  static void f_cindent(typval_T *argvars, typval_T *rettv);
- static void f_clearmatches(typval_T *argvars, typval_T *rettv);
  static void f_col(typval_T *argvars, typval_T *rettv);
  #if defined(FEAT_INS_EXPAND)
  static void f_complete(typval_T *argvars, typval_T *rettv);
--- 74,79 
***
*** 314,320 
  static void f_setfperm(typval_T *argvars, typval_T *rettv);
  static void f_setline(typval_T *argvars, typval_T *rettv);
  static void f_setloclist(typval_T *argvars, typval_T *rettv);
- static void f_setmatches(typval_T *argvars, typval_T *rettv);
  static void f_setpos(typval_T *argvars, typval_T *rettv);
  static void f_setqflist(typval_T *argvars, typval_T *rettv);
  static void f_setreg(typval_T *argvars, typval_T *rettv);
--- 313,318 
***
*** 2209,2228 
  }
  
  /*
-  * "clearmatches()" function
-  */
- static void
- f_clearmatches(typval_T *argvars UNUSED, typval_T *rettv UNUSED)
- {
- #ifdef FEAT_SEARCH_EXTRA
- win_T   *win = get_optional_window(argvars, 0);
- 
- if (win != NULL)
-   clear_matches(win);
- #endif
- }
- 
- /*
   * "col(string)" function
   */
  static void
--- 2207,2212 
***
*** 10741,10860 
  }
  
  /*
-  * "setmatches()" function
-  */
- static void
- f_setmatches(typval_T *argvars UNUSED, typval_T *rettv UNUSED)
- {
- #ifdef FEAT_SEARCH_EXTRA
- list_T*l;
- listitem_T*li;
- dict_T*d;
- list_T*s = NULL;
- win_T *win = get_optional_window(argvars, 1);
- 
- rettv->vval.v_number = -1;
- if (argvars[0].v_type != VAR_LIST)
- {
-   emsg(_(e_listreq));
-   return;
- }
- if (win == NULL)
-   return;
- 
- if ((l = argvars[0].vval.v_list) != NULL)
- {
-   /* To some extent make sure that we are dealing with a list from
-* "getmatches()". */
-   li = l->lv_first;
-   while (li != NULL)
-   {
-   if (li->li_tv.v_type != VAR_DICT
-   || (d = li->li_tv.vval.v_dict) == NULL)
-   {
-   emsg(_(e_invarg));
-   return;
-   }
-   if (!(dict_find(d, (char_u *)"group", -1) != NULL
-   && (dict_find(d, (char_u *)"pattern", -1) != NULL
-   || dict_find(d, (char_u *)"pos1", -1) != NULL)
-   && dict_find(d, (char_u *)"priority", -1) != NULL
-   && dict_find(d, (char_u *)"id", -1) != NULL))
-   {
-   emsg(_(e_invarg));
-   return;
-   }
-   li = li->li_next;
-   }
- 
-   clear_matches(win);
-   li = l->lv_first;
-   while (li != NULL)
-   {
-   int i = 0;
-   charbuf[30];  // use 30 to avoid compiler warning
-   dictitem_T  *di;
-   char_u  *group;
-   int priority;
-   int id;
-   char_u  *conceal;
- 
-   d = li->li_tv.vval.v_dict;
-   if (dict_find(d, (char_u *)"pattern", -1) == NULL)
-   {
-   if (s == NULL)
-   {
-   s = list_alloc();
-   if (s == NULL)
-   return;
-   }
- 
-   /* match from matchaddpos() */
-   for (i = 1; i < 9; i++)
-   {
-   sprintf((char *)buf, (char *)"pos%d", i);
-   if ((di = dict_find(d, (char_u *)buf, -1)) != NULL)
-   {
-   if (di->di_tv.v_type != VAR_LIST)
-   return;
- 
-   list_append_tv(s, >di_tv);
-   s->lv_refcount++;
-   }
-   else
-   break;
-   }
-   }
- 
-   group = dict_get_string(d, (char_u *)"group", TRUE);
-   priority = (int)dict_get_number(d, (char_u *)"priority");
-   id = (int)dict_get_number(d, (char_u *)"id");
-   conceal = dict_find(d, (char_u *)"conceal", -1) != NULL
- ? dict_get_string(d, (char_u *)"conceal", TRUE)
- : NULL;
-   if (i == 0)
-   {
-   match_add(win, group,
-   dict_get_string(d, (char_u *)"pattern", FALSE),
-   priority, id, NULL, conceal);
-   }
-   else
-   {
-   match_add(win, group, NULL, priority, id, s, conceal);
- 

Patch 8.1.1741

2019-07-24 Fir de Conversatie Bram Moolenaar


Patch 8.1.1741
Problem:Cleared/added match highlighting not updated in other window.
(Andi Massimino)
Solution:   Mark the right window for refresh.
Files:  src/highlight.c, src/testdir/test_match.vim,
src/testdir/dumps/Test_matchclear_1.dump,
src/testdir/dumps/Test_matchadd_1.dump


*** ../vim-8.1.1740/src/highlight.c 2019-07-24 14:25:07.171074151 +0200
--- src/highlight.c 2019-07-24 15:25:47.898502366 +0200
***
*** 3850,3856 
prev->next = m;
  m->next = cur;
  
! redraw_later(rtype);
  return id;
  
  fail:
--- 3850,3856 
prev->next = m;
  m->next = cur;
  
! redraw_win_later(wp, rtype);
  return id;
  
  fail:
***
*** 3932,3938 
vim_free(wp->w_match_head);
wp->w_match_head = m;
  }
! redraw_later(SOME_VALID);
  }
  
  /*
--- 3932,3938 
vim_free(wp->w_match_head);
wp->w_match_head = m;
  }
! redraw_win_later(wp, SOME_VALID);
  }
  
  /*
*** ../vim-8.1.1740/src/testdir/test_match.vim  2019-07-24 14:25:07.171074151 
+0200
--- src/testdir/test_match.vim  2019-07-24 15:24:37.055420845 +0200
***
*** 253,277 
set hlsearch&
  endfunc
  
! func Test_matchdelete_other_window()
!   if !CanRunVimInTerminal()
! throw 'Skipped: cannot make screendumps'
!   endif
! 
let lines =<< trim END
  call setline(1, 'Hello Vim world')
  let mid = matchadd('Error', 'world', 1)
  let winid = win_getid()
  new
END
!   call writefile(lines, 'XscriptMatchDelete')
!   let buf = RunVimInTerminal('-S XscriptMatchDelete', #{rows: 12})
call term_wait(buf)
call term_sendkeys(buf, ":call matchdelete(mid, winid)\")
call VerifyScreenDump(buf, 'Test_matchdelete_1', {})
  
call StopVimInTerminal(buf)
!   call delete('XscriptMatchDelete')
  endfunc
  
  
--- 253,306 
set hlsearch&
  endfunc
  
! func OtherWindowCommon()
let lines =<< trim END
  call setline(1, 'Hello Vim world')
  let mid = matchadd('Error', 'world', 1)
  let winid = win_getid()
  new
END
!   call writefile(lines, 'XscriptMatchCommon')
!   let buf = RunVimInTerminal('-S XscriptMatchCommon', #{rows: 12})
call term_wait(buf)
+   return buf
+ endfunc
+ 
+ func Test_matchdelete_other_window()
+   if !CanRunVimInTerminal()
+ throw 'Skipped: cannot make screendumps'
+   endif
+   let buf = OtherWindowCommon()
call term_sendkeys(buf, ":call matchdelete(mid, winid)\")
call VerifyScreenDump(buf, 'Test_matchdelete_1', {})
  
call StopVimInTerminal(buf)
!   call delete('XscriptMatchCommon')
! endfunc
! 
! func Test_matchclear_other_window()
!   if !CanRunVimInTerminal()
! throw 'Skipped: cannot make screendumps'
!   endif
!   let buf = OtherWindowCommon()
!   call term_sendkeys(buf, ":call clearmatches(winid)\")
!   call VerifyScreenDump(buf, 'Test_matchclear_1', {})
! 
!   call StopVimInTerminal(buf)
!   call delete('XscriptMatchCommon')
! endfunc
! 
! func Test_matchadd_other_window()
!   if !CanRunVimInTerminal()
! throw 'Skipped: cannot make screendumps'
!   endif
!   let buf = OtherWindowCommon()
!   call term_sendkeys(buf, ":call matchadd('Search', 'Hello', 1, -1, #{window: 
winid})\")
!   call term_sendkeys(buf, ":\")
!   call VerifyScreenDump(buf, 'Test_matchadd_1', {})
! 
!   call StopVimInTerminal(buf)
!   call delete('XscriptMatchCommon')
  endfunc
  
  
*** ../vim-8.1.1740/src/testdir/dumps/Test_matchclear_1.dump2019-07-24 
15:27:19.717378559 +0200
--- src/testdir/dumps/Test_matchclear_1.dump2019-07-24 15:16:03.372895380 
+0200
***
*** 0 
--- 1,12 
+ > 

Re: Test failure in Test_diffmode.vim building 8.1.1735 on Linux powerpc

2019-07-24 Fir de Conversatie Elimar Riesebieter
* Bram Moolenaar  [2019-07-24 15:00 +0200]:

> 
> Elimar Riesebieter wrote:
> 
> > I get test failures as follows:
> > 
> > Failures: 
> > From test_diffmode.vim:
> > Found errors in Test_diff_screen():
> > Run 1:
> > function 
> > RunTheTest[40]..Test_diff_screen[95]..VerifyBoth[4]..VerifyScreenDump line 
> > 55: external: See dump file difference: call 
> > term_dumpdiff("testdir/failed/Test_diff_13.dump", 
> > "testdir/dumps/Test_diff_13.dump"); difference in line 1: 
> > "|-+0#e05#a8a8a8255| > 
> > +0#000#ff0@34||+1&&|-+0#e05#a8a8a8255| | 
> > +0#000#ff0@34"; difference in line 20: "|"+0&&|X|f|i|l|e|2|"| 
> > |0|L|,| |0|C| @59"
> 
> [...]
> 
> > Flaky test failed too often, giving up
> > :r
> > 
> > The failures are different in different attempts. Building on i386
> > and amd64 runs fine, 
> 
> Any idea why it fails?  Could it be an actual failure in the diff code?
> Might be related to byte order perhaps.
> I can't reproduce, thus it's hard for me to try fixing it.

Well 8.1.1714 built fine. But there was no change in
test_diffmode.vim... I don't have an overview which files in runtime
changed since 8.1.1714.

Elimar
-- 
  The path to source is always uphill!
-unknown-

-- 
-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to vim_dev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/vim_dev/20190724132744.bs7lftdbju5yz6wy%40toy.home.lxtec.de.


Patch 8.1.1740

2019-07-24 Fir de Conversatie Bram Moolenaar


Patch 8.1.1740
Problem:Exepath() doesn't work for "bin/cat".
Solution:   Check for any path separator. (Daniel Hahler, closes #4724,
closes #4710)
Files:  src/evalfunc.c, src/os_unix.c, src/testdir/test_functions.vim


*** ../vim-8.1.1739/src/evalfunc.c  2019-07-22 23:03:53.322360395 +0200
--- src/evalfunc.c  2019-07-24 14:58:14.992053041 +0200
***
*** 3058,3065 
  char_u *name = tv_get_string([0]);
  
  /* Check in $PATH and also check directly if there is a directory name. */
! rettv->vval.v_number = mch_can_exe(name, NULL, TRUE)
!|| (gettail(name) != name && mch_can_exe(name, NULL, FALSE));
  }
  
  static garray_T   redir_execute_ga;
--- 3058,3064 
  char_u *name = tv_get_string([0]);
  
  /* Check in $PATH and also check directly if there is a directory name. */
! rettv->vval.v_number = mch_can_exe(name, NULL, TRUE);
  }
  
  static garray_T   redir_execute_ga;
*** ../vim-8.1.1739/src/os_unix.c   2019-06-14 21:36:51.014437500 +0200
--- src/os_unix.c   2019-07-24 14:58:14.992053041 +0200
***
*** 3103,3114 
  
  /* When "use_path" is false and if it's an absolute or relative path don't
   * need to use $PATH. */
! if (!use_path || mch_isFullName(name) || (name[0] == '.'
!  && (name[1] == '/' || (name[1] == '.' && name[2] == '/'
  {
/* There must be a path separator, files in the current directory
 * can't be executed. */
!   if (gettail(name) != name && executable_file(name))
{
if (path != NULL)
{
--- 3103,3113 
  
  /* When "use_path" is false and if it's an absolute or relative path don't
   * need to use $PATH. */
! if (!use_path || gettail(name) != name)
  {
/* There must be a path separator, files in the current directory
 * can't be executed. */
!   if ((use_path || gettail(name) != name) && executable_file(name))
{
if (path != NULL)
{
*** ../vim-8.1.1739/src/testdir/test_functions.vim  2019-07-05 
21:53:14.939268472 +0200
--- src/testdir/test_functions.vim  2019-07-24 14:54:16.045668675 +0200
***
*** 990,995 
--- 990,1003 
elseif has('unix')
  call assert_equal(1, executable('cat'))
  call assert_equal(0, executable('nodogshere'))
+ 
+ " get "cat" path and remove the leading /
+ let catcmd = exepath('cat')[1:]
+ new
+ lcd /
+ call assert_equal(1, executable(catcmd))
+ call assert_equal('/' .. catcmd, exepath(catcmd))
+ bwipe
endif
  endfunc
  
*** ../vim-8.1.1739/src/version.c   2019-07-24 14:25:07.171074151 +0200
--- src/version.c   2019-07-24 14:57:34.208328113 +0200
***
*** 779,780 
--- 779,782 
  {   /* Add new patch number below this line */
+ /**/
+ 1740,
  /**/

-- 
Kiss me twice.  I'm schizophrenic.

 /// Bram Moolenaar -- b...@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///

-- 
-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to vim_dev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/vim_dev/201907241300.x6OD03tY029875%40masaka.moolenaar.net.


Re: Test failure in Test_diffmode.vim building 8.1.1735 on Linux powerpc

2019-07-24 Fir de Conversatie Bram Moolenaar


Elimar Riesebieter wrote:

> I get test failures as follows:
> 
> Failures: 
>   From test_diffmode.vim:
>   Found errors in Test_diff_screen():
>   Run 1:
>   function 
> RunTheTest[40]..Test_diff_screen[95]..VerifyBoth[4]..VerifyScreenDump line 
> 55: external: See dump file difference: call 
> term_dumpdiff("testdir/failed/Test_diff_13.dump", 
> "testdir/dumps/Test_diff_13.dump"); difference in line 1: 
> "|-+0#e05#a8a8a8255| > +0#000#ff0@34||+1&&|-+0#e05#a8a8a8255| 
> | +0#000#ff0@34"; difference in line 20: "|"+0&&|X|f|i|l|e|2|"| 
> |0|L|,| |0|C| @59"

[...]

>   Flaky test failed too often, giving up
> :r
> 
> The failures are different in different attempts. Building on i386
> and amd64 runs fine, 

Any idea why it fails?  Could it be an actual failure in the diff code?
Might be related to byte order perhaps.
I can't reproduce, thus it's hard for me to try fixing it.

-- 
THEOREM: VI is perfect.
PROOF: VI in roman numerals is 6.  The natural numbers < 6 which divide 6 are
1, 2, and 3. 1+2+3 = 6.  So 6 is a perfect number.  Therefore, VI is perfect.
QED
-- Arthur Tateishi

 /// Bram Moolenaar -- b...@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///

-- 
-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to vim_dev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/vim_dev/201907241300.x6OD03nZ029884%40masaka.moolenaar.net.


Patch 8.1.1739

2019-07-24 Fir de Conversatie Bram Moolenaar


Patch 8.1.1739
Problem:Deleted match highlighting not updated in other window.
Solution:   Mark the window for refresh. (closes #4720)  Also fix that
ambi-width check clears with wrong attributes.
Files:  src/term.c, src/highlight.c, src/testdir/test_match.vim,
src/testdir/dumps/Test_matchdelete_1.dump


*** ../vim-8.1.1738/src/term.c  2019-07-12 15:37:09.250799642 +0200
--- src/term.c  2019-07-24 13:57:06.526595709 +0200
***
*** 3718,3723 
--- 3718,3724 
  
/* This overwrites a few characters on the screen, a redraw is needed
 * after this. Clear them out for now. */
+   screen_stop_highlight();
term_windgoto(1, 0);
out_str((char_u *)"  ");
term_windgoto(0, 0);
*** ../vim-8.1.1738/src/highlight.c 2019-07-22 23:16:28.939443646 +0200
--- src/highlight.c 2019-07-24 14:24:48.655264063 +0200
***
*** 3912,3918 
rtype = VALID;
  }
  vim_free(cur);
! redraw_later(rtype);
  return 0;
  }
  
--- 3912,3918 
rtype = VALID;
  }
  vim_free(cur);
! redraw_win_later(wp, rtype);
  return 0;
  }
  
*** ../vim-8.1.1738/src/testdir/test_match.vim  2019-03-30 18:10:57.649082383 
+0100
--- src/testdir/test_match.vim  2019-07-24 14:05:56.604304336 +0200
***
*** 1,6 
--- 1,8 
  " Test for :match, :2match, :3match, clearmatches(), getmatches(), matchadd(),
  " matchaddpos(), matcharg(), matchdelete(), and setmatches().
  
+ source screendump.vim
+ 
  function Test_match()
highlight MyGroup1 term=bold ctermbg=red guibg=red
highlight MyGroup2 term=italic ctermbg=green guibg=green
***
*** 251,254 
--- 253,278 
set hlsearch&
  endfunc
  
+ func Test_matchdelete_other_window()
+   if !CanRunVimInTerminal()
+ throw 'Skipped: cannot make screendumps'
+   endif
+ 
+   let lines =<< trim END
+ call setline(1, 'Hello Vim world')
+ let mid = matchadd('Error', 'world', 1)
+ let winid = win_getid()
+ new
+   END
+   call writefile(lines, 'XscriptMatchDelete')
+   let buf = RunVimInTerminal('-S XscriptMatchDelete', #{rows: 12})
+   call term_wait(buf)
+   call term_sendkeys(buf, ":call matchdelete(mid, winid)\")
+   call VerifyScreenDump(buf, 'Test_matchdelete_1', {})
+ 
+   call StopVimInTerminal(buf)
+   call delete('XscriptMatchDelete')
+ endfunc
+ 
+ 
  " vim: shiftwidth=2 sts=2 expandtab
*** ../vim-8.1.1738/src/testdir/dumps/Test_matchdelete_1.dump   2019-07-24 
14:24:00.827766218 +0200
--- src/testdir/dumps/Test_matchdelete_1.dump   2019-07-24 14:04:46.268608381 
+0200
***
*** 0 
--- 1,12 
+ > 

Test failure in Test_diffmode.vim building 8.1.1735 on Linux powerpc

2019-07-24 Fir de Conversatie Elimar Riesebieter
I get test failures as follows:

Failures: 
From test_diffmode.vim:
Found errors in Test_diff_screen():
Run 1:
function 
RunTheTest[40]..Test_diff_screen[95]..VerifyBoth[4]..VerifyScreenDump line 55: 
external: See dump file difference: call 
term_dumpdiff("testdir/failed/Test_diff_13.dump", 
"testdir/dumps/Test_diff_13.dump"); difference in line 1: 
"|-+0#e05#a8a8a8255| > +0#000#ff0@34||+1&&|-+0#e05#a8a8a8255| | 
+0#000#ff0@34"; difference in line 20: "|"+0&&|X|f|i|l|e|2|"| |0|L|,| 
|0|C| @59"
function 
RunTheTest[40]..Test_diff_screen[112]..VerifyInternal[5]..VerifyScreenDump line 
55: See dump file difference: call 
term_dumpdiff("testdir/failed/Test_diff_17.dump", 
"testdir/dumps/Test_diff_17.dump"); difference in line 1: "| 
+0#e05#a8a8a8255@1>a+0#000#ff0| @33||+1&&| 
+0#e05#a8a8a8255@1|a+0#000#ff0| @33"; difference in line 4: "| 
+0#e05#a8a8a8255@1|-+0#4040ff13#af255@34||+1#000#ff0| 
+0#e05#a8a8a8255@1| +0#000#5fd7ff255@34"; difference in line 5: "| 
+0#e05#a8a8a8255@1|e+0#000#ff0|f| @32||+1&&| 
+0#e05#a8a8a8255@1|e+0#000#ff0|f| @32"; difference in line 6: "| 
+0#e05#a8a8a8255@1|x+2#000#ff404010@2| 

Re: [vim/vim] Enable GVIM to natively run in Wayland (#4727)

2019-07-24 Fir de Conversatie Christian Brabandt
Note, this is a community project. That means we don't have to do what you or 
anybody else demands. 
However, if you really want that, well, now that is your chance to contribute 
to a wellknown open source project ... 

> Am 24.07.2019 um 13:36 schrieb varshitgithub (Vim Github Repository) 
> :
> 
> Wayland is future. GVIM runs in XWAYLAND in WAYLAND. Get RID of any X related 
> code in GVIM,so that GVIM can run natively in Wayland without XWAYLAND
> 
> —
> You are receiving this because you are subscribed to this thread.
> Reply to this email directly, view it on GitHub
> 
> -- 
> -- 
> You received this message from the "vim_dev" maillist.
> Do not top-post! Type your reply below the text you are replying to.
> For more information, visit http://www.vim.org/maillist.php
> 
> --- 
> You received this message because you are subscribed to the Google Groups 
> "vim_dev" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to vim_dev+unsubscr...@googlegroups.com.
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/vim_dev/vim/vim/issues/4727%40github.com.

-- 
-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to vim_dev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/vim_dev/0601572C-6018-4C43-908E-B13A9E4FD2E4%40256bit.org.


Patch 8.1.1738

2019-07-24 Fir de Conversatie Bram Moolenaar


Patch 8.1.1738
Problem:Testing lambda with timer is slow.
Solution:   Do not test timer accuracy, only that it works. (Daniel Hahler,
closes #4723)
Files:  src/testdir/test_lambda.vim


*** ../vim-8.1.1737/src/testdir/test_lambda.vim 2019-01-13 15:15:54.388762907 
+0100
--- src/testdir/test_lambda.vim 2019-07-24 13:02:43.988667863 +0200
***
*** 26,45 
let s:n = 0
let s:timer_id = 0
func! s:Foo()
! "let n = 0
! let s:timer_id = timer_start(50, {-> execute("let s:n += 1 | echo s:n", 
"")}, {"repeat": -1})
endfunc
  
call s:Foo()
!   sleep 200ms
" do not collect lambda
call test_garbagecollect_now()
let m = s:n
!   sleep 200ms
call timer_stop(s:timer_id)
!   call assert_true(m > 1)
!   call assert_true(s:n > m + 1)
!   call assert_true(s:n < 9)
  endfunc
  
  func Test_lambda_with_partial()
--- 26,57 
let s:n = 0
let s:timer_id = 0
func! s:Foo()
! let s:timer_id = timer_start(10, {-> execute("let s:n += 1 | echo s:n", 
"")}, {"repeat": -1})
endfunc
  
call s:Foo()
!   " check timer works
!   for i in range(0, 10)
! if s:n > 0
!   break
! endif
! sleep 10m
!   endfor
! 
" do not collect lambda
call test_garbagecollect_now()
+ 
+   " check timer still works
let m = s:n
!   for i in range(0, 10)
! if s:n > m
!   break
! endif
! sleep 10m
!   endfor
! 
call timer_stop(s:timer_id)
!   call assert_true(s:n > m)
  endfunc
  
  func Test_lambda_with_partial()
*** ../vim-8.1.1737/src/version.c   2019-07-23 23:00:04.863109796 +0200
--- src/version.c   2019-07-24 13:04:09.632302434 +0200
***
*** 779,780 
--- 779,782 
  {   /* Add new patch number below this line */
+ /**/
+ 1738,
  /**/

-- 
./configure
Checking whether build environment is sane ...
build environment is grinning and holding a spatula.  Guess not.

 /// Bram Moolenaar -- b...@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///

-- 
-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to vim_dev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/vim_dev/201907241108.x6OB8hSi004908%40masaka.moolenaar.net.


Re: script stopped working

2019-07-24 Fir de Conversatie Bram Moolenaar


> i had this cute bash script to display a nicely formatted version in
> konsole and it
> just stopped working
> 
> after the shebang it reads
> 
> vim --cmd ':version | :q'
> 
> before today it worked beautifully -- today it hangs and won't release control
> until i kill the vim process

Works fine for me.  Try: vim --clean --cmd ':version | :q'

-- 
SECOND SOLDIER: It could be carried by an African swallow!
FIRST SOLDIER:  Oh  yes! An African swallow maybe ... but not a European
swallow. that's my point.
 "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD

 /// Bram Moolenaar -- b...@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///

-- 
-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to vim_dev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/vim_dev/201907241108.x6OB8gKW004902%40masaka.moolenaar.net.


version display horked

2019-07-24 Fir de Conversatie tooth pik
looking at my broken script and wondering why it stopped working i noticed the
version display is bolixed whether i run it inside a vim session or from the
command line

the script i've been playing around with on the side triggers the end
of features
when it encounters a line that matches '^   system' -- that line is
currently appended to the last feature line, which is also horked

is somebody forgetting their newlines?

-- 
-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to vim_dev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/vim_dev/CALfSX1xDg1dZ-pbPAwHmM%2BO_Oxuv%3D7pSVqSYbYkhUVf6JA26VQ%40mail.gmail.com.


script stopped working

2019-07-24 Fir de Conversatie tooth pik
i had this cute bash script to display a nicely formatted version in
konsole and it
just stopped working

after the shebang it reads

vim --cmd ':version | :q'

before today it worked beautifully -- today it hangs and won't release control
until i kill the vim process

-- 
-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to vim_dev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/vim_dev/CALfSX1x%2BX5QBEoFRCbGqXnDcTBekUFqExMGyQMLE2iY5RBVRHQ%40mail.gmail.com.