Subject: bug#64439: 28.2; auto-fill-mode gets turned on all over the place

From: Eli Zaretskii <[email-masked]>
Date: Mon, 03 Jul 2023 21:29:38 +0300

> From: David Howells <[email-masked]>
> Cc: [email-masked], [email-masked]
> Date: Mon, 03 Jul 2023 18:48:41 +0100
> 
> Eli Zaretskii <[email-masked]> wrote:
> 
> > Try evaluating this:
> > 
> >   (defun my-watcher (_symbol new-value operation where)
> >     (error "auto-fill-mode: %s %s %s" new-value operation where))
> >   (add-variable-watcher 'auto-fill-function 'my-watcher)
> >   (debug-on-entry 'my-watcher)
> > 
> > and run your sessions with this.  Whenever auto-fill-mode is turned
> > on, you will get a backtrace.
> 
> I restarted emacs and added the above.  I was editing some C code, pressed
> enter and got:
> 
> 	Debugger entered--entering a function:
> 	* my-watcher(auto-fill-function nil set nil)
> 	  newline(nil 1)
> 	  funcall-interactively(newline nil 1)
> 	  command-execute(newline)

Hmm...

> auto-fill-mode didn't seem to turn on, though

Because the function newline only let-binds auto-fill-function
locally.

I guess tracking down this problem will be harder, then.  I hope I at
least gave you some ideas with which you will be able to construct a
suitable trap and find the culprit.  Good luck!