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

From: Stefan Monnier <[email-masked]>
Date: Sat, 03 May 2025 12:45:18 -0400

> ../lisp/progmodes/verilog-mode.el:3558:      (run-hook-with-args
> 'before-change-functions (point-min) (point-max))
> ../lisp/progmodes/verilog-mode.el:3570:        (run-hook-with-args
> 'after-change-functions (point-min) (point-max)

I think these are OK.
It's doing something similar to `combine*change-functions`.

> ../lisp/cedet/srecode/insert.el:132:       (run-hook-with-args 'after-change-functions

This one looks quite wrong.

> ../lisp/subr.el:5414:        (run-hook-with-args 'before-change-functions beg end))
> ../lisp/subr.el:5471:        (run-hook-with-args 'after-change-functions

These are for `combine*change-functions`.

> ../lisp/emulation/viper-cmd.el:139:  (run-hook-with-args 'viper-after-change-functions beg end len))
> ../lisp/emulation/viper-cmd.el:143:  (run-hook-with-args 'viper-before-change-functions beg end))

False positives.

> ../lisp/format.el:472:      (run-hook-with-args 'after-change-functions (point) (+ (point) size) 0))

Looks wrong as well.

> ../test/lisp/emacs-lisp/track-changes-tests.el:141:
> (run-hook-with-args 'after-change-functions
> ../test/lisp/emacs-lisp/track-changes-tests.el:143:
> (run-hook-with-args 'before-change-functions beg end))))

These are purposefully wrong (to check that `track-changes` is able to
withstand such occurrences).

        Stefan