Subject: Re: bug#78221: 31.0.50; Improving *-change-functions notifications

From: Alan Mackenzie <[email-masked]>
Date: Sun, 4 May 2025 18:41:06 +0000

Hello, Stefan.

On Sun, May 04, 2025 at 14:18:35 -0400, Stefan Monnier wrote:
> > From my notes from 2018, the command I used on cflow was:

> > $ cflow --reverse -b -i +s --cpp -I. -I../lib -I/usr/include/glib-2.0 \
> >   -I/usr/lib64/glib-2.0/include -I/usr/include/libxml2 buffer.c \
> >   callproc.c \
> >   casefiddle.c cmds.c coding.c decompress.c editfns.c emacs.c \
> >   fileio.c fns.c \
> >   indent.c insdel.c print.c process.c search.c textprop.c \
> >   xdisp.c xml.c 2> /dev/null > ~/cflow.20180102b.txt.

> > I no longer remember what the options mean, but the files I scanned were
> > those containing calls to insdel.c's externally visible functions.

> Thanks.  That gives me the same problems.  🙁

Sorry about that.

> > I later analysed cflow.20180102b.txt with an elisp script, which I still
> > have, and could send to you if you're interested.  (It's 125 lines long,
> > but poorly commented.)  This script scanned the cflow output,
> > recursively finding callers (direct and indirect) of
> > signal_\(before\|after\)_change.

> Can't hurt, thanks.

OK, it's attached.  To run it, use M-: (find-change-functions), M-:
(find-primitives), or M-: (make-primitive-calls) (not very useful).  For
these, the current buffers needs to be the cflow output.

>         Stefan

-- 
Alan Mackenzie (Nuremberg, Germany).