re-grateful, i think

2018-06-23 Fir de Conversatie tooth pik
looking further i trip over something called varsofttabstop

sounds like just the thing, if options.txt is to be believed

forgive the hyperbole, i think

-- 
-- 
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: i am such an ingrate, forgive me

2018-06-23 Fir de Conversatie tooth pik
yes, as i believe i stated several times

having expandtab set is how i live -- if 'vartabstop' is rendered useless
from that then useless it will remain

i will go back to the drawing board for my own home-brew tab stop manager,
although as a possible cheat i'll be peaking in some syntax/cobol.vim or
other syntax modules for anyone mapping  to something interesting

On Sat, Jun 23, 2018 at 4:29 PM, Christ van Willegen 
wrote:

> Do you have expandtabs set? That would explain this, I think...
>
> Christ van Willegen
>
> --
> --
> 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.
>

-- 
-- 
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: i am such an ingrate, forgive me

2018-06-23 Fir de Conversatie tooth pik
as would i, but see for yourself

i've tried, however hysterically, and failed at every attempt to get useful
activity out of them

On Sat, Jun 23, 2018 at 5:13 PM, Tony Mechelynck <
antoine.mechely...@gmail.com> wrote:

> On Sat, Jun 23, 2018 at 11:29 PM, Christ van Willegen
>  wrote:
> > Do you have expandtabs set? That would explain this, I think...
> >
> > Christ van Willegen
>
> I haven't tried them yet, but I would expect
>
> :set vartabstop=4,20,10,8
>
> to mean that hitting the tab key moves the cursor forward to the first
> one encountered among columns 5, 25, 35, 43, 51, 59, 67, 75, …,
> filling the intervening columns either with one hard tab (if
> 'noexpandtab') or with as many spaces as necessary (if 'expandtab'),
> similarly to what happened some 60 or so years ago when I set the tabs
> on the backside of the paper carriage guide of my Underwood
> typewriter, an old hand-me-down from my grandfather who had got
> himself a newer model. (That typewriter looked more or less like the
> one at https://commons.wikimedia.org/wiki/File:The_Childrens_
> Museum_of_Indianapolis_-_Typewriter.jpg
> and it had adjustable tabs.)
>
> Best regards,
> Tony.
>
> --
> --
> 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.
>

-- 
-- 
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: i am such an ingrate, forgive me

2018-06-23 Fir de Conversatie Tony Mechelynck
On Sat, Jun 23, 2018 at 11:29 PM, Christ van Willegen
 wrote:
> Do you have expandtabs set? That would explain this, I think...
>
> Christ van Willegen

I haven't tried them yet, but I would expect

:set vartabstop=4,20,10,8

to mean that hitting the tab key moves the cursor forward to the first
one encountered among columns 5, 25, 35, 43, 51, 59, 67, 75, …,
filling the intervening columns either with one hard tab (if
'noexpandtab') or with as many spaces as necessary (if 'expandtab'),
similarly to what happened some 60 or so years ago when I set the tabs
on the backside of the paper carriage guide of my Underwood
typewriter, an old hand-me-down from my grandfather who had got
himself a newer model. (That typewriter looked more or less like the
one at 
https://commons.wikimedia.org/wiki/File:The_Childrens_Museum_of_Indianapolis_-_Typewriter.jpg
and it had adjustable tabs.)

Best regards,
Tony.

-- 
-- 
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: i am such an ingrate, forgive me

2018-06-23 Fir de Conversatie Christ van Willegen
Do you have expandtabs set? That would explain this, I think...

Christ van Willegen

-- 
-- 
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.


i am such an ingrate, forgive me

2018-06-23 Fir de Conversatie tooth pik
i did pop the champagne when vartabs were announced, but find my excitement
dampened when i try them out -- they are not column-centric, like tabs on
the typewriters of yore, but something else entirely

indeed, when i turn on expandtabs, as i like to do, with

set vartabs=4,20,10,8

as the help implies, it interprets each tab as the first, because expandtab
has expanded the last one into spaces making each subsequent tab into the
first, so it just keeps adding 4 spaces

the meaning of vartabs, to me, are tabs that i can define like column
numbers -- as anyone old enough to have used an actual typewriter knows,
and might be coerced into describing if plyed with gin

first i define a set of tabs

then i start typing -- any time i hit the tab key spaces are inserted up to
the next defined tab key -- if i type past the first three tabstops and hit
the tab key it will insert spaces to make the line as long as defined by
the 4th tabstop position

