Tommaso Cucinotta
2014-05-06 22:57:36 UTC
Hi Tommaso,
Hi,I made the patch work, I have uploaded the patch through git, please do check it out if you get time
https://gist.github.com/HotSushi/75ed590070e293f1b563
Its only specific to Interactive Lyx and does not include chat feature.
Great news :-)! I'll have a look ASAP.https://gist.github.com/HotSushi/75ed590070e293f1b563
Its only specific to Interactive Lyx and does not include chat feature.
------------------------------------------------------------------------------------------------------------------------------------------
I tried doing ' lyx -dbg ' and saw its working, Is there a method to trigger a debug message?
You can tryBe aware of its embedded debugging feature: 'lyx -dbg this,that,whatever' will enable debugging >on the terminal of those comma-separated list of components.
How do I debug, lets say I want to track the flow of your patch, how do I do it? Should I sprinkle some printfs or LYXERRORs or logsyserr() so that I know whats going on?I tried doing ' lyx -dbg ' and saw its working, Is there a method to trigger a debug message?
lyx -dbg any
that simply dumps all the LYXERR(...) debugging messages. Using "-dbg gui" should give you plenty of messages related to the GUI. However, I'm seeing from the patch that I used for who know what reason LYXERR(Debug::ACTION, ....), so I guess "-dbg action" should give you back those messages.
And, if you need to add more, you can try LYXERR(Debug::PICK_ANY_THAT_SEEMS_RELEVANT, ...);
------------------------------------------------------------------------------------------------------------------------------------------
I have a branch called patch on which I worked on the patch! btw I think I created a remote called "gsoc"
compile
interactive
master
* patch
if i do
will it work?
but my work is in 'patch' branch.
Vincent, can you help here ?are you accessing the repo in read-only / anonymous mode, or did you clone with your own R/W >access to the gsoc repo ? (Vincent should have granted you R/W access, right?)
So how do I push,I have a branch called patch on which I worked on the patch! btw I think I created a remote called "gsoc"
compile
interactive
master
* patch
if i do
will it work?
but my work is in 'patch' branch.
--------------------------------------------------------------------------------------------------------------------------------------------
How will the pushing work? will it copy all of my branches remotely?
How will it be useful?
lets say I created a separate playground branch called gsoc/sushant like how you did.
and say I have multiple local branches ( several I finished working with)
b1 <finished>
b2 <finished>
b3
so, what can I do with this branches. Does pushing allow me to publish those branches?like gsoc/sushant/b1
gsoc/sushant/b2
I am basically trying to ask is How do I make my branches (b1,b2) remote, preferably grouped together (gsoc/sushant) as shown above? and what is the use of pushing except that it will stay safe and can been made public?
Branches are generally useful to try realizing a new feature in a branch, for later merging it with the master. A playground branch may be useful to try out some change to LyX without discarding it afterwards, i.e., you would commit those changes to the playground branch. Later you can cherry-pick that commit from any other branch, if you realize it was useful. Remote branches can be made public, so you can share them with us.How will the pushing work? will it copy all of my branches remotely?
git push gsoc interactive
|http://wiki.lyx.org/Devel/LyXGit
||http://wiki.lyx.org/Devel/LyXGit
How will it be useful?
lets say I created a separate playground branch called gsoc/sushant like how you did.
and say I have multiple local branches ( several I finished working with)
b1 <finished>
b2 <finished>
b3
so, what can I do with this branches. Does pushing allow me to publish those branches?like gsoc/sushant/b1
gsoc/sushant/b2
I am basically trying to ask is How do I make my branches (b1,b2) remote, preferably grouped together (gsoc/sushant) as shown above? and what is the use of pushing except that it will stay safe and can been made public?
You don't need to work on multiple branches. It is sufficient that you work on your own local branch, and that you make it accessible to us (pushing it to a remote) whenever you want to share it. If getting push to the LyX gsoc repo to work is not immediate, we can use github as well. The important thing is get going.
_________________________________________________________________________________
I have been going through the code last couple of days, I understood the patch thoroughly! I have been through the coding rules 'lyx/development/coding'.
Very good start! And, posting your questions and thoughts, as below, is just extremely good...I have been going through the code last couple of days, I understood the patch thoroughly! I have been through the coding rules 'lyx/development/coding'.
A simple question: Instead of polling for the incoming lfuns was it not possible to have a separate listening thread for each remote BufferVIew all together? Does lyx architecture provide thread functionality?
LyX is internally non-threaded when it's about manipulating the internal document model, so that's why the polling: I used sockets without any blocking call! That way, any incoming LFUN can be dispatched within the same thread that dispatches other LFUNs. The outcome of different threads dispatching LFUNs concurrently on the same Buffer might be catastrophic (AFAIK). Threads and processes are used, instead, for external tools that need to convert images and other external material, compile the document with latex et al., etc... Also, there's an experimental Advanced Find & Replace patch of mine somewhere using multiple threads to accelerate the search.I was thinking of playing with CursorSlice, BufferView, Buffer next, so that I get their working.
Please, detail, I'm curious to hear..._________________________________________________________________________________
P.S. wow! this email turned out big. :-)
No prob at all... keep asking pls.P.S. wow! this email turned out big. :-)
T.