Hello, NODA san. Your patch works well. I have committed it. Thank you!
Regards, Shigio 2017-10-15 18:41 GMT+09:00 野田大樹 <[email protected]>: > Hi. > I encountered the funny behavior in using GLOGAL. > Then I tried to patch it. Please check it. > > ------------------------------------------------ > What is your environment (OS)? > > $ uname -a > CYGWIN_NT-10.0-WOW muse 2.2.1(0.289/5/3) 2015-08-20 11:40 i686 Cygwin > > > ------------------------------------------------ > Which version of GLOBAL are you using? > > $ global --version > global (GNU GLOBAL) 6.5.7 > Copyright (c) 1996-2017 Tama Communications Corporation > License GPLv3+: GNU GPL version 3 or later > <http://www.gnu.org/licenses/gpl.html> > This is free software; you are free to change and redistribute it. > There is NO WARRANTY, to the extent permitted by law. > > > ------------------------------------------------ > What did you do? (command line) > > On the directory tree below: > > TestGtags > | > +-- Include > | | > | +-- TestGtags.h > | +------------------------ > | 1|enum A_MODE { > | 2| a0, > | 3| a1, > | 4| a2, > | 5|}; > | +------------------------ > +-- Src > | > +-- TestGtags.cpp > +------------------------ > 1|#include <stdio.h> > 2|#include "TestGtags.h" > 3| > 4|void func() > 5|{ > 6| A_MODE a_mode = a0; > 7| printf("a_mode=%d\n", a_mode); > 8|} > 9| > 10|int main(int argc, char* argv[]) > 11|{ > 12| func(); > 13| > 14| A_MODE a_Mode = a1; > 15| printf("a_Mode=%d\n", a_Mode); > 16| > 17| return 0; > 18|} > +------------------------ > > $ cd TestGtags > $ gtags > $ global -xsi a_mode > > > ------------------------------------------------ > What did you expect from it? > > I expect global print locations like followings. > > a_Mode 14 Src/TestGtags.cpp A_MODE a_Mode = a1; > a_Mode 15 Src/TestGtags.cpp > printf("a_Mode=%d\n", a_Mode); > a_mode 6 Src/TestGtags.cpp A_MODE a_mode = a0; > a_mode 7 Src/TestGtags.cpp > printf("a_mode=%d\n", a_mode); > > > ------------------------------------------------ > What was occurred? (as is) > > Never print. > > > ------------------------------------------------ > Patch > > I thought that -i option is not work correctly. > So, I wrote sample patch. Please check it. > > > $ diff -up libutil/gtagsop.c.6.5.7 libutil/gtagsop.c > --- libutil/gtagsop.c.6.5.7 2017-10-15 17:40:54.699199600 +0900 > +++ libutil/gtagsop.c 2017-10-15 14:28:55.161333500 +0900 > @@ -878,7 +878,17 @@ again1: > else > strhash_reset(gtop->path_hash); > again2: > +#if 0 > tagline = dbop_first(gtop->dbop, gtop->key, gtop->preg, gtop->dbflags); > +#else > + for (tagline = dbop_first(gtop->dbop, gtop->key, gtop->preg, > gtop->dbflags); > + tagline != NULL; > + tagline = dbop_next(gtop->dbop)) > + { > + VIRTUAL_GRTAGS_GSYMS_PROCESSING(gtop); > + break; > + } > +#endif > if (tagline == NULL) { > if (gtop->prefix && gtags_restart(gtop)) > goto again2; > > > > > Thanks. > -- > Motoki NODA > > _______________________________________________ > Bug-global mailing list > [email protected] > https://lists.gnu.org/mailman/listinfo/bug-global > -- Shigio YAMAGUCHI <[email protected]> PGP fingerprint: 26F6 31B4 3D62 4A92 7E6F 1C33 969C 3BE3 89DD A6EB
_______________________________________________ Bug-global mailing list [email protected] https://lists.gnu.org/mailman/listinfo/bug-global
