Re: make_ctags: use -I option to ignore pg_node_attr macro

From: Masahiko Sawada <sawada(dot)mshk(at)gmail(dot)com>
To: Tatsuo Ishii <ishii(at)sraoss(dot)co(dot)jp>
Cc: masao(dot)fujii(at)oss(dot)nttdata(dot)com, nagata(at)sraoss(dot)co(dot)jp, alvherre(at)alvh(dot)no-ip(dot)org, pgsql-hackers(at)postgresql(dot)org
Subject: Re: make_ctags: use -I option to ignore pg_node_attr macro
Date: 2023-06-14 05:08:59
Message-ID: CAD21AoAfT_90Y4rpoE5mwyCKyUtsWZUocLm+Jojb5Br3GvHAkw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Wed, Jun 14, 2023 at 11:16 AM Tatsuo Ishii <ishii(at)sraoss(dot)co(dot)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

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Amit Langote 2023-06-14 05:34:56 Re: Views no longer in rangeTabls?
Previous Message Masahiko Sawada 2023-06-14 05:06:26 Re: Replace (GUC_UNIT_MEMORY | GUC_UNIT_TIME) with GUC_UNIT in guc.c