[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: How to add pseudo vector types

From: Yuan Fu
Subject: Re: How to add pseudo vector types
Date: Wed, 14 Jul 2021 20:26:09 -0400

On Jul 14, 2021, at 7:48 PM, Yuan Fu <casouri@gmail.com> wrote:

And how do I use a USER_PTR? Do I cast it into (struct Lisp_User_Ptr) and
use it normally, or is there some helper function that I should use?

Most likely you'll want some of your functions to take objects that
should be "tree sitter parsers", but you'll only receive a Lisp_Object
so you'll need to be able to *test* that the object you received is
indeed a "tree sitter parser".

For that reason you'll probably want to add a new entry to `pvec_type`
rather than use a USER_PTR.

Actually, what is the correct way to provide a pointer from a dynamic module to Emacs core? I tried to use USER_PTR, but the dynamic module can only return an emacs_value, and to convert an emacs_value to a Lisp_Object, I need to use value_to_lisp, which is not exposed by emacs-module.c.

I want to provide individual tree-sitter language definitions from dynamic modules so that one don’t need to compile Emacs with language definitions.

I just realized that I can regard emacs_value just as Lisp_Object. Is that right?


reply via email to

[Prev in Thread] Current Thread [Next in Thread]