Hi,
I found that tag files generated by src/tools/make_ctags
doesn't include some keywords, that were field names of node
structs, for example norm_select in RestrictInfo. Such fields
are defined with pg_node_attr macro that was introduced
recently, like:
Selectivity norm_selec pg_node_attr(equal_ignore);
In this case, pg_node_attr is mistakenly interpreted to be
the name of the field. So, I propose to use -I option of ctags
to ignore the marco name. Attached is a patch to do it.
Regards,
Yugo Nagata
--
Yugo NAGATA <[email protected]>
diff --git a/src/tools/make_ctags b/src/tools/make_ctags
index 912b6fafac..32b475e82c 100755
--- a/src/tools/make_ctags
+++ b/src/tools/make_ctags
@@ -34,9 +34,12 @@ then FLAGS="--c-kinds=+dfmstuv"
else FLAGS="-dt"
fi
+# List of identifiers to ignore
+IGNORE_LIST="pg_node_attr+"
+
# this is outputting the tags into the file 'tags', and appending
find `pwd`/ -type f -name '*.[chyl]' -print |
- xargs ctags -a -f tags "$FLAGS"
+ xargs ctags -a -f tags "$FLAGS" -I "$IGNORE_LIST"
# Exuberant tags has a header that we cannot sort in with the other entries
# so we skip the sort step