Bug#859426: vim: Vim 8 cannot handle 'etags' format any more

Alexander Burger abu at software-lab.de
Tue Apr 4 05:15:15 UTC 2017


Hello James,

thanks for your time!

> > When the file "tags" (or also "TAGS") was created with the 'etags' command, e.g.
> > 
> >    $ etags file.c
> 
> Which etags is this?  There are various packages that provide the etags
> name.  “update-alternatives --query etags” will tell you.

It says:

   Name: etags
   Link: /usr/bin/etags
   Slaves:
    etags.1.gz /usr/share/man/man1/etags.1.gz
   Status: auto
   Best: /usr/bin/ctags-exuberant
   Value: /usr/bin/ctags-exuberant

   Alternative: /usr/bin/ctags-exuberant
   Priority: 10
   Slaves:
    etags.1.gz /usr/share/man/man1/ctags-exuberant.1.gz


It generates the same format as described in

   https://en.wikipedia.org/wiki/Ctags#Etags_2

with a header

   <\x0c>
   {src_file},{size_of_tag_definition_data_in_bytes}

and lines formatted as

   {tag_definition_text}<\x7f>{tagname}<\x01>{line_number},{byte_offset}

A typical file is then

<\x0c>
test.c,21
#define CCC(<\x7f>CCC<\x01>1,0


In fact, my own use case is not the 'etags' command, but the 'tags' files
contained in (and generated at runtime by) the 'picolisp' package. This also
uses the above format, and the PicoLisp 'vi' command calls 'vim', and broke in
the described way.

Therefore I tested also with the 'etags' command. It makes the problem easier to
reproduce.


'vim' still claims to be compiled with '+emacs_tags'.

In Debian Jessie (and before) it worked without problems.

Best regards,
- Alex



More information about the pkg-vim-maintainers mailing list