[Matthieu Moy]

>Hi,

Un beau bonjour, Matthieu! :-)

Well, it seems I'm back to Pymacs maintenance.  I finally decided to 
resume it, because the maintainer who replaced me now been unreachable 
for quite a long time.  I hope nothing bad happened to him...

>I'm evaluating Pymacs to write an interface to bzr (a revision control 
>system written in python) for Emacs.  I'm a beginner in Python which 
>makes it more difficult ;-).  First, I have a problem installing 
>Pymacs.  [...]

Pymacs 0.23 is not far from being ready for release.  The installation 
process changed enough that it would not be very significant that I try 
to understand or address the problems you reported.  Moreover, it is 
very likely that you have been able to overcome them since you wrote 
that letter! ½ :-)

>I have one blocking problem: pymacs calls are synchronous, so, for long 
>operations (calls to bzr functions will take a few seconds, or more 
>when accessing remote branches), this freezes Emacs for some time.  
>I suppose a workaround would be to launch a new thread on the python 
>side, so that the lisp function returns immediately, and the new thread 
>would call back the lisp side when finished. However, according to the 
>manual[1], this is not supposed to work since Emacs will not be waiting 
>from the python process at this time. I've tried it to be sure, and it 
>actually doesn't work :-(.

This is the first time I read that someone actually tried.  My 
*untested* feeling is that it can be made to work, but only given some 
careful synchronisation.  For example, I would guess that if only the 
main thread every tries to receive Emacs requests and return replies,
and if that main thread offers facilities for Emacs to create and poll 
other Python threads for termination and possible results (without 
blocking, of course), then a Pymacs application could be made to work 
asynchronously.  Likely, the asynchronicity might have to be driven from 
the Emacs side, which might be an undertaking in itself.  I'm not sure.

>Do you think it is currently possible to make asynchronous calls with 
>Pymacs ?  Will this be supported in the future ?

If some discovers that it actually works, and have some example simple 
enough to be documented, I'm surely not going to break a thread support 
feature without a really compelling reason.  In other words, it would be 
supported as much as reasonably possible.  Hmph!  I guess this might not 
exactly be the formulation of support you wanted to hear... :-)

                                                 Keep happy!

-- 
François Pinard   http://pinard.progiciels-bpi.ca

_______________________________________________
Xtla-el-dev mailing list
[email protected]
https://mail.gna.org/listinfo/xtla-el-dev

Reply via email to