Re: Patch 8.1.0519
On 12-Nov.-2018 06:14, Tony Mechelynck wrote: On Linux64, even with that #ifdef in place, evalfunc.c compiles with no error, even in my Tiny and Small builds compiled with -quickfix and -eval (using gcc 7.3.1). All my other builds (Normal, Big and Huge) have +quickfix and +eval. Here are my configure options for the Normal build: export CONF_OPT_GUI='--enable-gui=gtk2' export CONF_OPT_MULTIBYTE='--enable-multibyte' export CONF_OPT_AUTOSERVE='--enable-autoservername' export CONF_OPT_FEAT='--with-features=normal' export CONF_ARGS='--with-vim-name=vim-normal' export CONF_OPT_COMPBY='"--with-compiledby=antoine.mechely...@gmail.com"' According to doc/various.txt line 426, Normal and higher builds are with +quickfix. Did you try to override that and build a Normal build without the quickfix feature? Have you tried replacing evalfunc.c line 32 with #ifdef FEAT_NORMAL rather than removing it altogether along with line 34? Best regards, Tony. Hi Tony, For one of my builds I am using a "normal" build with a customised feature.h which disables quickfix (amongst others). Cheers John -- -- 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.0519
Hi, On Sun, Nov 11, 2018 at 10:40 AM John Marriott wrote: > > On 12-Nov.-2018 01:21, Bram Moolenaar wrote: > > Patch 8.1.0519 > > Problem:Cannot save and restore the tag stack. > > Solution: Add gettagstack() and settagstack(). (Yegappan Lakshmanan, > > closes #3604) > > Files:runtime/doc/eval.txt, runtime/doc/tagsrch.txt, > > runtime/doc/usr_41.txt, src/alloc.h, src/dict.c, > > src/evalfunc.c, > > src/list.c, src/misc2.c, src/proto/dict.pro, > > src/proto/list.pro, > > src/proto/misc2.pro, src/proto/tag.pro, src/tag.c, > > src/testdir/test_tagjump.vim > > > After this patch, mingw-64 throws this error if FEAT_QUICKFIX is not > defined: > How are you building Vim and how are you disabling FEAT_QUICKFIX? Are you manually editing feature.h to disable FEAT_QUICKFIX? > > gcc -c -I. -Iproto -DWIN32 -DWINVER=0x0603 -D_WIN32_WINNT=0x0603 > -DHAVE_PATHDEF -DFEAT_NORMAL -DHAVE_STDINT_H -DFEAT_MBYTE -pipe > -march=native -Wall -O3 -fomit-frame-pointer -freg-struct-return -s > evalfunc.c -o objnative/evalfunc.o > In file included from evalfunc.c:15: > evalfunc.c: In function 'f_settagstack': > evalfunc.c:11194:9: error: 'e_stringreq' undeclared (first use in this > function); did you mean 'f_string'? >EMSG(_(e_stringreq)); > ^~~ > vim.h:1627:39: note: in definition of macro 'EMSG' > #define EMSG(s) emsg((char_u *)(s)) > ^ > evalfunc.c:11194:7: note: in expansion of macro '_' >EMSG(_(e_stringreq)); > ^ > evalfunc.c:11194:9: note: each undeclared identifier is reported only > once for each function it appears in >EMSG(_(e_stringreq)); > ^~~ > vim.h:1627:39: note: in definition of macro 'EMSG' > #define EMSG(s) emsg((char_u *)(s)) > ^ > evalfunc.c:11194:7: note: in expansion of macro '_' >EMSG(_(e_stringreq)); > ^ > > The attached patch tries to fix it. Please check. > The patch looks good to me. Regards, 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.
Re: Patch 8.1.0519
On Linux64, even with that #ifdef in place, evalfunc.c compiles with no error, even in my Tiny and Small builds compiled with -quickfix and -eval (using gcc 7.3.1). All my other builds (Normal, Big and Huge) have +quickfix and +eval. Here are my configure options for the Normal build: export CONF_OPT_GUI='--enable-gui=gtk2' export CONF_OPT_MULTIBYTE='--enable-multibyte' export CONF_OPT_AUTOSERVE='--enable-autoservername' export CONF_OPT_FEAT='--with-features=normal' export CONF_ARGS='--with-vim-name=vim-normal' export CONF_OPT_COMPBY='"--with-compiledby=antoine.mechely...@gmail.com"' According to doc/various.txt line 426, Normal and higher builds are with +quickfix. Did you try to override that and build a Normal build without the quickfix feature? Have you tried replacing evalfunc.c line 32 with #ifdef FEAT_NORMAL rather than removing it altogether along with line 34? 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: Patch 8.1.0519
On 12-Nov.-2018 01:21, Bram Moolenaar wrote: Patch 8.1.0519 Problem:Cannot save and restore the tag stack. Solution: Add gettagstack() and settagstack(). (Yegappan Lakshmanan, closes #3604) Files: runtime/doc/eval.txt, runtime/doc/tagsrch.txt, runtime/doc/usr_41.txt, src/alloc.h, src/dict.c, src/evalfunc.c, src/list.c, src/misc2.c, src/proto/dict.pro, src/proto/list.pro, src/proto/misc2.pro, src/proto/tag.pro, src/tag.c, src/testdir/test_tagjump.vim After this patch, mingw-64 throws this error if FEAT_QUICKFIX is not defined: gcc -c -I. -Iproto -DWIN32 -DWINVER=0x0603 -D_WIN32_WINNT=0x0603 -DHAVE_PATHDEF -DFEAT_NORMAL -DHAVE_STDINT_H -DFEAT_MBYTE -pipe -march=native -Wall -O3 -fomit-frame-pointer -freg-struct-return -s evalfunc.c -o objnative/evalfunc.o In file included from evalfunc.c:15: evalfunc.c: In function 'f_settagstack': evalfunc.c:11194:9: error: 'e_stringreq' undeclared (first use in this function); did you mean 'f_string'? EMSG(_(e_stringreq)); ^~~ vim.h:1627:39: note: in definition of macro 'EMSG' #define EMSG(s) emsg((char_u *)(s)) ^ evalfunc.c:11194:7: note: in expansion of macro '_' EMSG(_(e_stringreq)); ^ evalfunc.c:11194:9: note: each undeclared identifier is reported only once for each function it appears in EMSG(_(e_stringreq)); ^~~ vim.h:1627:39: note: in definition of macro 'EMSG' #define EMSG(s) emsg((char_u *)(s)) ^ evalfunc.c:11194:7: note: in expansion of macro '_' EMSG(_(e_stringreq)); ^ The attached patch tries to fix it. Please check. Cheers John -- -- 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. --- evalfunc.orig.c 2018-11-12 05:15:25.846826600 +1100 +++ evalfunc.c 2018-11-12 05:33:21.053883100 +1100 @@ -29,9 +29,7 @@ #endif static char *e_listarg = N_("E686: Argument of %s must be a List"); -#ifdef FEAT_QUICKFIX static char *e_stringreq = N_("E928: String required"); -#endif #ifdef FEAT_FLOAT static void f_abs(typval_T *argvars, typval_T *rettv);
Patch 8.1.0519
Patch 8.1.0519 Problem:Cannot save and restore the tag stack. Solution: Add gettagstack() and settagstack(). (Yegappan Lakshmanan, closes #3604) Files: runtime/doc/eval.txt, runtime/doc/tagsrch.txt, runtime/doc/usr_41.txt, src/alloc.h, src/dict.c, src/evalfunc.c, src/list.c, src/misc2.c, src/proto/dict.pro, src/proto/list.pro, src/proto/misc2.pro, src/proto/tag.pro, src/tag.c, src/testdir/test_tagjump.vim *** ../vim-8.1.0518/runtime/doc/eval.txt2018-11-10 17:33:23.091518784 +0100 --- runtime/doc/eval.txt2018-11-11 15:16:01.878631709 +0100 *** *** 2198,2203 --- 2206,2212 any variable {varname} in tab {nr} or {def} gettabwinvar({tabnr}, {winnr}, {name} [, {def}]) any {name} in {winnr} in tab page {tabnr} + gettagstack([{nr}]) Dictget the tag stack of window {nr} getwininfo([{winid}]) Listlist of info about each window getwinpos([{timeout}])ListX and Y coord in pixels of the Vim window getwinposx() Number X coord in pixels of the Vim window *** *** 2371,2376 --- 2379,2386 settabwinvar({tabnr}, {winnr}, {varname}, {val}) noneset {varname} in window {winnr} in tab page {tabnr} to {val} + settagstack({nr}, {dict} [, {action}]) + Number modify tag stack using {dict} setwinvar({nr}, {varname}, {val}) noneset {varname} in window {nr} to {val} sha256({string}) String SHA256 checksum of {string} shellescape({string} [, {special}]) *** *** 4959,4964 --- 4971,5007 :let list_is_on = gettabwinvar(1, 2, '') :echo "myvar = " . gettabwinvar(3, 1, 'myvar') < + To obtain all window-local variables use: > + gettabwinvar({tabnr}, {winnr}, '&') + + gettagstack([{nr}]) *gettagstack()* + The result is a Dict, which is the tag stack of window {nr}. + {nr} can be the window number or the |window-ID|. + When {nr} is not specified, the current window is used. + When window {nr} doesn't exist, an empty Dict is returned. + + The returned dictionary contains the following entries: + curidx Current index in the stack. When at + top of the stack, set to (length + 1). + Index of bottom of the stack is 1. + items List of items in the stack. Each item + is a dictionary containing the + entries described below. + length Number of entries in the stack. + + Each item in the stack is a dictionary with the following + entries: + bufnr buffer number of the current jump + fromcursor position before the tag jump. + See |getpos()| for the format of the + returned list. + matchnr current matching tag number. Used when + multiple matching tags are found for a + name. + tagname name of the tag + + See |tagstack| for more information about the tag stack. + getwininfo([{winid}]) *getwininfo()* Returns information about windows as a List with Dictionaries. *** *** 7522,7527 --- 7566,7602 :call settabwinvar(3, 2, "myvar", "foobar") < This function is not available in the |sandbox|. + settagstack({nr}, {dict} [, {action}])*settagstack()* + Modify the tag stack of the window {nr} using {dict}. + {nr} can be the window number or the |window-ID|. + + For a list of supported items in {dict}, refer to + |gettagstack()| + *E962* + If {action} is not present or is set to 'r', then the tag + stack is replaced. If {action} is set to 'a', then new entries + from {dict} are pushed onto the tag stack. + + Returns zero for success, -1 for failure. + + Examples: + Set current index of the tag stack to 4: > + call settagstack(1005, {'curidx' : 4}) + + < Empty the tag