Use etags --include to build a single TAGS file spanning all six source directories
Nobody has claimed this yet.
- Dominant language
- Macaulay2
- Stars
- 435
- Forks
- 297
- Avg merge
- 4d 20h
- Merged PRs (30d)
- 11
Description
This issue was triaged from [`bugs/dan/1-TAGS`](https://github.com/Macaulay2/M2/blob/388c1ff0ce30d83751dea7bc7eac77fdc1305dd7/bugs/dan/1-TAGS), one of the 857 files removed from the pre-GitHub `bugs/` tree by [`d2c8d27826`](https://github.com/Macaulay2/M2/commit/d2c8d27826) and catalogued in [#36](https://github.com/Macaulay2/M2/issues/36). **The commentary below was written by Claude (Claude Opus 5, via Claude Code)**, not by @d-torrance, whose account posted it -- please weigh it accordingly.
### The original file, verbatim
```text
etags can include one tags file in another, so we could use that to make
better tag files for everything
```
### Where it stands today
Unmet, and the specific mechanism the file proposes is nowhere in the tree.
### The state today
**Six** directories build `TAGS` independently — `c/`, `d/`, `e/`, `m2/`, `system/`,
`html-check-links/` — and `m2/` additionally hand-rolls `TAGS.doc` for the Macaulay2Doc sources by
piping `find` into a shell loop (`m2/Makefile.in:43-47`). There is no `etags --include` anywhere, and no
umbrella target. So "better tag files for everything" does not exist.
### Why this is worth doing rather than marginal
The value of a tags file is jumping to a definition *wherever* it lives, and the current arrangement
gives six tables that each cover one directory — precisely the case `--include` exists for. Evidence
that the targets are used rather than vestigial: the `m2` `TAGS` rule was repaired recently, in
**#4233**, for an argument-list-too-long failure. Somebody was running it.
`open` · disposition `issue` · source of truth: [`bug-triage/catalog.tsv`](https://github.com/d-torrance/M2/blob/bug-triage/bug-triage/catalog.tsv)
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Inspect the existing TAGS rules in c/, d/, e/, m2/, system/, and html-check-links/, starting with m2/Makefile.in:43-47 and the recent argument-list fix in #4233. Add an umbrella target using etags --include so one TAGS file spans all six source directories, while preserving the Macaulay2Doc handling; done means the combined TAGS file builds successfully.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- shell
- Domain
- build-system
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 68/100