On Wed, Dec 3, 2014 at 6:22 PM, Sam Tobin-Hochstadt <sa...@cs.indiana.edu> wrote: > On Wed, Dec 3, 2014 at 6:10 PM, Eli Barzilay <e...@barzilay.org> wrote: >> >>>> If you're talking about implementing line editing yourself, then my >>>> personal reaction to that would be "wonderful", but doing it properly >>>> is something that is difficult and easy to underestimate.... >>> >>> I've already done this (admittedly it only works on OS X, but most >>> Linux terminals work exactly the same with a few different >>> constants). You can see what I have so far here: >>> https://github.com/LeifAndersen/racket-line-editor/blob/master/main.rkt >> >> If this works, I'd be thoroughly impressed -- so I tried it. I ran >> through a bunch of configurations that I use: > > None of which was OS X, which was what Leif's email explicitly said it > _only works on_.
My point wasn't "it doesn't work outside of OSX", I was talking about "a few different constants" being a bad underestimation: they're not few, they're not constant, and the interfaces for getting them is what you'd expect from something that started to grow in the 70s. > I think we should wait till he has a version which he says works > before telling people to avoid making contributions. You should re-read my email: if there's anything that I'm telling, it's the exact opposite. A point that I repeated more than once. The thing is that it would be easy to not say anything, and watch this approach of "try a few escapes and see what works" fail. And it will fail, because, again, they're not constant, and you can't just get some magic combination that works for 90% of the people -- even just xterm on just linux is something that can (and often is) configured in many different ways. So what I'm doing is the opposite: I point at how such a thing should be written for it to survive -- but I appreciate Leif's time enough to warn him that this is a much bigger thing than what he seems to think. (And to be clear, the reason for this is that I've seen probably around 3 to 5 serious attempts that got dumped; and I have encountered these issues multiple times, so I know that it's hard enough that even getting simple code to work, code that I intended only for my own use, even that was pretty hard, enough to go chase old VT references and obscure man pages.) -- ((lambda (x) (x x)) (lambda (x) (x x))) Eli Barzilay: http://barzilay.org/ Maze is Life! _________________________ Racket Developers list: http://lists.racket-lang.org/dev