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