It seems I need to inspect my build-environment better.

I built Emacs and the tree-sitter libraries on different hosts without noticing... Building on same host and build completes fine now.

Sorry abut the noise. :)

--
Jostein

On 10.10.2022 22:56, Jostein Kjønigsen wrote:

Hey everyone.

I'm observing this recent activity on this branch with great enthusiasm.

I've recently been trying Emacs from feature/tree-sitter with tree-sitter enabled, but using third-party major modes (co-developed by me and Theodor Thornhill). So far that has worked out OK for me.

While seeing more and more modes getting tree-sitter support main-lined is great, I'm having trouble just building emacs now, and all major-modes using tree-sitter breaks the build, complaining about missing shared libraries.

The command I'm using to build is:

git clean -fdx && make distclean && ./configure --with-tree-sitter ; make -j6

One example error (but I get these for all modes, until I revert them back to their initial version from git-master):

> textmodes/mhtml-mode.el:29:2: Error: Cannot load language definition: "javascript", ("/home/jostein/.emacs.d/tree-sitter/libtree-sitter-javascript: cannot open shared object file: No such file or directory" "/home/jostein/.emacs.d/tree-sitter/libtree-sitter-javascript.so: cannot open shared object file: No such file or directory" "libtree-sitter-javascript: cannot open shared object file: No such file or directory" "libtree-sitter-javascript.so: cannot open shared object file: No such file or directory")

What I don't get about that error-message is that those files have been built and deployed, using https://github.com/casouri/tree-sitter-module.

jostein@dev-jostein:~/.emacs.d/tree-sitter$ ls -l
total 9828
-rwxrwxr-x 1 jostein jostein 2299312 okt.  10 22:12 libtree-sitter-cpp.so
-rwxrwxr-x 1 jostein jostein 4035232 okt.  10 22:12 libtree-sitter-c-sharp.so
-rwxrwxr-x 1 jostein jostein  400968 okt.  10 22:12 libtree-sitter-c.so
-rwxrwxr-x 1 jostein jostein   78280 okt.  10 22:12 libtree-sitter-css.so
-rwxrwxr-x 1 jostein jostein  241448 okt.  10 22:12 libtree-sitter-go.so
-rwxrwxr-x 1 jostein jostein  165584 okt.  10 22:12 libtree-sitter-html.so
-rwxrwxr-x 1 jostein jostein  353536 okt.  10 22:12 libtree-sitter-javascript.so
-rwxrwxr-x 1 jostein jostein   15904 okt.  10 22:12 libtree-sitter-json.so
-rwxrwxr-x 1 jostein jostein  446224 okt.  10 22:12 libtree-sitter-python.so
-rwxrwxr-x 1 jostein jostein  934912 okt.  10 22:12 libtree-sitter-rust.so
-rwxrwxr-x 1 jostein jostein 1070296 mai    9 12:14 libtree-sitter-tsx.so

So what am I doing wrong? How should I build this?

Any help would be appreciated. If I can build it, I can help test-drive and possible also provide patches, but for now I'm stuck.

--
Jostein


On 10.10.2022 19:05, Theodor Thornhill wrote:
My bad, I thought Theodor was saying he would add separate major modes alongside non-tree-sitter major modes for the same language. Reading his message I think he is only adding the tree-sitter powered mode into core and leaving the non-tree-sitter version out.

So IIUC we will have (a) major modes that supports both tree-sitter and non-tree-sitter, and (b) major modes that require tree-sitter to work.

Again, a M-x treesit-enable in a mode that requires tree-sitter to work doesn’t make much sense. I think having individual major-mode level toggle variables and a global toggle variable is conceptually more fit?

Agreed!

--
Vennlig hilsen
Jostein Kjønigsen

jostein@kjonigsen.net 🍵 jostein@gmail.com
https://jostein.kjønigsen.no
--
Vennlig hilsen
Jostein Kjønigsen

jostein@kjonigsen.net 🍵 jostein@gmail.com
https://jostein.kjønigsen.no