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 <nag...@sraoss.co.jp>
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

Reply via email to