rudel icon indicating copy to clipboard operation
rudel copied to clipboard

Development docs/guides/tips/help?

Open npostavs opened this issue 8 years ago • 2 comments

Hi, I'm trying to work out how the rudel code is put together, though I'm finding the CLOS based stuff a bit hard to follow. I've looked at doc/development.org but it's a bit thin, and there are a bunch of links to seemingly non-existent files.

Do you happen to know where images/obby-client-connection-states.png or images/infinote-client-connection-states.png are? Any other tips for understanding/debugging the code?

npostavs avatar May 26 '17 01:05 npostavs

Hi.

Firstly, I no longer develop or maintain Rudel. Its new home is http://elpa.gnu.org/packages/rudel.html. This repository is just an archive.

Hi, I'm trying to work out how the rudel code is put together, though I'm finding the CLOS based stuff a bit hard to follow.

Yeah, sorry. I designed the architecture with a stronger focus on flexibility than necessary.

I've looked at doc/development.org but it's a bit thin, and there are a bunch of links to seemingly non-existent files.

Some of the files probably got lost in the various transitions between version control systems and repository servers.

Do you happen to know where images/obby-client-connection-states.png or images/infinote-client-connection-states.png are?

I think those used to be generated from the code of the respective state machines. I can't find the code for doing that, though.

Any other tips for understanding/debugging the code?

There are files rule-debug.el as well as <backend>/rule-<backend>-debug.el which contain generic and backend-specific debugging tools. If I remember correctly, the primary functionality consists in logging remote communication and state transitions into a buffer.

Hope that helps.

scymtym avatar May 26 '17 08:05 scymtym

Firstly, I no longer develop or maintain Rudel. Its new home is http://elpa.gnu.org/packages/rudel.html. This repository is just an archive.

Right, sorry, I should have mentioned off the top that I was already aware of that. I think the ELPA version is also barely maintained (no change to the code apart from fixing errors due to newer Emacs versions, e.g. Bug#24348) because nobody really knows much about the code, so I figured I'd look for some guidance elsewhere. I also posted to the old sourceforge mailing list: https://sourceforge.net/p/rudel/mailman/message/35860154/.

I think those used to be generated from the code of the respective state machines. I can't find the code for doing that, though.

Ah, that's too bad, the state machine code seems be to spread out, an overview would have been nice...

There are files rule-debug.el as well as /rule--debug.el which contain generic and backend-specific debugging tools. If I remember correctly, the primary functionality consists in logging remote communication and state transitions into a buffer.

Hmm, it seems to be broken, I can't successfully connect when I add -l rudel-debug.el. There is an error message save-current-buffer: Buffer is read-only: #<buffer *rudel-socket-transport stream*>

npostavs avatar May 27 '17 15:05 npostavs