Re: [vim/vim] Fixed several issues with Test_profile (#1384)

2017-01-15 Fir de Conversatie mossgary600 via vim_dev


On Sun, 1/15/17, Dominique Pellé  wrote:

 Subject: Re: [vim/vim] Fixed several issues with Test_profile (#1384)
 To: "vim/vim" 
 Cc: "Push" 
 Date: Sunday, January 15, 2017, 11:30 PM
 
 @dpelle
 pushed 1 commit.
 
 c5f89eb
  Disable test on Windows: system(...) fails
 somehow
 
 
 —
 You are receiving this because you are
 subscribed to this thread.
 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.
 
 For more options, visit https://groups.google.com/d/optout.
 omania in relatiile politice internationale  in anii premergatori declansarii 
celui de-al doilea razboi mondial 1936-1939. Datorita complexitatii situatiei 
politice internationale  Romania si-a aratat dorinta de a mentine  in 
continuare  relatii de buna vecinatate cu U.R.S.S.  dar  in paralel a initiat 
normalizarea raporturilor sale cu Germania. Gheorghe Bratianu  cunoscutul 
istoric si om politic  va deschide seria contactelor cu AdolfHitler  la 16 
noiembrie 1936.

-- 
-- 
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.
For more options, visit https://groups.google.com/d/optout.


Re: [vim/vim] Vim :profile command was not covered by tests (#1383)

2017-01-15 Fir de Conversatie Bram Moolenaar

Dominique Pellé wrote:

> >> Vim :profile command was not covered by tests according to coveralls. See:
> >>
> >> https://coveralls.io/builds/9672985/source?filename=src%2Fex_cmds2.c#L1527
> >>
> >> This pull requests adds test.
> >> I does not test the ":profdel" command as I did not understand well what 
> >> it does.
> >
> > Thanks, I'll include it.
> >
> > I wonder why it's so slow.  I noticed the started Vim instances never
> > explicitly exit, but adding :qall! didn't help.
> 
> Indeed, I now see that running Test_profile_func
> and Test_profile_file take about 2 sec each.  That's
> unexpectedly slow.
> 
> Ah, I see! Adding the -es option to Vim makes
> it almost instantaneous. I also see a that one of the
> test had an error (l:count should be used instead of count).
> I notice that by adding call assert_equal(0, v:shell_error)
> which failed.
> 
> I suspect that it's also why I had to disable the test on
> Windows. I'll re-enable the test on Windows to see if
> it passes on Appveyor all all those fixes.
> 
> New pull request coming soon...

Looking forward to that.  I also noticed a failure on OS/X, where the
"self" and "total" times happened to be the same.  Only one time is
displayed then.  I just sent out a fix for that.

-- 
Facepalm statement #2: "If there is a country without immigrants I'm going to
move there"

 /// 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.
For more options, visit https://groups.google.com/d/optout.


Patch 8.0.0194

2017-01-15 Fir de Conversatie Bram Moolenaar

Patch 8.0.0194 (after 8.0.0189)
Summary:profile tests fails if total and self time are equal
Problem:Profile tests fails if total and self time are equal.
Solution:   Make one time optional.
Files:  src/testdir/test_profile.vim


*** ../vim-8.0.0193/src/testdir/test_profile.vim2017-01-15 
15:22:14.162467173 +0100
--- src/testdir/test_profile.vim2017-01-15 21:09:52.377847944 +0100
***
*** 113,119 
call assert_equal('  " a comment',  
lines[9])
call assert_match('^\s*20\s\+\d\+\.\d\+\s\+\d\+\.\d\+\s\+call Foo()$', 
lines[10])
call assert_match('^\s*20\s\+\d\+\.\d\+\s\+endfor$',
lines[11])
!   call assert_match('^\s*2\s\+\d\+\.\d\+\s\+\d\+\.\d\+\s\+call Foo()$', 
lines[12])
call assert_equal('',   
lines[13])
  
call delete('Xprofile_file.vim')
--- 113,120 
call assert_equal('  " a comment',  
lines[9])
call assert_match('^\s*20\s\+\d\+\.\d\+\s\+\d\+\.\d\+\s\+call Foo()$', 
lines[10])
call assert_match('^\s*20\s\+\d\+\.\d\+\s\+endfor$',
lines[11])
!   " if self and total are equal we only get one number
!   call assert_match('^\s*2\s\+\(\d\+\.\d\+\s\+\)\=\d\+\.\d\+\s\+call Foo()$', 
lines[12])
call assert_equal('',   
lines[13])
  
call delete('Xprofile_file.vim')
*** ../vim-8.0.0193/src/version.c   2017-01-15 20:51:33.904962652 +0100
--- src/version.c   2017-01-15 21:11:04.745378587 +0100
***
*** 766,767 
--- 766,769 
  {   /* Add new patch number below this line */
+ /**/
+ 194,
  /**/

-- 
Life would be so much easier if we could just look at the source code.

 /// 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.
For more options, visit https://groups.google.com/d/optout.


Re: [vim/vim] Vim :profile command was not covered by tests (#1383)

2017-01-15 Fir de Conversatie Dominique Pellé
Bram Moolenaar wrote:

> Dominique Pellé wrote:
>
>> Vim :profile command was not covered by tests according to coveralls. See:
>>
>> https://coveralls.io/builds/9672985/source?filename=src%2Fex_cmds2.c#L1527
>>
>> This pull requests adds test.
>> I does not test the ":profdel" command as I did not understand well what it 
>> does.
>
> Thanks, I'll include it.
>
> I wonder why it's so slow.  I noticed the started Vim instances never
> explicitly exit, but adding :qall! didn't help.

Indeed, I now see that running Test_profile_func
and Test_profile_file take about 2 sec each.  That's
unexpectedly slow.

Ah, I see! Adding the -es option to Vim makes
it almost instantaneous. I also see a that one of the
test had an error (l:count should be used instead of count).
I notice that by adding call assert_equal(0, v:shell_error)
which failed.

I suspect that it's also why I had to disable the test on
Windows. I'll re-enable the test on Windows to see if
it passes on Appveyor all all those fixes.

New pull request coming soon...

Regards
Dominique

-- 
-- 
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.
For more options, visit https://groups.google.com/d/optout.


Patch 8.0.0193

2017-01-15 Fir de Conversatie Bram Moolenaar

Patch 8.0.0193 (after 8.0.0188)
Problem:Accidentally removed #ifdef.
Solution:   Put it back. (Masanori Misono)
Files:  src/move.c


*** ../vim-8.0.0192/src/move.c  2017-01-15 13:53:45.925629742 +0100
--- src/move.c  2017-01-15 20:46:42.434846318 +0100
***
*** 2841,2848 
--- 2841,2850 
restart_edit_save = restart_edit;
restart_edit = TRUE;
check_cursor();
+ # ifdef FEAT_SYN_HL
if (curwin->w_p_cul || curwin->w_p_cuc)
validate_cursor();
+ # endif
restart_edit = restart_edit_save;
  # ifdef FEAT_MBYTE
/* Correct cursor for multi-byte character. */
*** ../vim-8.0.0192/src/version.c   2017-01-15 17:18:52.684270653 +0100
--- src/version.c   2017-01-15 20:51:01.077174883 +0100
***
*** 766,767 
--- 766,769 
  {   /* Add new patch number below this line */
+ /**/
+ 193,
  /**/

-- 
FIRST HEAD:  Oh! quick! get the sword out I want to cut his head off.
THIRD HEAD:  Oh, cut your own head off.
SECOND HEAD: Yes - do us all a favour.
 "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.
For more options, visit https://groups.google.com/d/optout.


Re: Minor update to the todo.txt and version8.txt files

2017-01-15 Fir de Conversatie Bram Moolenaar

Yegappan wrote:

> I am attaching a minor update to the todo.txt and version8.txt
> files.

Thanks!

-- 
The greatest lies of all time:
  (1) The check is in the mail.
  (2) We have a really challenging assignment for you.
  (3) I love you.
  (4) All bugs have been fixed.
  (5) This won't hurt a bit.
  (6) Honey, I just need to debug this program and be home in 5 minutes.
  (7) I have just sent you an e-mail about that.
  (8) Of course I'll respect you in the morning.
  (9) I'm from the government, and I'm here to help you.

 /// 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.
For more options, visit https://groups.google.com/d/optout.


Re: Patch 8.0.0188

2017-01-15 Fir de Conversatie Bram Moolenaar

Masanori Misono wrote:

> 2017年1月15日日曜日 21時54分12秒 UTC+9 Bram Moolenaar:
> > Patch 8.0.0188 (after 8.0.0182)
> > Problem:Using NOT_VALID for redraw_later() to update the cursor
> > line/column highlighting is not efficient.
> > Solution:   Call validate_cursor() when 'cul' or 'cuc' is set.
> > Files:  src/move.c
> > 
> > 
> > *** ../vim-8.0.0187/src/move.c  2017-01-14 15:52:42.885489244 +0100
> > --- src/move.c  2017-01-15 13:46:37.008399578 +0100
> > ***
> > *** 2841,2857 
> > restart_edit_save = restart_edit;
> > restart_edit = TRUE;
> > check_cursor();
> > ! # ifdef FEAT_SYN_HL
> > !   if (curwin->w_p_cuc)
> > validate_cursor();
> > - # endif
> > restart_edit = restart_edit_save;
> >   # ifdef FEAT_MBYTE
> > /* Correct cursor for multi-byte character. */
> > if (has_mbyte)
> > mb_adjust_cursor();
> >   # endif
> > !   redraw_later(curwin->w_p_cul ? NOT_VALID : VALID);
> >   
> > /* Only scroll when 'scrollbind' hasn't done this. */
> > if (!curwin->w_p_scb)
> > --- 2841,2855 
> > restart_edit_save = restart_edit;
> > restart_edit = TRUE;
> > check_cursor();
> > !   if (curwin->w_p_cul || curwin->w_p_cuc)
> > validate_cursor();
> > restart_edit = restart_edit_save;
> >   # ifdef FEAT_MBYTE
> > /* Correct cursor for multi-byte character. */
> > if (has_mbyte)
> > mb_adjust_cursor();
> >   # endif
> > !   redraw_later(VALID);
> >   
> > /* Only scroll when 'scrollbind' hasn't done this. */
> > if (!curwin->w_p_scb)
> > *** ../vim-8.0.0187/src/version.c   2017-01-14 20:11:57.656841373 +0100
> > --- src/version.c   2017-01-15 13:52:54.537967550 +0100
> > ***
> > *** 766,767 
> > --- 766,769 
> >   {   /* Add new patch number below this line */
> > + /**/
> > + 188,
> >   /**/
> > 
> > -- 
> > ARTHUR: Right! Knights! Forward!
> >ARTHUR leads a charge toward the castle.  Various shots of them battling 
> > on,
> >despite being hit by a variety of farm animals.
> >  "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///
> 
> 
> Is it OK not to use #ifdef  FEAT_SYN_HL ~  #endif?

Right, accidentally remove that.

-- 
   They now pass three KNIGHTS impaled to a tree.  With their feet off the
   ground,  with one lance through the lot of them, they are skewered up
   like a barbecue.
 "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.
For more options, visit https://groups.google.com/d/optout.


Re: Patch 8.0.0188

2017-01-15 Fir de Conversatie Masanori Misono
Hi Bram,

2017年1月15日日曜日 21時54分12秒 UTC+9 Bram Moolenaar:
> Patch 8.0.0188 (after 8.0.0182)
> Problem:Using NOT_VALID for redraw_later() to update the cursor
> line/column highlighting is not efficient.
> Solution:   Call validate_cursor() when 'cul' or 'cuc' is set.
> Files:  src/move.c
> 
> 
> *** ../vim-8.0.0187/src/move.c2017-01-14 15:52:42.885489244 +0100
> --- src/move.c2017-01-15 13:46:37.008399578 +0100
> ***
> *** 2841,2857 
>   restart_edit_save = restart_edit;
>   restart_edit = TRUE;
>   check_cursor();
> ! # ifdef FEAT_SYN_HL
> ! if (curwin->w_p_cuc)
>   validate_cursor();
> - # endif
>   restart_edit = restart_edit_save;
>   # ifdef FEAT_MBYTE
>   /* Correct cursor for multi-byte character. */
>   if (has_mbyte)
>   mb_adjust_cursor();
>   # endif
> ! redraw_later(curwin->w_p_cul ? NOT_VALID : VALID);
>   
>   /* Only scroll when 'scrollbind' hasn't done this. */
>   if (!curwin->w_p_scb)
> --- 2841,2855 
>   restart_edit_save = restart_edit;
>   restart_edit = TRUE;
>   check_cursor();
> ! if (curwin->w_p_cul || curwin->w_p_cuc)
>   validate_cursor();
>   restart_edit = restart_edit_save;
>   # ifdef FEAT_MBYTE
>   /* Correct cursor for multi-byte character. */
>   if (has_mbyte)
>   mb_adjust_cursor();
>   # endif
> ! redraw_later(VALID);
>   
>   /* Only scroll when 'scrollbind' hasn't done this. */
>   if (!curwin->w_p_scb)
> *** ../vim-8.0.0187/src/version.c 2017-01-14 20:11:57.656841373 +0100
> --- src/version.c 2017-01-15 13:52:54.537967550 +0100
> ***
> *** 766,767 
> --- 766,769 
>   {   /* Add new patch number below this line */
> + /**/
> + 188,
>   /**/
> 
> -- 
> ARTHUR: Right! Knights! Forward!
>ARTHUR leads a charge toward the castle.  Various shots of them battling 
> on,
>despite being hit by a variety of farm animals.
>  "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///


Is it OK not to use #ifdef  FEAT_SYN_HL ~  #endif?


diff --git a/src/move.c b/src/move.c
index e2639fd20..d238c0e9a 100644
--- a/src/move.c
+++ b/src/move.c
@@ -2841,8 +2841,10 @@ do_check_cursorbind(void)
restart_edit_save = restart_edit;
restart_edit = TRUE;
check_cursor();
+#ifdef FEAT_SYN_HL
if (curwin->w_p_cul || curwin->w_p_cuc)
validate_cursor();
+#endif
restart_edit = restart_edit_save;
 # ifdef FEAT_MBYTE
/* Correct cursor for multi-byte character. *


-- 
Best regards, 
Masanori Misono

-- 
-- 
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.
For more options, visit https://groups.google.com/d/optout.


Minor update to the todo.txt and version8.txt files

2017-01-15 Fir de Conversatie Yegappan Lakshmanan
Hi,

I am attaching a minor update to the todo.txt and version8.txt
files.

- Yegappan

-- 
-- 
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.
For more options, visit https://groups.google.com/d/optout.
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index 772d107..6320376 100644
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -972,11 +972,6 @@ highlighted as the cursor line.  (Alessandro Ivaldi, 2013 
Jun 4)
 
 Two highlighting bugs. (ZyX, 2013 Aug 18)
 
-Patch to add the bufferlist() function. (Yegappan Lakshmanan, 2013 May 5)
-May 17: with winlist() and tabpagelist().
-May 19: with local variables.
-May 28: with options
-
 Patch to support 'u' in interactive substitute. (Christian Brabandt, 2012 Sep
 28)  With tests: Oct 9.
 
diff --git a/runtime/doc/version8.txt b/runtime/doc/version8.txt
index 9cf047b..baec116 100644
--- a/runtime/doc/version8.txt
+++ b/runtime/doc/version8.txt
@@ -230,6 +230,7 @@ Ex commands: ~
 Ex command modifiers: ~
 
 |:keeppatterns|following command keeps search pattern history
+||   supply command modifiers to user defined commands
 
 
 New and extended functions: ~


Patch 8.0.0192

2017-01-15 Fir de Conversatie Bram Moolenaar

Patch 8.0.0192 (after 8.0.0190)
Problem:Build fails with tiny features.
Solution:   Change #ifdef for hash_clear().  Avoid warning for unused
argument.
Files:  src/hashtab.c, src/if_cscope.c


*** ../vim-8.0.0191/src/hashtab.c   2016-11-10 20:01:41.193582919 +0100
--- src/hashtab.c   2017-01-15 17:16:08.469346807 +0100
***
*** 70,76 
  ht->ht_mask = HT_INIT_SIZE - 1;
  }
  
- #if defined(FEAT_EVAL) || defined(FEAT_SYN_HL) || defined(PROTO)
  /*
   * Free the array of a hash table.  Does not free the items it contains!
   * If "ht" is not freed then you should call hash_init() next!
--- 70,75 
***
*** 104,110 
  }
  hash_clear(ht);
  }
- #endif
  
  /*
   * Find "key" in hashtable "ht".  "key" must not be NULL.
--- 103,108 
*** ../vim-8.0.0191/src/if_cscope.c 2016-11-12 19:16:42.21214 +0100
--- src/if_cscope.c 2017-01-15 17:15:36.341557334 +0100
***
*** 207,213 
  static void
  do_cscope_general(
  exarg_T   *eap,
! int   make_split) /* whether to split window */
  {
  cscmd_T *cmdp;
  
--- 207,213 
  static void
  do_cscope_general(
  exarg_T   *eap,
! int   make_split UNUSED) /* whether to split window */
  {
  cscmd_T *cmdp;
  
*** ../vim-8.0.0191/src/version.c   2017-01-15 16:58:59.448070798 +0100
--- src/version.c   2017-01-15 17:18:23.808459896 +0100
***
*** 766,767 
--- 766,769 
  {   /* Add new patch number below this line */
+ /**/
+ 192,
  /**/

-- 
   He was not in the least bit scared to be mashed into a pulp
   Or to have his eyes gouged out and his elbows broken;
   To have his kneecaps split and his body burned away
   And his limbs all hacked and mangled, brave Sir Robin.
 "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.
For more options, visit https://groups.google.com/d/optout.


Patch 8.0.0191

2017-01-15 Fir de Conversatie Bram Moolenaar

Patch 8.0.0191 (after 8.0.0187)
Problem:Some systems do not have ruby_sysinit(), causing the build to
fail.
Solution:   Clean up how ruby_sysinit() and NtInitialize() are used. (Taro
Muraoka)
Files:  src/if_ruby.c


*** ../vim-8.0.0190/src/if_ruby.c   2017-01-14 20:11:57.656841373 +0100
--- src/if_ruby.c   2017-01-15 16:58:20.360324838 +0100
***
*** 303,308 
--- 303,309 
  # define ruby_init_loadpath   dll_ruby_init_loadpath
  # ifdef WIN3264
  #  define NtInitializedll_NtInitialize
+ #  define ruby_sysinitdll_ruby_sysinit
  #  if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 18
  #   define rb_w32_snprintfdll_rb_w32_snprintf
  #  endif
***
*** 405,410 
--- 406,412 
  static void (*dll_ruby_init_loadpath) (void);
  # ifdef WIN3264
  static void (*dll_NtInitialize) (int*, char***);
+ static void (*dll_ruby_sysinit) (int*, char***);
  #  if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 18
  static int (*dll_rb_w32_snprintf)(char*, size_t, const char*, ...);
  #  endif
***
*** 594,606 
  {"ruby_init", (RUBY_PROC*)_ruby_init},
  {"ruby_init_loadpath", (RUBY_PROC*)_ruby_init_loadpath},
  # ifdef WIN3264
- {
  #  if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER < 19
! "NtInitialize",
  #  else
! "ruby_sysinit",
  #  endif
-   (RUBY_PROC*)_NtInitialize},
  #  if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 18
  {"rb_w32_snprintf", (RUBY_PROC*)_rb_w32_snprintf},
  #  endif
--- 596,606 
  {"ruby_init", (RUBY_PROC*)_ruby_init},
  {"ruby_init_loadpath", (RUBY_PROC*)_ruby_init_loadpath},
  # ifdef WIN3264
  #  if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER < 19
! {"NtInitialize", (RUBY_PROC*)_NtInitialize},
  #  else
! {"ruby_sysinit", (RUBY_PROC*)_ruby_sysinit},
  #  endif
  #  if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 18
  {"rb_w32_snprintf", (RUBY_PROC*)_rb_w32_snprintf},
  #  endif
*** ../vim-8.0.0190/src/version.c   2017-01-15 16:52:47.226488764 +0100
--- src/version.c   2017-01-15 16:57:29.060658203 +0100
***
*** 766,767 
--- 766,769 
  {   /* Add new patch number below this line */
+ /**/
+ 191,
  /**/

-- 
The software said it requires Windows 95 or better, so I installed Linux.

 /// 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.
For more options, visit https://groups.google.com/d/optout.


Patch 8.0.0190

2017-01-15 Fir de Conversatie Bram Moolenaar

Patch 8.0.0190
Summary:finding duplicate tags uses a slow linear search
Problem:Detecting duplicate tags uses a slow linear search.
Solution:   Use a much faster hash table solution. (James McCoy, closes #1046)
But don't add hi_keylen, it makes hash tables 50% bigger.
Files:  src/tag.c


*** ../vim-8.0.0189/src/tag.c   2016-12-01 21:32:28.678025257 +0100
--- src/tag.c   2017-01-15 16:47:11.816668598 +0100
***
*** 35,43 
  } tagptrs_T;
  
  /*
!  * The matching tags are first stored in ga_match[].  In which one depends on
!  * the priority of the match.
!  * At the end, the matches from ga_match[] are concatenated, to make a list
   * sorted on priority.
   */
  #define MT_ST_CUR 0   /* static match in current file */
--- 35,43 
  } tagptrs_T;
  
  /*
!  * The matching tags are first stored in one of the ht_match[] hash tables.  
In
!  * which one depends on the priority of the match.
!  * At the end, all the matches from ht_match[] are concatenated, to make a 
list
   * sorted on priority.
   */
  #define MT_ST_CUR 0   /* static match in current file */
***
*** 1341,1352 
  int   is_etag;/* current file is emaces style 
*/
  #endif
  
! struct match_found
! {
!   int len;/* nr of chars of match[] to be compared */
!   char_u  match[1];   /* actually longer */
! } *mfp, *mfp2;
! garray_T  ga_match[MT_COUNT];
  int   match_count = 0;/* number of matches 
found */
  char_u**matches;
  int   mtt;
--- 1341,1349 
  int   is_etag;/* current file is emaces style 
*/
  #endif
  
! char_u*mfp;
! hashtab_T ht_match[MT_COUNT];
! hash_Thash = 0;
  int   match_count = 0;/* number of matches 
found */
  char_u**matches;
  int   mtt;
***
*** 1402,1417 
  vimconv.vc_type = CONV_NONE;
  #endif
  
! /*
!  * Allocate memory for the buffers that are used
!  */
  lbuf = alloc(lbuf_size);
  tag_fname = alloc(MAXPATHL + 1);
  #ifdef FEAT_EMACS_TAGS
  ebuf = alloc(LSIZE);
  #endif
  for (mtt = 0; mtt < MT_COUNT; ++mtt)
!   ga_init2(_match[mtt], (int)sizeof(struct match_found *), 100);
  
  /* check for out of memory situation */
  if (lbuf == NULL || tag_fname == NULL
--- 1399,1414 
  vimconv.vc_type = CONV_NONE;
  #endif
  
! /*
!  * Allocate memory for the buffers that are used
!  */
  lbuf = alloc(lbuf_size);
  tag_fname = alloc(MAXPATHL + 1);
  #ifdef FEAT_EMACS_TAGS
  ebuf = alloc(LSIZE);
  #endif
  for (mtt = 0; mtt < MT_COUNT; ++mtt)
!   hash_init(_match[mtt]);
  
  /* check for out of memory situation */
  if (lbuf == NULL || tag_fname == NULL
***
*** 2206,2215 
}
  
/*
!* If a match is found, add it to ga_match[].
 */
if (match)
{
  #ifdef FEAT_CSCOPE
if (use_cscope)
{
--- 2203,2214 
}
  
/*
!* If a match is found, add it to ht_match[].
 */
if (match)
{
+   int len = 0;
+ 
  #ifdef FEAT_CSCOPE
if (use_cscope)
{
***
*** 2262,2440 
}
  
/*
!* Add the found match in ga_match[mtt], avoiding duplicates.
 * Store the info we need later, which depends on the kind of
 * tags we are dealing with.
 */
!   if (ga_grow(_match[mtt], 1) == OK)
{
-   int len;
-   int heuristic;
- 
-   if (help_only)
-   {
  #ifdef FEAT_MULTI_LANG
  # define ML_EXTRA 3
  #else
  # define ML_EXTRA 0
  #endif
!   /*
!* Append the help-heuristic number after the
!* tagname, for sorting it later.
!*/
!   *tagp.tagname_end = NUL;
!   len = (int)(tagp.tagname_end - tagp.tagname);
!   mfp = (struct match_found *)
!alloc((int)sizeof(struct match_found) + len
!+ 10 + ML_EXTRA);
!   if (mfp != NULL)
!   {
!   /* "len" includes the language and the NUL, but
!* not the priority. */
!   mfp->len = len + ML_EXTRA + 1;
! #define ML_HELP_LEN 6
!   p = mfp->match;
!   STRCPY(p, tagp.tagname);
  #ifdef FEAT_MULTI_LANG
!   p[len] = '@';
!   STRCPY(p + len + 1, 

Re: Patch 8.0.0187

2017-01-15 Fir de Conversatie Ken Takata
Hi,

2017/1/15 Sun 23:46:11 UTC+9 Taro MURAOKA wrote:
> Please include my patch.
> 
> Both patches work correctly.
> But my version also removes complex symbol loading.
> (ruby_sysinit was loaded as NtInitialize)
> This kind of complexity causes this problem.
> I believe that it should be removed.

Agree.

Regards,
Ken Takata

-- 
-- 
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.
For more options, visit https://groups.google.com/d/optout.


Re: checker of using python2

2017-01-15 Fir de Conversatie MURAOKA Taro
Thank you for comments.
I'll try to improve ;)

2017-01-15 21:54 GMT+09:00 Bram Moolenaar :
>
> Taro Muraoka wrote:
>
>> Hi the list and Bram.
>>
>> I suggest to add checker of using Python 2.x
>>
>> Python 2 will be retire 2020, and it is not so far.
>> https://pythonclock.org/
>> To stop using Python 2.x suddenly is not easy for Vim users.
>> Because it is difficult to know which scripts are using Python 2.
>> So vim may help to detect it.
>>
>> I have wrote a patch for proof of the concept.
>> Please check it:
>> https://gist.github.com/koron/90f6b56b73c211e059a3b8ab1db335a9
>>
>> My patch do three things:
>>
>> 1. Show a waring message at only once when Python 2.x is used.
>> 2. The warning could be suppressed by 'nopy2warn' option.
>> 3. :py2usingfrom shows list of files which use Python 2.x
>>
>> Names for command and option which I added are not good, I think.
>> Please replace those by better names.
>
> Can be useful, if the user cares about avoiding Python 2.
> But it should not warn by default.
>
> It should be possible to add a flag in scriptitem_T.  And the line
> number would be useful too.  The sourcing_lnum has the value.
>
> --
> MAN: You don't frighten us, English pig-dog!  Go and boil your bottoms,
>  son of a silly person.  I blow my nose on you, so-called Arthur-king,
>  you and your silly English K...kaniggets.
>He puts hands to his ears and blows a raspberry.
>  "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///



-- 
MURAOKA Taro 

-- 
-- 
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.
For more options, visit https://groups.google.com/d/optout.


Re: Patch 8.0.0187

2017-01-15 Fir de Conversatie MURAOKA Taro
Please include my patch.

Both patches work correctly.
But my version also removes complex symbol loading.
(ruby_sysinit was loaded as NtInitialize)
This kind of complexity causes this problem.
I believe that it should be removed.

Thanks.

2017-01-15 22:04 GMT+09:00 Bram Moolenaar :
>
> Taro Muraoka wrote:
>
>> > I'm building vim on Windows 7 with MinGW. After compiling the latest
>> > pull I get:
>> >
>> > 
>> > [...]
>> > gobjZi686/if_ruby.o:if_ruby.c:(.text+0x862): undefined reference to
>> > `ruby_sysinit'
>> > gobjZi686/if_ruby.o:if_ruby.c:(.text+0x23fa): undefined reference to
>> > `ruby_sysinit'
>> > collect2.exe: error: ld returned 1 exit status
>> > make: *** [gvim.exe] Error 1
>> > Error by compiling gvim.exe
>> > 
>> >
>> > Many thanks in advance,
>> >
>> > --
>> > Cesar
>>
>>
>> I have wrote an attached patch to fix this.
>> Please try it.
>
> Ken Takata also sent a suggested patch.  Can you decide which one I
> should include?
>
> --
> ARTHUR: (as the MAN next to him is squashed by a sheep) Knights!  Run away!
>Midst echoing shouts of "run away" the KNIGHTS retreat to cover with the 
> odd
>cow or goose hitting them still.  The KNIGHTS crouch down under cover.
>  "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///



-- 
MURAOKA Taro 

-- 
-- 
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.
For more options, visit https://groups.google.com/d/optout.


Re: [vim/vim] Vim :profile command was not covered by tests (#1383)

2017-01-15 Fir de Conversatie Bram Moolenaar

Dominique Pellé wrote:

> Vim :profile command was not covered by tests according to coveralls. See:
> 
> https://coveralls.io/builds/9672985/source?filename=src%2Fex_cmds2.c#L1527
> 
> This pull requests adds test.
> I does not test the ":profdel" command as I did not understand well what it 
> does.

Thanks, I'll include it.

I wonder why it's so slow.  I noticed the started Vim instances never
explicitly exit, but adding :qall! didn't help.

-- 
In his lifetime van Gogh painted 486 oil paintings. Oddly enough, 8975
of them are to be found in the United States.

 /// 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.
For more options, visit https://groups.google.com/d/optout.


Patch 8.0.0189

2017-01-15 Fir de Conversatie Bram Moolenaar

Patch 8.0.0189
Summary:profile commands are not tested
Problem:There are no tests for the :profile command.
Solution:   Add tests. (Dominique Pelle)
Files:  src/Makefile, src/testdir/Make_all.mak,
src/testdir/test_profile.vim


*** ../vim-8.0.0188/src/Makefile2017-01-10 16:12:11.736767011 +0100
--- src/Makefile2017-01-15 15:07:50.940216456 +0100
***
*** 2147,2152 
--- 2147,2153 
test_partial \
test_perl \
test_popup \
+   test_profile \
test_quickfix \
test_regexp_latin \
test_regexp_utf8 \
*** ../vim-8.0.0188/src/testdir/Make_all.mak2017-01-13 22:30:03.761030349 
+0100
--- src/testdir/Make_all.mak2017-01-15 15:06:28.532766499 +0100
***
*** 175,180 
--- 175,181 
test_normal.res \
test_packadd.res \
test_perl.res \
+   test_profile.res \
test_quickfix.res \
test_ruby.res \
test_search.res \
*** ../vim-8.0.0188/src/testdir/test_profile.vim2017-01-15 
15:21:14.646863439 +0100
--- src/testdir/test_profile.vim2017-01-15 15:17:49.308229678 +0100
***
*** 0 
--- 1,135 
+ " Test Vim profiler
+ if !has('profile')
+   finish
+ endif
+ 
+ func Test_profile_func()
+   if !has('unix')
+ return
+   endif
+   let lines = [
+ \ "func! Foo1()",
+ \ "endfunc",
+ \ "func! Foo2()",
+ \ "  let count = 100",
+ \ "  while count > 0",
+ \ "let count = count - 1",
+ \ "  endwhile",
+ \ "endfunc",
+ \ "func! Foo3()",
+ \ "endfunc",
+ \ "func! Bar()",
+ \ "endfunc",
+ \ "call Foo1()",
+ \ "call Foo1()",
+ \ "profile pause",
+ \ "call Foo1()",
+ \ "profile continue",
+ \ "call Foo2()",
+ \ "call Foo3()",
+ \ "call Bar()",
+ \ "if !v:profiling",
+ \ "  delfunc Foo2",
+ \ "endif",
+ \ "delfunc Foo3",
+ \ ]
+ 
+   call writefile(lines, 'Xprofile_func.vim')
+   let a = system(v:progpath
+ \ . " -u NONE -i NONE --noplugin"
+ \ . " -c 'profile start Xprofile_func.log'"
+ \ . " -c 'profile func Foo*'"
+ \ . " -c 'so Xprofile_func.vim'"
+ \ . " -c 'qall!'")
+   let lines = readfile('Xprofile_func.log')
+ 
+   call assert_equal(28, len(lines))
+ 
+   call assert_equal('FUNCTION  Foo1()', lines[0])
+   call assert_equal('Called 2 times',   lines[1])
+   call assert_equal('FUNCTION  Foo2()', lines[7])
+   call assert_equal('Called 1 time',lines[8])
+ 
+   " - Foo1() is called 3 times but should be reported as called twice
+   "   since one call is in between "profile pause" .. "profile continue".
+   " - Foo2() should come before Foo1() since Foo1() does much more work.\
+   " - Foo3() is not reported because function is deleted.
+   " - Unlike Foo3(), Foo2() should not be deleted since there is a check
+   "   for v:profiling.
+   " - Bar() is not reported since it does not match "profile func Foo*".
+   call assert_equal('FUNCTIONS SORTED ON TOTAL TIME',lines[18])
+   call assert_equal('count  total (s)   self (s)  function', lines[19])
+   call assert_match('^\s*1\s\+\d\+\.\d\+\s\+Foo2()$',lines[20])
+   call assert_match('^\s*2\s\+\d\+\.\d\+\s\+Foo1()$',lines[21])
+   call assert_equal('',  lines[22])
+   call assert_equal('FUNCTIONS SORTED ON SELF TIME', lines[23])
+   call assert_equal('count  total (s)   self (s)  function', lines[24])
+   call assert_match('^\s*1\s\+\d\+\.\d\+\s\+Foo2()$',lines[25])
+   call assert_match('^\s*2\s\+\d\+\.\d\+\s\+Foo1()$',lines[26])
+   call assert_equal('',  lines[27])
+ 
+   call delete('Xprofile_func.vim')
+   call delete('Xprofile_func.log')
+ endfunc
+ 
+ func Test_profile_file()
+   if !has('unix')
+ return
+   endif
+   let lines = [
+ \ 'func! Foo()',
+ \ 'endfunc',
+ \ 'for i in range(10)',
+ \ '  " a comment',
+ \ '  call Foo()',
+ \ 'endfor',
+ \ 'call Foo()',
+ \ ]
+ 
+   call writefile(lines, 'Xprofile_file.vim')
+   let a = system(v:progpath
+ \ . " -u NONE -i NONE --noplugin"
+ \ . " -c 'profile start Xprofile_file.log'"
+ \ . " -c 'profile file Xprofile_file.vim'"
+ \ . " -c 'so Xprofile_file.vim'"
+ \ . " -c 'so Xprofile_file.vim'"
+ \ . " -c 'qall!'")
+ 
+   let lines = readfile('Xprofile_file.log')
+ 
+   call assert_equal(14, len(lines))
+ 
+   call assert_match('^SCRIPT .*Xprofile_file.vim$',   
lines[0])
+   call assert_equal('Sourced 2 times',
lines[1])
+   call assert_match('^Total time:\s\+\d\+\.\d\+$',
lines[2])
+   call assert_match('^ Self time:\s\+\d\+\.\d\+$',
lines[3])
+   call assert_equal('',   
lines[4])
+   call assert_equal('count  total (s)   self (s)',

Re: Patch 8.0.0187

2017-01-15 Fir de Conversatie Bram Moolenaar

Taro Muraoka wrote:

> > I'm building vim on Windows 7 with MinGW. After compiling the latest
> > pull I get:
> > 
> > 
> > [...]
> > gobjZi686/if_ruby.o:if_ruby.c:(.text+0x862): undefined reference to 
> > `ruby_sysinit'
> > gobjZi686/if_ruby.o:if_ruby.c:(.text+0x23fa): undefined reference to 
> > `ruby_sysinit'
> > collect2.exe: error: ld returned 1 exit status
> > make: *** [gvim.exe] Error 1
> > Error by compiling gvim.exe
> > 
> > 
> > Many thanks in advance,
> > 
> > -- 
> > Cesar
> 
> 
> I have wrote an attached patch to fix this.
> Please try it.

Ken Takata also sent a suggested patch.  Can you decide which one I
should include?

-- 
ARTHUR: (as the MAN next to him is squashed by a sheep) Knights!  Run away!
   Midst echoing shouts of "run away" the KNIGHTS retreat to cover with the odd
   cow or goose hitting them still.  The KNIGHTS crouch down under cover.
 "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.
For more options, visit https://groups.google.com/d/optout.


Re: Patch 8.0.0181

2017-01-15 Fir de Conversatie Bram Moolenaar

Masanori Misono wrote:

> Hi Bram,
> 
> 2017年1月14日土曜日 23時21分21秒 UTC+9 Bram Moolenaar:
> > Hirohito Higashi wrote:
> > 
> > > Hi Bram,
> > > 
> > > 2017-1-14(Sat) 22:54:57 UTC+9 Bram Moolenaar:
> > > > Patch 8.0.0181
> > > > Summary:with cursorbind set cursor column highlighting is off
> > > > Problem:When 'cursorbind' and 'cursorcolumn' are both on, the column
> > > > highlignt in non-current windows is wrong.
> > > > Solution:   Add validate_cursor(). (Masanori Misono, closes #1372)
> > > > Files:  src/move.c
> > > > 
> > > > 
> > > > *** ../vim-8.0.0180/src/move.c  2016-11-06 15:25:37.693627473 +0100
> > > > --- src/move.c  2017-01-12 22:32:01.408155308 +0100
> > > > ***
> > > > *** 2841,2846 
> > > > --- 2841,2850 
> > > > restart_edit_save = restart_edit;
> > > > restart_edit = TRUE;
> > > > check_cursor();
> > > > + # ifdef FEAT_SYN_HL
> > > > +   if (curwin->w_p_cuc)
> > > > +   validate_cursor();
> > > > + # endif
> > > > restart_edit = restart_edit_save;
> > > >   # ifdef FEAT_MBYTE
> > > > /* Correct cursor for multi-byte character. */
> > > > *** ../vim-8.0.0180/src/version.c   2017-01-14 14:36:03.229775080 
> > > > +0100
> > > > --- src/version.c   2017-01-14 14:53:33.111310935 +0100
> > > > ***
> > > > *** 766,767 
> > > > --- 766,769 
> > > >   {   /* Add new patch number below this line */
> > > > + /**/
> > > > + 181,
> > > >   /**/
> > > 
> > > Is the following patch correct?
> > > https://groups.google.com/d/msg/vim_dev/afsWQ48bfn0/xF-mCefjBwAJ
> > 
> > It works for me.
> > 
> > -- 
> > God made the integers; all else is the work of Man.
> > -- Kronecker
> > 
> >  /// 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///
> 
> 
> If we only set cursorbind and cursorline only, validate_cursor() is not 
> called.
> Maybe we need to do something like following:
> 
> diff --git a/src/move.c b/src/move.c
> index 86b19aafc..ff522c02c 100644
> --- a/src/move.c
> +++ b/src/move.c
> @@ -2841,10 +2841,12 @@ do_check_cursorbind(void)
> restart_edit_save = restart_edit;
> restart_edit = TRUE;
> check_cursor();
> +   if (curwin->w_p_crb
>  # ifdef FEAT_SYN_HL
> -   if (curwin->w_p_cuc)
> -   validate_cursor();
> +  || curwin->w_p_cuc
>  # endif
> +  )
> +   validate_cursor();
> restart_edit = restart_edit_save;
>  # ifdef FEAT_MBYTE
> /* Correct cursor for multi-byte character. */

Checking w_p_crb is not needed, it is already checked in the "if" above.

I solved it by using NOT_VALID for redraw_later(), but now relaize that
is less efficient than calling validate_cursor() when 'cuc' or 'cul' is
set.

-- 
Ten bugs in the hand is better than one as yet undetected.

 /// 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.
For more options, visit https://groups.google.com/d/optout.


Re: Inconsistency within indent/*.vim built-ins

2017-01-15 Fir de Conversatie Bram Moolenaar

yegortimoshenko wrote:

> Indent files for some languages (clojure.vim, scala.vim, sml.vim) set
> default shiftwidth, while others (most, including javascript.vim,
> ruby.vim) don't. This causes the latter to default to 1 tab per
> indentation level in Vim, even though e.g. JavaScript and Ruby is
> typically indented with 2 spaces in the wild. That could certainly use
> some streamlining, and I believe It'd be great if Vim used
> community-accepted standard indentation for all languages by default,
> but there might be a reverse-compatibility issue too.
> 
> Most indent files haven't been updated for the last 5 years, and I
> might be missing historical perspective.
> So what do you think?

Mostly changes to indent setting upset users.  If nobody complains,
there is just a theoretical cleanup idea, better leave it alone.

The reasoning is that some languages have a preferred or recommended
style.  If that is widely supported then the indent script can use those
values.  If not, then better keep whatever the user has set.  One can
always set the values in an "after" script.

-- 
   A cow comes flying over the battlements,  lowing aggressively.  The cow
   lands on GALAHAD'S PAGE, squashing him completely.
 "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.
For more options, visit https://groups.google.com/d/optout.


Re: checker of using python2

2017-01-15 Fir de Conversatie Bram Moolenaar

Taro Muraoka wrote:

> Hi the list and Bram.
> 
> I suggest to add checker of using Python 2.x
> 
> Python 2 will be retire 2020, and it is not so far.
> https://pythonclock.org/
> To stop using Python 2.x suddenly is not easy for Vim users.
> Because it is difficult to know which scripts are using Python 2.
> So vim may help to detect it.
> 
> I have wrote a patch for proof of the concept.
> Please check it:
> https://gist.github.com/koron/90f6b56b73c211e059a3b8ab1db335a9
> 
> My patch do three things:
> 
> 1. Show a waring message at only once when Python 2.x is used.
> 2. The warning could be suppressed by 'nopy2warn' option.
> 3. :py2usingfrom shows list of files which use Python 2.x
> 
> Names for command and option which I added are not good, I think.
> Please replace those by better names.

Can be useful, if the user cares about avoiding Python 2.
But it should not warn by default.

It should be possible to add a flag in scriptitem_T.  And the line
number would be useful too.  The sourcing_lnum has the value.

-- 
MAN: You don't frighten us, English pig-dog!  Go and boil your bottoms,
 son of a silly person.  I blow my nose on you, so-called Arthur-king,
 you and your silly English K...kaniggets.
   He puts hands to his ears and blows a raspberry.
 "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.
For more options, visit https://groups.google.com/d/optout.


Patch 8.0.0188

2017-01-15 Fir de Conversatie Bram Moolenaar

Patch 8.0.0188 (after 8.0.0182)
Problem:Using NOT_VALID for redraw_later() to update the cursor
line/column highlighting is not efficient.
Solution:   Call validate_cursor() when 'cul' or 'cuc' is set.
Files:  src/move.c


*** ../vim-8.0.0187/src/move.c  2017-01-14 15:52:42.885489244 +0100
--- src/move.c  2017-01-15 13:46:37.008399578 +0100
***
*** 2841,2857 
restart_edit_save = restart_edit;
restart_edit = TRUE;
check_cursor();
! # ifdef FEAT_SYN_HL
!   if (curwin->w_p_cuc)
validate_cursor();
- # endif
restart_edit = restart_edit_save;
  # ifdef FEAT_MBYTE
/* Correct cursor for multi-byte character. */
if (has_mbyte)
mb_adjust_cursor();
  # endif
!   redraw_later(curwin->w_p_cul ? NOT_VALID : VALID);
  
/* Only scroll when 'scrollbind' hasn't done this. */
if (!curwin->w_p_scb)
--- 2841,2855 
restart_edit_save = restart_edit;
restart_edit = TRUE;
check_cursor();
!   if (curwin->w_p_cul || curwin->w_p_cuc)
validate_cursor();
restart_edit = restart_edit_save;
  # ifdef FEAT_MBYTE
/* Correct cursor for multi-byte character. */
if (has_mbyte)
mb_adjust_cursor();
  # endif
!   redraw_later(VALID);
  
/* Only scroll when 'scrollbind' hasn't done this. */
if (!curwin->w_p_scb)
*** ../vim-8.0.0187/src/version.c   2017-01-14 20:11:57.656841373 +0100
--- src/version.c   2017-01-15 13:52:54.537967550 +0100
***
*** 766,767 
--- 766,769 
  {   /* Add new patch number below this line */
+ /**/
+ 188,
  /**/

-- 
ARTHUR: Right! Knights! Forward!
   ARTHUR leads a charge toward the castle.  Various shots of them battling on,
   despite being hit by a variety of farm animals.
 "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.
For more options, visit https://groups.google.com/d/optout.


Re: [vim/vim] patch 8.0.0187: cant build with new Ruby version (fe6ce33)

2017-01-15 Fir de Conversatie avalan_che
在 2017年1月15日星期日 UTC+8上午9:02:22,MURAOKA Taro写道:
> Failed to build with ruby/dyn.
> 
> 
> —
> You are receiving this because you are subscribed to this thread.
> Reply to this email directly, view it on GitHub

Here too.

Mingw/ruby2.3: undefined reference to `ruby_sysinit'

-- 
-- 
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.
For more options, visit https://groups.google.com/d/optout.