From: João Távora Date: Fri, 7 Apr 2023 18:40:27 +0000 (+0100) Subject: Eglot: be careful about gfm-view-mode read-only buffers X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=7239098ad436a10afddce117ab224189f6bd6b7f;p=emacs.git 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. --- 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