Subject: bug#68648: 30.0.50; read-only-mode-hook's are not executed when buffer-read-only is t

From: Eli Zaretskii <[email-masked]>
Date: Thu, 01 Feb 2024 11:48:31 +0200

> Cc: [email-masked]
> Date: Tue, 23 Jan 2024 20:23:16 +0200
> From: Eli Zaretskii <[email-masked]>
> 
> > From: Björn Bidar <[email-masked]>
> > Cc: Björn Bidar via Bug reports for GNU Emacs, the Swiss army knife of text editors <[email-masked]>,
> >   [email-masked]
> > Date: Tue, 23 Jan 2024 15:47:01 +0200
> > 
> > Eli Zaretskii <[email-masked]> writes:
> > 
> > >> 1. (add-hook 'read-only-mode-hook (lambda () (print "foobar")))
> > >> 2. open file that is read-only
> > >> 3. foobar should be print but isn't.
> > >
> > > That's because read-only-mode is not entered when you visit a
> > > write-protected file.
> > 
> > It does look like the mode is entered because when calling
> > read-only-mode it is disabled.
> 
> That's only a circumstantial evidence.  read-only-mode is a thin
> wrapper around buffer-read-only variable, but setting buffer-read-only
> directly (which is what we do when you visit a write-protected file)
> doesn't invoke the mode function, and thus the mode hook is not run.
> For the same reason, the setting of view-read-only is not honored in
> the scenario you described.

Stefan & Stefan, any comments or opinions on this issue?  I' debating
whether to do anything (and if so, what) about this, or close this bug
as wontfix.

TIA