Subject: bug#26947: Preserve read-only when debugger with let-bound inhibit-read-only t.

From: Lars Ingebrigtsen <[email-masked]>
Date: Fri, 13 Aug 2021 15:49:01 +0200

Keith David Bershatsky <[email-masked]> writes:

> Entering the debugger when inhibit-read-only is let-bound to `t`
> causes all buffers to be read/write even though they may have
> `buffer-read-only` set to `t`.
>
> Step #1:  Launch with emacs -q.
>
> Step #2:  Navigate to the `*scratch*` buffer and set to read-only with C-x C-q.
>
> Step #3:  Evaluate:  (let ((inhibit-read-only t)) (error "stop"))
>
> Step #4: Select the window display the `*scratch*` buffer and type
> something.  All open buffers are read/write.

Full test case:

(progn
  (setq debug-on-error t
	buffer-read-only t)
  (let ((inhibit-read-only t)) (error "stop")))

This should now be fixed in Emacs 28.

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no