On Wed, Jun 14, 2023 at 11:16 AM Tatsuo Ishii <is...@sraoss.co.jp> wrote: > > > Hi Sawada-san, > > > >> In my Mac environment where non-Exuberant ctags and emacs 28.2 are > >> installed, the generated etags file cannot be loaded by emacs due to > >> file format error. The generated TAGS file is: > >> > >> % head -10 TAGS > >> > >> ) / > >> sizeof(BlockNumber)sizeof(BlockNumber)117,3750 > >> my > >> @newa newa395,10443 > >> > >> variadic array[1,2]:array[1,2]56,1803 > >> > >> variadic array[]::inarray[]::i72,2331 > >> > >> variadic array[array64,2111 > >> > >> variadic array[array68,2222 > >> > >> variadic array[array76,2441 > >> (2 * (2 53,1353 > >> my $fn fn387,10147 > >> startblock 101,4876 > >> > >> Since the etags files consist of multiple sections[1] we cannot sort > >> the generated etags file. With the attached patch, make_etags (with > >> non-Exuberant ctags) generates a correct format etags file and it > >> works: > >> > >> % head -10 TAGS > >> > >> /Users/masahiko/pgsql/source/postgresql/GNUmakefile,1187 > >> subdir 7,56 > >> top_builddir 8,65 > >> docs:docs13,167 > >> world-contrib-recurse:world-contrib-recurse19,273 > >> world-bin-contrib-recurse:world-bin-contrib-recurse24,394 > >> html man:html man26,444 > >> install-docs:install-docs29,474 > >> install-world-contrib-recurse:install-world-contrib-recurse35,604 > >> > >> BTW regarding the following comment, as far as I can read the > >> Wikipedia page for ctags[1], Exuberant ctags file doesn't have a > >> header section. > >> > >> # 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" ] > >> > >> Instead, the page says that sorting non-Exuberant tags file allows for > >> faster searching on of the tags file. I've fixed the comment > >> accordingly too. > >> > >> Regards, > >> > >> [1] https://en.wikipedia.org/wiki/Ctags#Etags_2 > > > > Sorry for late reply and thanks for the patch! > > > > I have confirmed the error with make_etags on my Mac (emacs 28.1 + > > non-Exuberant ctags), and the error is fixed by your patch. Also I > > have confirmed the patch does not affect make_etags on my Linux (emacs > > 26.3 + Exuberant ctags). > > > > I will push the fix to REL_15_STABLE and master branch if there's no > > objection. > > Fix pushded. Thanks!
Thank you! Regards, -- Masahiko Sawada Amazon Web Services: https://aws.amazon.com