Thanks.  I've just encountered a situation that I'd like to use
code conversion, which may call Feval, inside XTread_socket.
That is related to a callback function for the clipboard, and it
should complete code conversion before it returns.  Thus passing
events to Lisp does not work here.

Is GC the only reason to avoid Feval inside XTread_socket?  If
so, is it possible to use code conversion together with
inhibit_garbage_collection?

The main reason AFAIK is that the Lisp interpreter is not reentrant. If some Lisp code is preempted by a signal and then XTread_socket calls Lisp code, you have two instances of the Lisp interpreter running in parallell, and it is not designed for that. Much like not being thread safe.


        Jan D.



_______________________________________________
Emacs-devel mailing list
Emacs-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-devel

Reply via email to