Hi Erik, > After a week of exclusively using vip for editing picolisp, here's what > I've got: > > https://gist.github.com/erdg/ebf4556382bc1bbbaf534c4ebd927322
Wow, that is really a lot! Very nice to see that Vip is alive :) I cannot dig into the whole code, but let me point to one minor error: (local) jumpParMatch indentationLevel removeEndPars closeEndPars closeParsUp dangleEndPars This sets only the single symbol 'jumpParMatch' to local. Correct would be (local) (jumpParMatch indentationLevel removeEndPars closeEndPars closeParsUp dangleEndPars) because 'local' does a single 'read' on the current input stream. Practically, this error does not matter. All other symbols are simply read and evaluated, without any side effects. And as all these symbol are quite uniqe and probaaly don't already exist in any other namespace, they are created locally anyway. > Now some questions... some of these commands add and remove a lot of > characters, > is there a way to "batch" the edits to the file? For example, pressing '#}' > wraps a paragraph in a multi-line comment, but to undo that action I need to > press 'u' twice. Ideally 'u' would undo everything that happened in the > command's prg body. Can 'evRpt' be used for this? I haven't figured that > one out > yet. I think this is difficult. I know about this issue, e.g. when 'pipeN' is used (I use F4 a lot, e.g. when formatting this mail). But each if the involved micro operations does its own undo/redo stack manipulation. I decided to live with it, and it felt not wrong after I got used to it, as it undoes the involved steps explicitly one after the other and makes clear what happens. ☺/ A!ex -- UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe