summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoão Távora <joaotavora@gmail.com>2026-06-01 11:48:42 +0100
committerJoão Távora <joaotavora@gmail.com>2026-06-01 19:11:46 +0100
commitbfa4d6dd400f18832aa19df3cdd41bfd763c85f7 (patch)
tree240709d093591c26b64eb820a1cabda4646b8f5a
parent43f163034682d0139a9986117bce7945ed60c1e9 (diff)
Disable markdown-ts-mode & markdown-ts-view-mode for Emacs 31
Ported from emacs-31 release branch: commit 984932d4dc992af384b8201caa6f1ba8457cfb2a Author: Sean Whitton <spwhitton@spwhitton.name> Date: Mon Jun 1 11:48:42 2026 +0100 Disable markdown-ts-mode & markdown-ts-view-mode for Emacs 31 This synchronizes master's Eglot with emacs-31. The goal of that commit is to demote those markdown-ts-mode.el modes to "experimental" status in emacs-31, but Eglot was already relying on them and changes were needed. 984932d4dc992af384b8201caa6f1ba8457cfb2a is not the commit that best does those changes, but since that commit was marked "do not merge" on emacs-31, I thought it best to bring it here manually so any further work -- which doesn't contradict the overarching intention -- can continue in emacs-31 with clean merges to master (where the GNU-devel core Elpa package is pulled from). * lisp/progmodes/eglot.el (eglot-documentation-renderer) (eglot--format-markup): Don't call eglot--builtin-mdown-p. * doc/misc/eglot.texi (Customization Variables): * etc/EGLOT-NEWS: Don't mention markdown-ts-mode Co-authored-by: Sean Whitton <spwhitton@spwhitton.name>
-rw-r--r--doc/misc/eglot.texi17
-rw-r--r--etc/EGLOT-NEWS6
-rw-r--r--lisp/progmodes/eglot.el9
3 files changed, 12 insertions, 20 deletions
diff --git a/doc/misc/eglot.texi b/doc/misc/eglot.texi
index c7c296c24ff..97a934fa953 100644
--- a/doc/misc/eglot.texi
+++ b/doc/misc/eglot.texi
@@ -998,15 +998,14 @@ will consider it to be part of the workspace. The default is
@cindex markdown renderer
@item eglot-documentation-renderer
-This variable controls how Eglot renders at-point documentation
-imported from the server (@pxref{Eglot Features}). By default, the
-variable's value is set during startup to a markdown renderer if
-available, either @code{markdown-ts-view-mode} or
-@code{gfm-view-mode}. These utilities visually enhance the
-documentation content through fontification and other formatting. If
-you set it to @code{t}, plain text will be requested from the server
-and no rendering is attempted. If the variable's value is @code{nil},
-Eglot will attempt to find a suitable renderer every time.
+This variable controls how Eglot renders at-point documentation imported
+from the server (@pxref{Eglot Features}). By default, the variable's
+value is set during startup to the @code{gfm-view-mode} markdown
+renderer if available. This utility visually enhances the documentation
+content through fontification and other formatting. If you set it to
+@code{t}, plain text will be requested from the server and no rendering
+is attempted. If the variable's value is @code{nil}, Eglot will attempt
+to find a suitable renderer every time.
@item eglot-mode-map
This variable is the keymap for binding Eglot-related command. It is in
diff --git a/etc/EGLOT-NEWS b/etc/EGLOT-NEWS
index f0f595fa500..7510f13521e 100644
--- a/etc/EGLOT-NEWS
+++ b/etc/EGLOT-NEWS
@@ -32,11 +32,7 @@ New key bindings: 'k' shuts down, 'r' reconnects, 'e' visits the events
buffer, 'w' shows workspace configuration, and 'RET' invokes
'eglot-describe-connection'.
-** New LSP documentation rendering backends (bug#80127)
-
-Eglot uses new built-in 'markdown-ts-mode' of Emacs 31, which means that
-on newer versions of Emacs the external 'markdown-mode.el' package does
-not need to be installed to render Markdown content.
+** 'eglot-documentation-renderer' replaces 'eglot-prefer-plaintext'.
The variable 'eglot-documentation-renderer' replaces the now-obsolete
'eglot-prefer-plaintext'. By default, the variable selects a markdown
diff --git a/lisp/progmodes/eglot.el b/lisp/progmodes/eglot.el
index 504a5e12112..a8b107b1a89 100644
--- a/lisp/progmodes/eglot.el
+++ b/lisp/progmodes/eglot.el
@@ -537,15 +537,13 @@ or file operation kinds not in the alist."
"If non-nil, activate Eglot in cross-referenced non-project files."
:type 'boolean)
-(defcustom eglot-documentation-renderer (cond ((eglot--builtin-mdown-p)
- 'markdown-ts-view-mode)
- ((fboundp 'gfm-view-mode)
+(defcustom eglot-documentation-renderer (cond ((fboundp 'gfm-view-mode)
'gfm-view-mode)
(t
nil))
"Control rendering of LSP documentation fragments.
-If set to a major mode symbol `gfm-view-mode' or `markdown-ts-view-mode'
-request markdown-snippets and use the corresponding Markdown renderer.
+If set to the major mode symbol `gfm-view-mode', request
+markdown-snippets and use `gfm-view-mode' to render it.
If t, always request and render plain text snippets. If set to nil,
decide dynamically."
:type '(choice (const :tag "Plain text" t)
@@ -2278,7 +2276,6 @@ If MODE, force MODE to be used for fontifying MARKUP."
(cond
(forced-mode forced-mode)
((fboundp eglot-documentation-renderer) eglot-documentation-renderer)
- ((eglot--builtin-mdown-p) #'markdown-ts-view-mode)
((fboundp 'gfm-view-mode) #'gfm-view-mode)
(t #'text-mode)))
(calc (s &optional (forced-mode mode) &aux (x (calc2 forced-mode)))