Enhance make_ctags and make_etags.

Tatsuo Ishii <ishii@postgresql.org>

Commit: 7363e932c4ddb2746dd8676ef0f5af606134dc84
Author: Tatsuo Ishii <ishii@postgresql.org>
Committer: Michael Paquier <michael@paquier.xyz>
Date: 2026-04-09T22:55:16Z
Releases: 15.18
Enhance make_ctags and make_etags.

make_ctags did not include field members of structs since the commit
964d01ae90c314eb31132c2e7712d5d9fc237331.

For example, in the following field of RestrictInfo:

   Selectivity norm_selec pg_node_attr(equal_ignore);

pg_node_attr was mistakenly interpreted to be the name of the field.
To fix this, add -I option to ctags command if the command is
Exuberant ctags or Universal ctags (for plain old ctags, struct
members are not included in the tags file anyway).

Also add "-e" and "-n" options to make_ctags. The -e option invokes
ctags command with -e option, which produces TAGS file for emacs. This
allows to eliminate duplicate codes in make_etags so that make_etags
just exec make_ctags with -e option.

The -n option allows not to produce symbolic links in each
sub directory (the default is producing symbolic links).

This includes the follow-up fixes: 87f21d2c6890 and ae66716bf3ef.  This
change is applied to v15 and v14, v16 and nwer versions already
including these improvements.  One reason why I am doing this backpatch
is that this can be really useful for backpatching purposes, especially
the -n option that limits the number of TAGS/tags files created in the
tree.

Author: Yugo Nagata
Reviewers: Alvaro Herrera, Tatsuo Ishii
Discussion: https://postgr.es/m/flat/20221007154442.76233afc7c5b255c4de6528a%40sraoss.co.jp
Discussion: https://postgr.es/m/adcKr7fob5ZvjhlH@paquier.xyz
Backpatch-through: 14

Files

PathChange+/−
src/tools/make_ctags modified +66 −14

Discussion

Cited messages not in the archive: flat/20221007154442.76233afc7c5b255c4de6528a@sraoss.co.jp