[fluxus] branches and latest patches

Artem Baguinski femistofel at gmail.com
Mon Feb 20 14:37:16 PST 2006


On 20 Feb 2006, at 10:58, Dave Griffiths wrote:

>> hmm... isn't that what branches are for ? ;-)
>>
>> since I can write to CVS now I'll split up an experimental branch for
>> post 0.9 stuff and commit arcball to trunk and frame-hook / thin
>> cursor to experimental. I'm now working on a repl mode, i decided it
>> should work like scheme shell on Ctrl+0. It will also take care of
>> FIXME in ErrorHanler (all error output will go to Ctrl+0 as well,
>> with some indicator in the rest of the editors)
>
> one slight thing - branch a 0.9 maintainance branch, and commit the  
> new
> stuff to head - it's easier that way,

ok, branched and commited

sorry for "tes" branch, it's defunct i pressed return accidentally  
before i finished editing command line.

* pre-0-9 is a conservative branch for maintainance of the upcoming  
release.
   * added arcball rotation because Dave liked it
* MAIN
   * (frame-hook) instead of (every-frame "foo") [i still have to  
figure out where should I put the new (every-frame) macro]
   * thin green cursor between characters
   * parentheses are hilited when cursor is after the closing  
parenthesis
   * Ctrl+0 is a REPL (read eval print loop), although not  
absolutelly kosher yet

Some notes on REPL:

* Codewise, Repl is a subclass of GLEditor. I haven't rip off some  
useless in REPL mode keybindings yet, so be careful not to press F5  
in repl for example.
* Error and standard output is redirected to repl
* You can only edit text after the last repl prompt. You can walk the  
cursor anywhere, e.g. to copy stuff.
* You can press return in the middle of the current "defun" (defun is  
emacs term, it just means top level lisp form) and nothing special  
happens, but when you press return after the last closing parenthesis  
of balanced defun it gets evaluated and, if it returned anything  
interesting, the result is printed.
* there isn't support for input yet (i.e. you can't e.g. use  
"read" (or rather you can, but you'll have to type the input in the  
terminal, probably). Not that I have a scenario in mind where those  
could be useful. But this makes REPL non-kosher kludge, whenever I  
decide to implement input i'll be able to implement the repl in scheme.
* the buffer grows forever, which is wasteful.
* would be nice to have command history and dynamic completion. but I  
have to fix exisiting bugs first.

some upcoming features, if nobody minds:

* on errors (exceptions caught with ErrorHandler) switch to repl -  
there will be an error message there
* when acting as standard/error output, should make sure the current  
command line doesn't get corrupted (e.g. insert output before current  
command line prompt)
* in normal editor F6 sends current defun to the repl.




More information about the Fluxus mailing list