this would be useful for cobol and other programmers for whom column
numbers are so significant, not just ingrates like me who want them to
align columns in his Plan

-- 
-- 
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.1.0104

2018-06-23 Fir de Conversatie Tony Mechelynck
On Sat, Jun 23, 2018 at 5:15 PM, Bram Moolenaar  wrote:
>
> Patch 8.1.0104
> Problem:Can't build without the +eval feature.
> Solution:   Add #ifdef.
> Files:  src/regexp_nfa.c

Now my Tiny build compiles again. Thanks Bram!

Best regards,
Tony.

-- 
-- 
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.


Warning message seen when building tiny version of Vim on MacOS

2018-06-23 Fir de Conversatie Yegappan Lakshmanan
Hi,

When building the latest version of tiny Vim on MacOS, I see the
following warning message:

gcc -c -I. -Iproto -DHAVE_CONFIG_H   -DMACOS_X   -g -Wall -Wextra
-pedantic-o objects/screen.o screen.c
screen.c:6877:32: warning: unused parameter 'ignore_pum' [-Wunused-parameter]
win_redr_status(win_T *wp, int ignore_pum)
   ^
1 warning generated.

- 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.


Patch 8.1.0105

2018-06-23 Fir de Conversatie Bram Moolenaar


Patch 8.1.0105
Problem:All tab stops are the same.
Solution:   Add the variable tabstop feature. (Christian Brabandt,
closes #2711)
Files:  runtime/doc/change.txt, runtime/doc/options.txt,
runtime/doc/various.txt, runtime/optwin.vim, src/beval.c,
src/beval.h, src/buffer.c, src/charset.c, src/edit.c,
src/evalfunc.c, src/ex_cmds.c, src/feature.h, src/gui_beval.c,
src/gui_w32.c, src/hardcopy.c, src/message.c, src/misc1.c,
src/ops.c, src/option.c, src/option.h, src/proto/misc1.pro,
src/proto/option.pro, src/screen.c, src/structs.h,
src/testdir/Make_all.mak, src/testdir/gen_opt_test.vim,
src/testdir/test_breakindent.vim, src/testdir/test_vartabs.vim,
src/version.c, src/workshop.c, src/Makefile


*** ../vim-8.1.0104/runtime/doc/change.txt  2018-05-17 13:40:51.0 
+0200
--- runtime/doc/change.txt  2018-06-23 17:41:10.096366118 +0200
***
*** 987,992 
--- 987,997 
this (that's a good habit anyway).
`:retab!` may also change a sequence of spaces by
 characters, which can mess up a printf().
+   If the |+vartabs| feature is enabled then a list of
+   tab widths separated by commas may be used in place of
+   a single tabstop.  Each value in the list represents
+   the width of one tabstop, except the final value which
+   applies to all following tabstops.
{not in Vi}
  
*retab-example*
*** ../vim-8.1.0104/runtime/doc/options.txt 2018-06-03 14:42:17.832505129 
+0200
--- runtime/doc/options.txt 2018-06-23 17:41:10.100366093 +0200
***
*** 7172,7177 
--- 7172,7181 
set.
NOTE: This option is set to 0 when 'compatible' is set.
  
+   If Vim is compiled with the |+vartabs| feature then the value of
+   'softtabstop' will be ignored if |'varsofttabstop'| is set to
+   anything other than an empty string.
+ 
*'spell'* *'nospell'*
  'spell'   boolean (default off)
local to window
***
*** 7723,7728 
--- 7727,7736 
   though.  Otherwise aligned comments will be wrong when 'tabstop' is
   changed.
  
+   If Vim is compiled with the |+vartabs| feature then the value of
+   'tabstop' will be ignored if |'vartabstop'| is set to anything other
+   than an empty string.
+ 
*'tagbsearch'* *'tbs'* *'notagbsearch'* *'notbs'*
  'tagbsearch' 'tbs'boolean (default on)
global
***
*** 8468,8473 
--- 8476,8519 
written to disk (see |crash-recovery|).  Also used for the
|CursorHold| autocommand event.
  
+   *'varsofttabstop'* *'vsts'*
+ 'varsofttabstop' 'vsts'   string  (default "")
+   local to buffer
+   {only available when compiled with the |+vartabs|
+   feature}
+   {not in Vi}
+   A list of the number of spaces that a  counts for while editing,
+   such as inserting a  or using .  It "feels" like variable-
+   width s are being inserted, while in fact a mixture of spaces
+   and s is used.  Tab widths are separated with commas, with the
+   final value applying to all subsequent tabs.
+ 
+   For example, when editing assembly language files where statements
+   start in the 8th column and comments in the 40th, it may be useful
+   to use the following: >
+   :set varsofttabstop=8,32,8
+ < This will set soft tabstops at the 8th and 40th columns, and at every
+   8th column thereafter.
+ 
+   Note that the value of |'softtabstop'| will be ignored while
+   'varsofttabstop' is set.
+ 
+   *'vartabstop'* *'vts'*
+ 'vartabstop' 'vts'string  (default "")
+   local to buffer
+   {only available when compiled with the |+vartabs|
+   feature}
+   {not in Vi}
+   A list of the number of spaces that a  in the file counts for,
+   separated by commas.  Each value corresponds to one tab, with the
+   final value applying to all subsequent tabs. For example: >
+   :set vartabstop=4,20,10,8
+ < This will make the first tab 4 spaces wide, the second 20 spaces,
+   the third 10 spaces, and all following tabs 8 spaces.
+ 
+   Note that the value of |'tabstop'| will be ignored while 'vartabstop'
+   is set.
+ 
*'verbose'* *'vbs'*
  'verbose' 'vbs'   number  (default 

Patch 8.1.0104

2018-06-23 Fir de Conversatie Bram Moolenaar


Patch 8.1.0104
Problem:Can't build without the +eval feature.
Solution:   Add #ifdef.
Files:  src/regexp_nfa.c


*** ../vim-8.1.0103/src/regexp_nfa.c2018-06-23 14:34:24.551261826 +0200
--- src/regexp_nfa.c2018-06-23 17:13:47.102214648 +0200
***
*** 5693,5699 
nextlist->has_pim = FALSE;
++nfa_listid;
if (prog->re_engine == AUTOMATIC_ENGINE
!   && (nfa_listid >= NFA_MAX_STATES || nfa_fail_for_testing))
{
/* too many states, retry with old engine */
nfa_match = NFA_TOO_EXPENSIVE;
--- 5693,5703 
nextlist->has_pim = FALSE;
++nfa_listid;
if (prog->re_engine == AUTOMATIC_ENGINE
!   && (nfa_listid >= NFA_MAX_STATES
! # ifdef FEAT_EVAL
!   || nfa_fail_for_testing
! # endif
!   ))
{
/* too many states, retry with old engine */
nfa_match = NFA_TOO_EXPENSIVE;
*** ../vim-8.1.0103/src/version.c   2018-06-23 16:12:15.784258242 +0200
--- src/version.c   2018-06-23 17:14:18.414022555 +0200
***
*** 780,781 
--- 780,783 
  {   /* Add new patch number below this line */
+ /**/
+ 104,
  /**/

-- 
>From "know your smileys":
 <|-) Chinese
 <|-( Chinese and doesn't like these kind of jokes

 /// 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.1.0102

2018-06-23 Fir de Conversatie Elimar Riesebieter
* Tony Mechelynck  [2018-06-23 15:21 +0200]:

> On Sat, Jun 23, 2018 at 3:09 PM, Bram Moolenaar  wrote:
> >
> > Patch 8.1.0102
> > Problem:Cannot build without syntax highlighting.
> > Solution:   Add #ifdef around using reg_do_extmatch.
> > Files:  src/regexp.c
> 
> After applying this patch, my Tiny build has two fewer errors compared
> with patch 98, but there is still this one:
> 
> linux-2iyu:~/.build/vim/vim-hg/src/shadow-tiny # (make || echo 'exit
> status' $? ; date) 2>&1 |tee -a make.log
> gcc -c -I. -Iproto -DHAVE_CONFIG_H -O2 -fno-strength-reduce -Wall
> -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1-o objects/regexp.o
> regexp.c
> In file included from regexp.c:8088:0:
> regexp_nfa.c: In function ‘nfa_regmatch’:
> regexp_nfa.c:5696:39: error: ‘nfa_fail_for_testing’ undeclared (first
> use in this function); did you mean ‘nfa_alt_listid’?
>&& (nfa_listid >= NFA_MAX_STATES || nfa_fail_for_testing))
>^~~~
>nfa_alt_listid
> regexp_nfa.c:5696:39: note: each undeclared identifier is reported
> only once for each function it appears in
> make: *** [Makefile:3285: objects/regexp.o] Error 1
> exit status 2
Same here:

In file included from regexp.c:8088:
./regexp_nfa.c:5696:39: error: use of undeclared identifier 
'nfa_fail_for_testing'
&& (nfa_listid >= NFA_MAX_STATES || nfa_fail_for_testing))
^

Elimar
-- 
  From The Collaborative International Dictionary of English v.0.48 [gcide]:
  .
  arsehole \arse"hole`\ ([aum]rs"h[=o]l`), n.
 1. execretory opening at the end of the alimentary canal.

-- 
-- 
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.1.0103

2018-06-23 Fir de Conversatie Bram Moolenaar


Patch 8.1.0103
Problem:Long version string cannot be translated.
Solution:   Build the string in init_longVersion().
Files:  src/globals.h, src/version.h, src/version.c,
src/proto/version.pro, src/main.c


*** ../vim-8.1.0102/src/globals.h   2018-06-23 14:21:38.467484932 +0200
--- src/globals.h   2018-06-23 15:43:26.522795007 +0200
***
*** 1131,1142 
  EXTERN char   breakat_flags[256]; /* which characters are in 'breakat' */
  #endif
  
! /* these are in version.c */
  extern char *Version;
  #if defined(HAVE_DATE_TIME) && defined(VMS) && defined(VAXC)
  extern char longVersion[];
  #else
! extern char *longVersion;
  #endif
  
  /*
--- 1131,1142 
  EXTERN char   breakat_flags[256]; /* which characters are in 'breakat' */
  #endif
  
! /* These are in version.c, call init_longVersion() before use. */
  extern char *Version;
  #if defined(HAVE_DATE_TIME) && defined(VMS) && defined(VAXC)
  extern char longVersion[];
  #else
! EXTERN char *longVersion;
  #endif
  
  /*
*** ../vim-8.1.0102/src/version.h   2018-05-17 13:33:02.0 +0200
--- src/version.h   2018-06-23 15:35:20.481563682 +0200
***
*** 36,40 
  #define VIM_VERSION_NODOT "vim81"
  #define VIM_VERSION_SHORT "8.1"
  #define VIM_VERSION_MEDIUM"8.1"
! #define VIM_VERSION_LONG  "VIM - Vi IMproved 8.1 (2018 May 17)"
! #define VIM_VERSION_LONG_DATE "VIM - Vi IMproved 8.1 (2018 May 17, compiled "
--- 36,42 
  #define VIM_VERSION_NODOT "vim81"
  #define VIM_VERSION_SHORT "8.1"
  #define VIM_VERSION_MEDIUM"8.1"
! #define VIM_VERSION_LONG  "VIM - Vi IMproved 8.1 (2018 May 18)"
! #define VIM_VERSION_LONG_DATE "VIM - Vi IMproved 8.1 (2018 May 18, compiled "
! #define VIM_VERSION_LONG_ONLY "VIM - Vi IMproved 8.1"
! #define VIM_VERSION_DATE_ONLY "2018 May 18"
*** ../vim-8.1.0102/src/version.c   2018-06-23 15:09:02.351412460 +0200
--- src/version.c   2018-06-23 16:11:00.128696631 +0200
***
*** 37,43 
  + sizeof(__TIME__) + 3];
  
  void
! make_version(void)
  {
  /*
   * Construct the long version string.  Necessary because
--- 37,43 
  + sizeof(__TIME__) + 3];
  
  void
! init_longVersion(void)
  {
  /*
   * Construct the long version string.  Necessary because
***
*** 49,56 
  strcat(longVersion, __TIME__);
  strcat(longVersion, ")");
  }
  # else
! char  *longVersion = VIM_VERSION_LONG_DATE __DATE__ " " __TIME__ ")";
  # endif
  #else
  char  *longVersion = VIM_VERSION_LONG;
--- 49,73 
  strcat(longVersion, __TIME__);
  strcat(longVersion, ")");
  }
+ 
  # else
! void
! init_longVersion(void)
! {
! char *date_time = __DATE__ " " __TIME__;
! char *msg = _("%s (%s, compiled %s)");
! size_t len = strlen(msg)
!   + strlen(VIM_VERSION_LONG_ONLY)
!   + strlen(VIM_VERSION_DATE_ONLY)
!   + strlen(date_time);
! 
! longVersion = (char *)alloc(len);
! if (longVersion == NULL)
!   longVersion = VIM_VERSION_LONG;
! else
!   vim_snprintf(longVersion, len, msg,
! VIM_VERSION_LONG_ONLY, VIM_VERSION_DATE_ONLY, date_time);
! }
  # endif
  #else
  char  *longVersion = VIM_VERSION_LONG;
***
*** 1148,1153 
--- 1167,1173 
   * When adding features here, don't forget to update the list of
   * internal variables in eval.c!
   */
+ init_longVersion();
  MSG(longVersion);
  #ifdef WIN3264
  # ifdef FEAT_GUI_W32
*** ../vim-8.1.0102/src/proto/version.pro   2018-05-17 13:52:55.0 
+0200
--- src/proto/version.pro   2018-06-23 15:40:19.395834338 +0200
***
*** 1,5 
  /* version.c */
! void make_version(void);
  int highest_patch(void);
  int has_patch(int n);
  void ex_version(exarg_T *eap);
--- 1,5 
  /* version.c */
! void init_longVersion(void);
  int highest_patch(void);
  int has_patch(int n);
  void ex_version(exarg_T *eap);
*** ../vim-8.1.0102/src/main.c  2018-06-21 21:38:29.599534681 +0200
--- src/main.c  2018-06-23 15:31:50.962855677 +0200
***
*** 940,949 
  /* Init the table of Normal mode commands. */
  init_normal_cmds();
  
- #if defined(HAVE_DATE_TIME) && defined(VMS) && defined(VAXC)
- make_version();   /* Construct the long version string. */
- #endif
- 
  /*
   * Allocate space for the generic buffers (needed for set_init_1() and
   * EMSG2()).
--- 940,945 
***
*** 3215,3220 
--- 3211,3217 
  reset_signals();  /* kill us with CTRL-C here, if you like */
  #endif
  
+ init_longVersion();
  mch_errmsg(longVersion);
  mch_errmsg("\n");
  mch_errmsg(_(main_errors[n]));
***
*** 3268,3273 
--- 3265,3271 
  reset_signals();  /* kill us with CTRL-C here, if you like */
  #endif
  
+ 

Re: Patch 8.1.0102

2018-06-23 Fir de Conversatie Tony Mechelynck
On Sat, Jun 23, 2018 at 3:09 PM, Bram Moolenaar  wrote:
>
> Patch 8.1.0102
> Problem:Cannot build without syntax highlighting.
> Solution:   Add #ifdef around using reg_do_extmatch.
> Files:  src/regexp.c

After applying this patch, my Tiny build has two fewer errors compared
with patch 98, but there is still this one:

linux-2iyu:~/.build/vim/vim-hg/src/shadow-tiny # (make || echo 'exit
status' $? ; date) 2>&1 |tee -a make.log
gcc -c -I. -Iproto -DHAVE_CONFIG_H -O2 -fno-strength-reduce -Wall
-U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1-o objects/regexp.o
regexp.c
In file included from regexp.c:8088:0:
regexp_nfa.c: In function ‘nfa_regmatch’:
regexp_nfa.c:5696:39: error: ‘nfa_fail_for_testing’ undeclared (first
use in this function); did you mean ‘nfa_alt_listid’?
   && (nfa_listid >= NFA_MAX_STATES || nfa_fail_for_testing))
   ^~~~
   nfa_alt_listid
regexp_nfa.c:5696:39: note: each undeclared identifier is reported
only once for each function it appears in
make: *** [Makefile:3285: objects/regexp.o] Error 1
exit status 2

Best regards,
Tony.

-- 
-- 
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.1.0102

2018-06-23 Fir de Conversatie Bram Moolenaar


Patch 8.1.0102
Problem:Cannot build without syntax highlighting.
Solution:   Add #ifdef around using reg_do_extmatch.
Files:  src/regexp.c


*** ../vim-8.1.0101/src/regexp.c2018-06-23 14:21:38.471484909 +0200
--- src/regexp.c2018-06-23 15:07:31.635796811 +0200
***
*** 8376,8386 
--- 8376,8390 
  #ifdef FEAT_EVAL
report_re_switch(pat);
  #endif
+ #ifdef FEAT_SYN_HL
// checking for \z misuse was already done when compiling for NFA,
// allow all here
reg_do_extmatch = REX_ALL;
+ #endif
rmp->regprog = vim_regcomp(pat, re_flags);
+ #ifdef FEAT_SYN_HL
reg_do_extmatch = 0;
+ #endif
  
if (rmp->regprog != NULL)
result = rmp->regprog->engine->regexec_multi(
*** ../vim-8.1.0101/src/version.c   2018-06-23 14:55:00.146628803 +0200
--- src/version.c   2018-06-23 15:08:14.019617869 +0200
***
*** 763,764 
--- 763,766 
  {   /* Add new patch number below this line */
+ /**/
+ 102,
  /**/

-- 
>From "know your smileys":
 :-| :-|   Deja' vu!

 /// 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.1.0101

2018-06-23 Fir de Conversatie Bram Moolenaar


Patch 8.1.0101
Problem:No test for getcmdwintype().
Solution:   Add a test. (Dominique Pelle, closes #3068)
Files:  src/testdir/test_cmdline.vim


*** ../vim-8.1.0100/src/testdir/test_cmdline.vim2018-06-19 
19:09:04.870914841 +0200
--- src/testdir/test_cmdline.vim2018-06-23 14:53:32.194885652 +0200
***
*** 511,516 
--- 511,532 
cunmap 
  endfunc
  
+ func Test_getcmdwintype()
+   call feedkeys("q/:let a = getcmdwintype()\:q\", 'x!')
+   call assert_equal('/', a)
+ 
+   call feedkeys("q?:let a = getcmdwintype()\:q\", 'x!')
+   call assert_equal('?', a)
+ 
+   call feedkeys("q::let a = getcmdwintype()\:q\", 'x!')
+   call assert_equal(':', a)
+ 
+   call feedkeys(":\:let a = getcmdwintype()\:q\", 'x!')
+   call assert_equal(':', a)
+ 
+   call assert_equal('', getcmdwintype())
+ endfunc
+ 
  func Test_verbosefile()
set verbosefile=Xlog
echomsg 'foo'
*** ../vim-8.1.0100/src/version.c   2018-06-23 14:36:13.778666585 +0200
--- src/version.c   2018-06-23 14:54:30.426718329 +0200
***
*** 763,764 
--- 763,766 
  {   /* Add new patch number below this line */
+ /**/
+ 101,
  /**/

-- 
>From "know your smileys":
 :-EHas major dental problems

 /// 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.1.0098

2018-06-23 Fir de Conversatie Tony Mechelynck
On Sat, Jun 23, 2018 at 2:21 PM, Bram Moolenaar  wrote:
>
> Patch 8.1.0098
> Problem:Segfault when pattern with \z() is very slow.
> Solution:   Check for NULL regprog.  Add "nfa_fail" to test_override() to be
> able to test this.  Fix that 'searchhl' resets called_emsg.
> Files:  src/syntax.c, runtime/doc/eval.txt, src/evalfunc.c, src/vim.h,
> src/testdir/test_syntax.vim, src/globals.h, src/screen.c,
> src/regexp.c, src/regexp_nfa.c

Compile failure for regexp_nfa.c and regexp.c in Tiny but not in Huge:

gcc -c -I. -Iproto -DHAVE_CONFIG_H -O2 -fno-strength-reduce -Wall
-U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1-o objects/regexp.o
regexp.c
In file included from regexp.c:8088:0:
regexp_nfa.c: In function ‘nfa_regmatch’:
regexp_nfa.c:5696:39: error: ‘nfa_fail_for_testing’ undeclared (first
use in this function); did you mean ‘nfa_alt_listid’?
   && (nfa_listid >= NFA_MAX_STATES || nfa_fail_for_testing))
   ^~~~
   nfa_alt_listid
regexp_nfa.c:5696:39: note: each undeclared identifier is reported
only once for each function it appears in
regexp.c: In function ‘vim_regexec_multi’:
regexp.c:8381:6: error: ‘reg_do_extmatch’ undeclared (first use in
this function); did you mean ‘ref_extmatch’?
  reg_do_extmatch = REX_ALL;
  ^~~
  ref_extmatch
regexp.c:8381:24: error: ‘REX_ALL’ undeclared (first use in this
function); did you mean ‘HL_ALL’?
  reg_do_extmatch = REX_ALL;
^~~
HL_ALL
make: *** [Makefile:3285: objects/regexp.o] Error 1
exit status 2

-- 
-- 
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.1.0100

2018-06-23 Fir de Conversatie Bram Moolenaar


Patch 8.1.0100
Problem:Terminal debugger: error when setting a watch point.
Solution:   Don't try defining a sign for a watch point.
Files:  runtime/pack/dist/opt/termdebug/plugin/termdebug.vim


*** ../vim-8.1.0099/runtime/pack/dist/opt/termdebug/plugin/termdebug.vim
2018-06-21 20:31:10.627749367 +0200
--- runtime/pack/dist/opt/termdebug/plugin/termdebug.vim2018-06-23 
13:56:49.559572378 +0200
***
*** 863,868 
--- 863,873 
  " Handle setting a breakpoint
  " Will update the sign that shows the breakpoint
  func s:HandleNewBreakpoint(msg)
+   if a:msg !~ 'fullname='
+ " a watch does not have a file name
+ return
+   endif
+ 
let nr = substitute(a:msg, '.*number="\([0-9]\)*\".*', '\1', '') + 0
if nr == 0
  return
*** ../vim-8.1.0099/src/version.c   2018-06-23 14:34:24.551261826 +0200
--- src/version.c   2018-06-23 14:35:29.442908084 +0200
***
*** 763,764 
--- 763,766 
  {   /* Add new patch number below this line */
+ /**/
+ 100,
  /**/

-- 
>From "know your smileys":
 [:-)   Frankenstein's monster

 /// 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.1.0099

2018-06-23 Fir de Conversatie Bram Moolenaar


Patch 8.1.0099
Problem:Exclamation mark in error message not needed.
Solution:   Remove the exclamation mark.
Files:  src/regexp_nfa.c


*** ../vim-8.1.0098/src/regexp_nfa.c2018-06-23 14:21:38.471484909 +0200
--- src/regexp_nfa.c2018-06-23 14:30:17.432612749 +0200
***
*** 2232,2238 
  
  if (re_multi_type(peekchr()) != NOT_MULTI)
/* Can't have a multi follow a multi. */
!   EMSG_RET_FAIL(_("E871: (NFA regexp) Can't have a multi follow a multi 
!"));
  
  return OK;
  }
--- 2232,2238 
  
  if (re_multi_type(peekchr()) != NOT_MULTI)
/* Can't have a multi follow a multi. */
!   EMSG_RET_FAIL(_("E871: (NFA regexp) Can't have a multi follow a 
multi"));
  
  return OK;
  }
***
*** 7029,7035 
fclose(f);
  }
  else
!   EMSG(_("Could not open temporary log file for writing "));
  #endif
  
  clear_sub();
--- 7029,7035 
fclose(f);
  }
  else
!   EMSG("Could not open temporary log file for writing");
  #endif
  
  clear_sub();
*** ../vim-8.1.0098/src/version.c   2018-06-23 14:21:38.471484909 +0200
--- src/version.c   2018-06-23 14:34:08.591348883 +0200
***
*** 763,764 
--- 763,766 
  {   /* Add new patch number below this line */
+ /**/
+ 99,
  /**/

-- 
I AM THANKFUL...
...for the piles of laundry and ironing because it means I
have plenty of clothes to wear.

 /// 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.1.0098

2018-06-23 Fir de Conversatie Bram Moolenaar


Patch 8.1.0098
Problem:Segfault when pattern with \z() is very slow.
Solution:   Check for NULL regprog.  Add "nfa_fail" to test_override() to be
able to test this.  Fix that 'searchhl' resets called_emsg.
Files:  src/syntax.c, runtime/doc/eval.txt, src/evalfunc.c, src/vim.h,
src/testdir/test_syntax.vim, src/globals.h, src/screen.c,
src/regexp.c, src/regexp_nfa.c


*** ../vim-8.1.0097/src/syntax.c2018-05-20 13:35:40.193163458 +0200
--- src/syntax.c2018-06-23 13:47:27.294238648 +0200
***
*** 3327,3332 
--- 3327,3338 
profile_start();
  #endif
  
+ if (rmp->regprog == NULL)
+   // This can happen if a previous call to vim_regexec_multi() tried to
+   // use the NFA engine, which resulted in NFA_TOO_EXPENSIVE, and
+   // compiling the pattern with the other engine fails.
+   return FALSE;
+ 
  rmp->rmm_maxcol = syn_buf->b_p_smc;
  r = vim_regexec_multi(rmp, syn_win, syn_buf, lnum, col,
  #ifdef FEAT_RELTIME
*** ../vim-8.1.0097/runtime/doc/eval.txt2018-06-20 22:37:52.658911284 
+0200
--- runtime/doc/eval.txt2018-06-23 13:27:43.863676347 +0200
***
*** 8694,8699 
--- 8694,8701 
redraw   disable the redrawing() function
char_avail   disable the char_avail() function
starting reset the "starting" variable, see below
+   nfa_fail makes the NFA regexp engine fail to force a
+fallback to the old engine
ALL  clear all overrides ({val} is not used)
  
"starting" is to be used when a test should behave like
*** ../vim-8.1.0097/src/evalfunc.c  2018-06-20 22:37:52.654911306 +0200
--- src/evalfunc.c  2018-06-23 13:29:32.603042364 +0200
***
*** 13090,13099 
--- 13090,13102 
save_starting = -1;
}
}
+   else if (STRCMP(name, (char_u *)"nfa_fail") == 0)
+   nfa_fail_for_testing = val;
else if (STRCMP(name, (char_u *)"ALL") == 0)
{
disable_char_avail_for_testing = FALSE;
disable_redraw_for_testing = FALSE;
+   nfa_fail_for_testing = FALSE;
if (save_starting >= 0)
{
starting = save_starting;
*** ../vim-8.1.0097/src/vim.h   2018-04-30 15:12:48.0 +0200
--- src/vim.h   2018-06-23 14:06:57.29803 +0200
***
*** 1013,1018 
--- 1013,1019 
  /* values for reg_do_extmatch */
  # define REX_SET  1   /* to allow \z\(...\), */
  # define REX_USE  2   /* to allow \z\1 et al. */
+ # define REX_ALL  (REX_SET | REX_USE)
  #endif
  
  /* Return values for fullpathcmp() */
*** ../vim-8.1.0097/src/testdir/test_syntax.vim 2018-02-24 19:33:19.0 
+0100
--- src/testdir/test_syntax.vim 2018-06-23 14:11:40.474945470 +0200
***
*** 562,564 
--- 562,576 
let $COLORFGBG = ''
call delete('Xtest.c')
  endfun
+ 
+ " Using \z() in a region with NFA failing should not crash.
+ func Test_syn_wrong_z_one()
+   new
+   call setline(1, ['just some text', 'with foo and bar to match with'])
+   syn region FooBar start="foo\z(.*\)bar" end="\z1"
+   call test_override("nfa_fail", 1)
+   redraw!
+   redraw!
+   call test_override("ALL", 0)
+   bwipe!
+ endfunc
*** ../vim-8.1.0097/src/globals.h   2018-06-19 17:49:20.296015375 +0200
--- src/globals.h   2018-06-23 13:30:00.290880945 +0200
***
*** 1634,1639 
--- 1634,1640 
  /* flags set by test_override() */
  EXTERN int  disable_char_avail_for_testing INIT(= 0);
  EXTERN int  disable_redraw_for_testing INIT(= 0);
+ EXTERN int  nfa_fail_for_testing INIT(= 0);
  
  EXTERN int  in_free_unref_items INIT(= FALSE);
  #endif
*** ../vim-8.1.0097/src/screen.c2018-06-17 16:23:29.341140642 +0200
--- src/screen.c2018-06-23 14:02:46.329754550 +0200
***
*** 7868,7873 
--- 7868,7874 
  linenr_T  l;
  colnr_T   matchcol;
  long  nmatched;
+ int   save_called_emsg = called_emsg;
  
  if (shl->lnum != 0)
  {
***
*** 7986,7991 
--- 7987,7995 
break;  /* useful match found */
}
  }
+ 
+ // Restore called_emsg for assert_fails().
+ called_emsg = save_called_emsg;
  }
  
  /*
*** ../vim-8.1.0097/src/regexp.c2018-02-13 16:28:11.0 +0100
--- src/regexp.c2018-06-23 14:09:21.727692568 +0200
***
*** 367,373 
  static char_u e_unmatchedpar[] = N_("E55: Unmatched %s)");
  #ifdef FEAT_SYN_HL
  static char_u e_z_not_allowed[] = N_("E66: \\z( not allowed here");
! static char_u e_z1_not_allowed[] = N_("E67: \\z1 et al. not allowed here");
  #endif
  static char_u e_missing_sb[] = N_("E69: Missing ] after %s%%[");
  static char_u e_empty_sb[]  = N_("E70: Empty %s%%[]");
--- 367,373 
  static char_u