Skip to content

[bug] failed to handle a long tag line #59

@masatake

Description

@masatake

If a tag line is too long, searching a tag fails.

$ cat /tmp/foo.tags 
!_TAG_FILE_FORMAT	2	/extended format; --format=1 will not append ;" to lines/;"	extras:pseudo
!_TAG_FILE_SORTED	1	/0=unsorted, 1=sorted, 2=foldcase/;"	extras:pseudo
!_TAG_OUTPUT_EXCMD	mixed	/number, pattern, mixed, or combineV2/;"	extras:pseudo
!_TAG_OUTPUT_FILESEP	slash	/slash or backslash/;"	extras:pseudo
!_TAG_OUTPUT_MODE	u-ctags	/u-ctags or e-ctags/;"	extras:pseudo
!_TAG_PROC_CWD	/home/yamato/spelunker/satellite/	//;"	extras:pseudo
Available value types	README.md	/^####  Available value types$/;"	kind:subsubsection	line:439	language:Markdown	scope:section:Foreman Maintain [![Ruby Tests](https://github.com/theforeman/foreman_maintain/actions/workflows/ruby_tests.yml/badge.svg)](https://github.com/theforeman/foreman_maintain/actions/workflows/ruby_tests.yml) <a href="https://codeclimate.com/github/theforeman/foreman_maintain"><img src="https://codeclimate.com/github/theforeman/foreman_maintain/badges/gpa.svg" /></a>""Bash completion	roles:def	end:453	sectionMarker:#
Base	definitions/procedures/service/base.rb	/^    class Base < ForemanMaintain::Procedure$/;"	kind:class	line:3	language:Ruby	scope:module:Procedures.Service	inherits:ForemanMaintain.Procedure	roles:def	end:35
Bash completion	README.md	/^## Bash completion$/;"	kind:section	line:418	language:Markdown	scope:chapter:Foreman Maintain [![Ruby Tests](https://github.com/theforeman/foreman_maintain/actions/workflows/ruby_tests.yml/badge.svg)](https://github.com/theforeman/foreman_maintain/actions/workflows/ruby_tests.yml) <a href="https://codeclimate.com/github/theforeman/foreman_maintain"><img src="https://codeclimate.com/github/theforeman/foreman_maintain/badges/gpa.svg" /></a>	roles:def	end:463	sectionMarker:#
$ readtags -t /tmp/foo.tags Base
$ readtags -t /tmp/foo.tags -Q '(eq? $name "Base")' -l
Base	definitions/procedures/service/base.rb	/^    class Base < ForemanMaintain::Procedure$/

findFirstNonMatchBefore uses a constant (#define JUMP_BACK 512) for rewinding the input stream.
A line longer than JUMP_BACK causes trouble.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions