From 4de911b6ed34ee1a728e1c57a65e9314f3785dc4 Mon Sep 17 00:00:00 2001 From: Spencer Baugh Date: Wed, 28 Jun 2023 08:48:01 -0400 Subject: [PATCH] Make newly-created smerge-diff-buffers read-only Buffers name *vc-diff* are usually created by vc, which makes them read-only. If we create such a buffer, let's make it read-only too. If the buffer already exists, though, don't change that since the user might have deliberately made it writable. * lisp/vc/smerge-mode.el (smerge-diff): Make newly-created smerge-diff-buffers read-only. (bug#64071) --- lisp/vc/smerge-mode.el | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/lisp/vc/smerge-mode.el b/lisp/vc/smerge-mode.el index c39a9cc2f22..524a042fb55 100644 --- a/lisp/vc/smerge-mode.el +++ b/lisp/vc/smerge-mode.el @@ -1243,7 +1243,11 @@ smerge-diff (write-region beg1 end1 file1 nil 'nomessage) (write-region beg2 end2 file2 nil 'nomessage) (unwind-protect - (with-current-buffer (get-buffer-create smerge-diff-buffer-name) + (save-current-buffer + (if-let (buffer (get-buffer smerge-diff-buffer-name)) + (set-buffer buffer) + (set-buffer (get-buffer-create smerge-diff-buffer-name)) + (setq buffer-read-only t)) (setq default-directory dir) (let ((inhibit-read-only t)) (erase-buffer) -- 2.39.3