libera/#sicl - IRC Chatlog
Search
3:12:33
Qwnavery
I noticed you don't have saving files either, and it crashes if you try to load a file that's not there.
3:14:09
Qwnavery
I also had a few ideas of my own that I'd like to implement, like daemonizing the buffers. But I understand now that's added complexity that will have to wait. It should be fairly easy to implement later because of the cluffer library being seperate from the editor.
3:16:22
Qwnavery
Well, I have this idea that you seperate the editor from the buffers by network. This means you can connect to buffers on another computer and edit together realtime. It also could be made to automatically backup etc.
3:17:42
Qwnavery
I also have a Tiling window manager, so I'd like to be able to navigate through buffers without using another layer of commands.
3:19:19
beach
The daemonizing idea would have to be optional, because it makes the Common Lisp editing much more complicated, unless all you do is display the buffer locally.
3:42:43
beach
Sounds good. I never thought of using the Cluffer protocol over a network, but now that I think about it, it is quite adapted to that kind of use case.
3:44:59
Qwnavery
There's also the matter of diff handling when you reconnect, both buffers may have been modified so it's important to be able to handle those merge conflics. Not unlike git.
3:47:04
Qwnavery
so that way there's no centralized point of failure, and you can easily leave home, take your work with you, come home and have it automatically sync, get on your desktop and open climacs, it's there.
3:47:25
Qwnavery
It's also a failsafe for backups. You could make redundant backups aswell with cron.
3:48:42
beach
So it sounds like what you want to work on is orthogonal to my main focus, which I think is an advantage.
3:51:11
Qwnavery
One feature (that I think exists in lispworks) is being able to use a command on a function and have it automatically open the file that function is defined in, or list all the places that function is used would be a godsend.
3:52:00
beach
But that would require support from the underlying Common Lisp implementation I think.
3:53:40
Qwnavery
erm so l: 183 Commands/commands.lisp you've got a FIXME for the keybindings talking about groups, what do you mean by groups?
3:58:29
Qwnavery
Well, I'm going to implement saving with C-s and C-n to make a new file. Fixing the crashing.
4:05:18
Mondenkind
Qwnavery: collaborative editing is a large kettle of sardines; if you attempt to do it with lockstep you will get bad results
4:06:30
Mondenkind
attempting to use the same underlying representation for local as for remote operations doesn't work well when 'remote' is bigger than 1ms. This is x's mistake
4:07:43
Qwnavery
Mondenkind: That's uneccessary, because of the implmentation of cluffer the buffermode can be set to lines. You prevent editing of a line if another user is editing it with a few safety parameters. beach's implmentation of cluffer has covered things he didn't even know it could be used for.
4:08:02
Mondenkind
'You prevent editing of a line if another user is editing it' that's a form of lockstep
4:09:22
Mondenkind
you can spruce it up. Like hold a provisionary lock on lines above/below you. But the proper solution is crdt
4:10:09
Mondenkind
'outside of a home environment' I mean, network-collaborative editing is cool and neat. Just should be done in terms of its own representation layered on top of the existing one