-
Notifications
You must be signed in to change notification settings - Fork 75
Open
Description
I have a tree-sitter parser that I'm trying to add to emacs-tree-sitter. However, when running (tree-sitter-require 'rsm), I get the following error ("rsm" is the name of my language):
Debugger entered--Lisp error: (tsc-lang-abi-too-new 14 (13 . 13) "/home/leo/.tree-sitter/bin/rsm.so")
tsc--load-language("/home/leo/.tree-sitter/bin/rsm.so" "tree_sitter_rsm" rsm)
(let ((language (tsc--load-language full-path native-symbol-name lang-symbol))) (let* ((key lang-symbol) (v language)) (condition-case nil (with-no-warnings (map-put! tree-sitter-languages key v nil)) (map-not-inplace (setq tree-sitter-languages (map-insert tree-sitter-languages key v)) v))) language)
(let* ((lang-name (symbol-name lang-symbol)) (fallback-name (replace-regexp-in-string "-" "_" lang-name)) (native-symbol-name (or native-symbol-name (format "tree_sitter_%s" fallback-name))) (files (if file (list file) (cons lang-name (if (string= lang-name fallback-name) nil (list fallback-name))))) (full-path (seq-some #'(lambda (base-name) (locate-file base-name tree-sitter-load-path tree-sitter-load-suffixes)) files))) (if full-path nil (error "Cannot find shared library for language: %S" lang-symbol)) (let ((language (tsc--load-language full-path native-symbol-name lang-symbol))) (let* ((key lang-symbol) (v language)) (condition-case nil (with-no-warnings (map-put! tree-sitter-languages key v nil)) (map-not-inplace (setq tree-sitter-languages (map-insert tree-sitter-languages key v)) v))) language))
tree-sitter-load(rsm nil nil)
(or (alist-get lang-symbol tree-sitter-languages) (tree-sitter-load lang-symbol file native-symbol-name))
tree-sitter-require(rsm)
(progn (tree-sitter-require 'rsm))
elisp--eval-last-sexp(t)
eval-last-sexp(t)
eval-print-last-sexp(nil)
funcall-interactively(eval-print-last-sexp nil)
command-execute(eval-print-last-sexp)The only other mention of this error tsc-lang-abi-too-new is here. Following that comment, I downgraded tree-sitter-cli from 0.20 to 0.19.5, and that fixed the issue.
Is there any reason why emacs won't load parsers generated with cli-v0.20? Can we expect this to be solved in the next release? Thanks.
snowman
Metadata
Metadata
Assignees
Labels
No labels