Subject: bug#65813: [PATCH] Fix elixir-ts-mode with embedded heex

From: john muhl <[email-masked]>
Date: Thu, 07 Sep 2023 15:46:47 -0500

Tags: patch

The elixir test with embedded heex fails after d05494a9ff8. Restoring
the ‘(when (eq (treesit-parser-language parser) language)’ part fixes
it. The call to ‘(treesit-parser-list language)’ was not working right
either since t-p-l expects the optional argument to be a buffer but
language is a string like "heex".

>From 2d7ea1119f12890350f0c04b1e6c70a9856e1f87 Mon Sep 17 00:00:00 2001
From: john muhl <[email-masked]>
Date: Thu, 7 Sep 2023 15:43:01 -0500
Subject: [PATCH] Check embedded languages use the correct parser

* lisp/treesit.el (treesit-update-ranges): Restore check to
ensure embedded languages are handled by the appropriate parser.
---
 lisp/treesit.el | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/lisp/treesit.el b/lisp/treesit.el
index 6fefc122582..63515e7f45c 100644
--- a/lisp/treesit.el
+++ b/lisp/treesit.el
@@ -680,9 +680,11 @@ treesit-update-ranges
                             (treesit--merge-ranges
                              old-ranges new-ranges beg end)
                             (point-min) (point-max))))
-          (dolist (parser (treesit-parser-list language))
-            (treesit-parser-set-included-ranges
-             parser set-ranges))))))))
+          (dolist (parser (treesit-parser-list))
+            (when (eq (treesit-parser-language parser)
+                      language)
+              (treesit-parser-set-included-ranges
+               parser set-ranges)))))))))
 
 (defun treesit-parser-range-on (parser beg &optional end)
   "Check if PARSER's range covers the portion between BEG and END.
-- 
2.41.0