emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

master 7239098ad43 1/3: Eglot: be careful about gfm-view-mode read-only


From: João Távora
Subject: master 7239098ad43 1/3: Eglot: be careful about gfm-view-mode read-only buffers
Date: Fri, 7 Apr 2023 15:07:44 -0400 (EDT)

branch: master
commit 7239098ad436a10afddce117ab224189f6bd6b7f
Author: João Távora <joaotavora@gmail.com>
Commit: João Távora <joaotavora@gmail.com>

    Eglot: be careful about gfm-view-mode read-only buffers
    
    Although in most situations this doesn't error, it's only because of
    the very wide binding of inhibit-read-only in jsonrpc--process-filter.
    That binding will soon be narrowed, so better not rely on it.
    
    Originally reported in
    https://github.com/joaotavora/eglot/discussions/1202.
    
    * lisp/progmodes/eglot.el (eglot--format-markup): Inhibit
    read-only before touching buffer potentially in gfm-view-mode.
---
 lisp/progmodes/eglot.el | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/lisp/progmodes/eglot.el b/lisp/progmodes/eglot.el
index db57b122a94..da7e53730e7 100644
--- a/lisp/progmodes/eglot.el
+++ b/lisp/progmodes/eglot.el
@@ -1672,9 +1672,10 @@ Doubles as an indicator of snippet support."
         (ignore-errors (delay-mode-hooks (funcall mode)))
         (font-lock-ensure)
         (goto-char (point-min))
-        (while (setq match (text-property-search-forward 'invisible))
-          (delete-region (prop-match-beginning match)
-                         (prop-match-end match)))
+        (let ((inhibit-read-only t))
+          (while (setq match (text-property-search-forward 'invisible))
+            (delete-region (prop-match-beginning match)
+                           (prop-match-end match))))
         (string-trim (buffer-string))))))
 
 (define-obsolete-variable-alias 'eglot-ignored-server-capabilites



reply via email to

[Prev in Thread] Current Thread [Next in Thread]