Subject: Re: bug#42028: [Feature Request] 27.0.91; Provide the ability dynamic modules to post events in emacs event loop

From: Eli Zaretskii <[email-masked]>
Date: Wed, 24 Jun 2020 20:07:50 +0300

> From: yyoncho <[email-masked]>
> Date: Wed, 24 Jun 2020 19:46:56 +0300
> Cc: [email-masked]
> 
> 1. JSON parsing to Jansson data structures
> 2. Converting Jasson data structures to lisp data structures.
> 
> If we assume that 1 is taking most of the time

Does it?  Did someone time these separately?

> start(string, callback) -> convert string to char* -> post it to worker thread -> worker thread does the parsing
> -> worker thread post to main loop -> main loop converts Jansson ds to lisp ds -> main loop
> calls the callback passed on start

You cannot easily post to the queue from a worker thread, because the
queue cannot be posted to asynchronously.

And I lack the larger picture: how would this work within a framework
of some Emacs feature?  E.g., how will this processed be triggered,
and by what kind of trigger?

> The same strategy probably could be applied to Font locking with TreeSitter. 

Again, I don't see the wider picture.  Are you familiar with how the
current JIT font-lock works?  If so, can you explain which parts of
that will be replaced/modified, and how?