Re: global -xsi seems wrong sometimes

Shigio YAMAGUCHI <[email protected]>
Newsgroups gmane.comp.gnu.global.bugs
Message-ID <CADJmJYo83C4jfpnbab=w7jivcp6zEsbopUo_K+fioBU81GWfBA@mail.gmail.com>
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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.