re-grateful, i think
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
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
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
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
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
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
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
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
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
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
* 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
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
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
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
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
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
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
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
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