From 7c19f9d139e76529bbb94b1bde7bc4c19f1bc37a Mon Sep 17 00:00:00 2001 From: Bruce Momjian Date: Fri, 24 Feb 2012 16:17:07 -0500 Subject: [PATCH] Update src/tools/make_ctags to avoid Exuberant tags option that has been renamed and undocumented since 2003; instead, use the documented option. Add comments. --- src/tools/make_ctags | 41 +++++++++++++++++++++++++++++++---------- 1 file changed, 31 insertions(+), 10 deletions(-) diff --git a/src/tools/make_ctags b/src/tools/make_ctags index 4fc01f543d..37ac134aa3 100755 --- a/src/tools/make_ctags +++ b/src/tools/make_ctags @@ -5,20 +5,41 @@ trap "rm -f /tmp/$$" 0 1 2 3 15 rm -f ./tags -cv=`ctags --version 2>&1 | grep Exuberant` +IS_EXUBERANT="" +ctags --version 2>&1 | grep Exuberant && IS_EXUBERANT="Y" -if [ -z "$cv" ] -then FLAGS="-dt" -else FLAGS="--c-types=+dfmstuv" +# List of kinds supported by Exuberant Ctags 5.8 +# generated by ctags --list-kinds +# c classes +# d macro definitions +# e enumerators (values inside an enumeration) +# f function definitions +# g enumeration names +# l local variables [off] +# m class, struct, and union members +# n namespaces +# p function prototypes [off] +# s structure names +# t typedefs +# u union names +# v variable definitions +# x external and forward variable declarations [off] + +if [ "$IS_EXUBERANT" ] +then FLAGS="--c-kinds=+dfmstuv" +else FLAGS="-dt" fi -find `pwd`/ \( -name _deadcode -prune \) -o \ - -type f -name '*.[chyl]' -print | - xargs ctags "$FLAGS" -a -f tags +# this is outputting the tags into the file 'tags', and appending +find `pwd`/ -type f -name '*.[chyl]' -print | + xargs ctags -a -f tags "$FLAGS" -if [ -z "$cv" ] -then - LC_ALL=C +# Exuberant tags has a header that we cannot sort in with the other entries +# so we skip the sort step +# Why are we sorting this? I guess some tag implementation need this, +# particularly for append mode. bjm 2012-02-24 +if [ ! "$IS_EXUBERANT" ] +then LC_ALL=C export LC_ALL sort tags >/tmp/$$ && mv /tmp/$$ tags fi