Linux Trace Kernel
 help / color / mirror / Atom feed
* [PATCH v2] scripts: Have make TAGS not include structure members
@ 2026-05-27 16:11 Steven Rostedt
  2026-05-27 16:29 ` Peter Zijlstra
  0 siblings, 1 reply; 4+ messages in thread
From: Steven Rostedt @ 2026-05-27 16:11 UTC (permalink / raw)
  To: LKML, Linux trace kernel, linux-kbuild
  Cc: Andrew Morton, Masahiro Yamada, Masatake YAMATO, Peter Zijlstra,
	Geert Uytterhoeven, Michal Marek, Yang Bai, Stephen Boyd

From: Steven Rostedt <rostedt@goodmis.org>

It is really annoying when I use emacs TAGS to search for something
like "dev_name" and have to go through 12 iterations before I find the
function "dev_name". I really do not care about structures that include
"dev_name" as one of its fields, and I'm sure pretty much all other
developers do not care either.

There's a "remove_structs" variable used by the scripts/tags.sh, which
I'm guessing is suppose to remove these structures from the TAGS file,
but it must do a poor job at it, as I'm always hitting structures when
I want the actual declaration.

Luckily, the etags program comes with an option "--no-members", which does
exactly what I want, and I'm sure all other kernel developers want too.

Create a new "no_members" variable and assign it to "--no-members" for the
"TAGS" case and pass that to the etags program to remove structures.

Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
---
Changes since v1: https://lore.kernel.org/all/20131115093645.6dc03918@gandalf.local.home/

- Use a no_members variable instead of hard coding the --no-members into
  the etags call, as that can break some "tags" cases. (Michal Marek)

- Rebase to the current decade. Yes, v1 is from 2013. I've been carrying
  this patch in my personal repos as a quilt entry where I would just push
  it when doing a "make TAGS". I also have the conversation still in my
  INBOX to remind me to send a v2. Talk about procrastination! It only
  took me 13 years to send the v2 :-p

  I'm still keeping the same Cc's. I wonder how many of them will be
  broken. :-/

 scripts/tags.sh | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/scripts/tags.sh b/scripts/tags.sh
index 243373683f98..018588014eed 100755
--- a/scripts/tags.sh
+++ b/scripts/tags.sh
@@ -305,7 +305,7 @@ exuberant()
 emacs()
 {
 	setup_regex emacs asm c
-	all_target_sources | xargs $1 -a "${regex[@]}"
+	all_target_sources | xargs $1 -a $no_members "${regex[@]}"
 
 	setup_regex emacs kconfig
 	all_kconfigs | xargs $1 -a "${regex[@]}"
@@ -334,6 +334,7 @@ if [ "${ARCH}" = "um" ]; then
 fi
 
 remove_structs=
+no_members=
 case "$1" in
 	"cscope")
 		docscope
@@ -353,6 +354,7 @@ case "$1" in
 		rm -f TAGS
 		xtags etags
 		remove_structs=y
+		no_members=--no-members
 		;;
 esac
 
-- 
2.53.0


^ permalink raw reply related	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2026-05-27 18:47 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-05-27 16:11 [PATCH v2] scripts: Have make TAGS not include structure members Steven Rostedt
2026-05-27 16:29 ` Peter Zijlstra
2026-05-27 16:31   ` [PATCH v2] scripts: Have make TAGS not include structure members' Peter Zijlstra
2026-05-27 18:47   ` [PATCH v2] scripts: Have make TAGS not include structure members Steven Rostedt

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox