GNU bug report logs - #68648
30.0.50; read-only-mode-hook's are not executed when buffer-read-only is t

Previous Next

Package: emacs;

Reported by: Björn Bidar <bjorn.bidar <at> thaodan.de>

Date: Sun, 21 Jan 2024 20:36:02 UTC

Severity: normal

Found in version 30.0.50

Done: Eli Zaretskii <eliz <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Eli Zaretskii <eliz <at> gnu.org>
To: Björn Bidar <bjorn.bidar <at> thaodan.de>
Cc: 68648 <at> debbugs.gnu.org
Subject: bug#68648: 30.0.50; read-only-mode-hook's are not executed when buffer-read-only is t
Date: Tue, 23 Jan 2024 20:23:16 +0200
> From: Björn Bidar <bjorn.bidar <at> thaodan.de>
> Cc: Björn Bidar via Bug reports for GNU Emacs, the Swiss army knife of text editors <bug-gnu-emacs <at> gnu.org>,
>   68648 <at> debbugs.gnu.org
> Date: Tue, 23 Jan 2024 15:47:01 +0200
> 
> Eli Zaretskii <eliz <at> gnu.org> 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.




This bug report was last modified 1 year and 103 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.