[slime-devel] Tab behavior in REPL buffers

I haven't looked deeply into this but I was wondering if anyone else found the behavior of TAB in REPL buffers a bit annoying. I'm so used to using TAB to indent code that I'm constantly hitting it to try to line up my code in the REPL. Which usually results in a huge *Completions* typeout window popping up with a list of every symbol in existance because I'm usually sitting on some whitespace. I notice in lisp source buffers TAB is *not* bound to slime-complete-symbol. Should I just remap TAB myself or does anyone else find the current behavior annoying and perhaps worth changing? -Peter -- Peter Seibel peter@javamonkey.com Lisp is the red pill. -- John Fraser, comp.lang.lisp

On Fri, Mar 26, 2004 at 08:24:23AM -0800, Peter Seibel wrote:
I haven't looked deeply into this but I was wondering if anyone else found the behavior of TAB in REPL buffers a bit annoying. I'm so used to using TAB to indent code that I'm constantly hitting it to try to line up my code in the REPL. Which usually results in a huge *Completions* typeout window popping up with a list of every symbol in existance because I'm usually sitting on some whitespace. I notice in lisp source buffers TAB is *not* bound to slime-complete-symbol.
Should I just remap TAB myself or does anyone else find the current behavior annoying and perhaps worth changing?
My biggest annoyance is not that TAB is bound to slime-complete-symbol (I've kind of grown to like the command-line style completion for interactive usage - although I still automatically tend to use C-M-i, since it works everywhere), but that there isn't a key bound to indenting lines, the traditional function of TAB. I like to build longish expressions in the REPL, and it's a real pain to keep them indented. (Obviously I've been too lazy to bind my own keys. :) -bcd -- *** Brian Downing <bdowning at lavos dot net>

Peter Seibel <peter@javamonkey.com> writes:
Should I just remap TAB myself or does anyone else find the current behavior annoying and perhaps worth changing?
I changed the TAB command, so that it first indents the current line. If indenting doesn't move the cursor, it performs symbol completion. Is that better? Helmut.

Helmut Eller <e9626484@stud3.tuwien.ac.at> writes:
Peter Seibel <peter@javamonkey.com> writes:
Should I just remap TAB myself or does anyone else find the current behavior annoying and perhaps worth changing?
I changed the TAB command, so that it first indents the current line. If indenting doesn't move the cursor, it performs symbol completion. Is that better?
I would also check that last-command is the TAB command before doing symbol completion. That way you can rely on the first TAB stroke not to change your code. Consistency is the cornerstone of good UI's. -- jan

Helmut Eller <e9626484@stud3.tuwien.ac.at> writes:
Peter Seibel <peter@javamonkey.com> writes:
Should I just remap TAB myself or does anyone else find the current behavior annoying and perhaps worth changing?
I changed the TAB command, so that it first indents the current line. If indenting doesn't move the cursor, it performs symbol completion. Is that better?
Yes, much better, thanks. That said, I'm still a bit bothered by the typeout window popping up for the expansions. For some reason or another on my iBook it takes over the whole frame and there's no way to kill it short of without C-x k or several other keystrokes to pick out the right symbol. I'd much rather have the completion work in place, more like dabbrev-expand. However, I'm not really complaining about that as I have spent zero time looking into how this actually works to see if I can get it to do what I want by simple configuration or with a patch. One of these days my annoyance- and free-time curves will intersect and I'll look into programming the behavior I think I want in order to see if it actually is better. -Peter -- Peter Seibel peter@javamonkey.com Lisp is the red pill. -- John Fraser, comp.lang.lisp
participants (4)
-
Brian Downing
-
Helmut Eller
-
jan
-
Peter Seibel