Macaulay2 / Macaulay2/M2

Use etags --include to build a single TAGS file spanning all six source directories

Open
#4,561 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bugs directory build issue
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

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.