Fix make_etags breakage on certain platforms.
authorTatsuo Ishii
Wed, 14 Jun 2023 02:11:18 +0000 (11:11 +0900)
committerTatsuo Ishii
Wed, 14 Jun 2023 02:11:18 +0000 (11:11 +0900)
make_etags produced wrong format TAGS files on platforms such as Mac,
which uses non-Exuberant ctags.

Author: Masahiko Sawada
Reviewed-by: Tatsuo Ishii
Backpatch-through: 15
Discussion: https://postgr.es/m/CAD21AoDmCqpS%2BU6b9Bc-b4OFx3tz%3DNv6O2KVkoVg7sHk60spjA%40mail.gmail.com

src/tools/make_ctags

index d8d18d1569f984d85e526b99a6e40172797b0132..9e952ce916f234d923f62aff3787bcf16430b917 100755 (executable)
@@ -38,11 +38,10 @@ fi
 find `pwd`/ -type f -name '*.[chyl]' -print |
    xargs ctags -a -f tags "$FLAGS"
 
-# 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" ]
+# Sorting non-Exuberant ctags file allows for fast searching of the tags file.
+# Since etags file has a header that we cannot sort in with the other entries
+# we skip the sort step.
+if [ ! "$IS_EXUBERANT" -a ! "$EMACS_MODE" ]
 then   LC_ALL=C
    export LC_ALL
    sort tags >/tmp/$$ && mv /tmp/$$ tags