bug-global
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: langmap priority


From: Marcus Harnisch
Subject: Re: langmap priority
Date: Tue, 8 Sep 2015 09:11:36 +0200

Much appreciated.
Cheers
Marcus

On Tue, Sep 8, 2015 at 1:19 AM, Shigio YAMAGUCHI <address@hidden> wrote:
Hi,
I have fixed the bug by removing duplicated suffixes from the langmap.
The repository is updated.

$ cat gtags.conf
default:langmap=c\:.c,cpp\:.c:
$ gtags -w
Warning: langmap: suffix 'c' is duplicated. all except for the head is ignored.
$ _

Regards
Shigio


2015-08-28 21:31 GMT+09:00 Marcus Harnisch <address@hidden>:
You are correct, --language-force doesn't help at all in filter mode. I should have known better since I was looking at strace output when debugging this. The general issue seems to be that different parsers may behave differently in this respect. Ultimately the parser should obey what it was told by gtags, so trimming the list would perhaps be the best option.

Thanks
Marcus

On Fri, Aug 28, 2015 at 2:06 PM, Shigio YAMAGUCHI <address@hidden> wrote:
Hi,
> Ctags processes the list in the way "last wins".

You are right. I didn't notice it at all.

> Not knowing anything about the gtags internals or the ctags parser in particular,
> I'd suggest that gtags invokes ctags with the option "--language-force",
> passing as an argument the language that gtags thought was the correct one.

Exuberant-ctags plug-in parser invokes ctags using filter mode (--filter).
Is the --language-force available in filter mode?
Otherwise, we may have to trim the langmap string itself before passing it to ctags.

Anyway, I will put this into the BUGS list.
Thank you.

Regards
Shigio


2015-08-28 17:34 GMT+09:00 Marcus Harnisch <address@hidden>:
  • What was occurred? (as is)
A custom label inherits from "exuberant-ctags", i.e. gets all its langmap definitions. One is supposed to be replaced without modifying the "exuberant-ctags" label.
Apparently, gtags processes the langmap in the way "first wins", as I have to specify the replacement mapping before including the parent. This list is then passed to the ctags parser in the same order. Ctags processes the list in the way "last wins".
As a result, gtags --explain tells me the expected langmap result. Ctags, however, which uses the original langmap, doesn't find any tags in the file.
  • What did you expect from it?
Not knowing anything about the gtags internals or the ctags parser in particular, I'd suggest that gtags invokes ctags with the option "--language-force", passing as an argument the language that gtags thought was the correct one.

Thanks
Marcus

_______________________________________________
Bug-global mailing list
address@hidden
https://lists.gnu.org/mailman/listinfo/bug-global




--
Shigio YAMAGUCHI <address@hidden>
PGP fingerprint: D1CB 0B89 B346 4AB6 5663  C4B6 3CA5 BBB3 57BE DDA3




--
Shigio YAMAGUCHI <address@hidden>
PGP fingerprint: D1CB 0B89 B346 4AB6 5663  C4B6 3CA5 BBB3 57BE DDA3


reply via email to

[Prev in Thread] Current Thread [Next in Thread]