[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Generalizing find-definition
From: |
Helmut Eller |
Subject: |
Re: Generalizing find-definition |
Date: |
Mon, 03 Nov 2014 08:03:34 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.4.50 (gnu/linux) |
On Sun, Nov 02 2014, Stefan Monnier wrote:
>> In my experience, tags-loop-continue is rather hard to use and I have
>> long argued to get rid of it and replace it with a better UI.
>> E.g. tags-loop-continue must be pressed multiple times just to find out
>> at the end that none of the offered candidates was relevant. SLIME does
>> it differently: the list of all candidates is displayed in a separate
>> buffer with one candidate per line; a bit like the results of a search
>> engine like Google. The user must then move the cursor to the
>> interesting line and press RET to actually jump to the definition. If
>> there's only a single candidate, then there's no need to display the
>> list and we can jump to the candidate right away. SLIME has no analog
>> to tags-loop-continue (and no key binding for it) because it's not
>> needed; at least nobody ever asked for such a command.
>
> I agree that tags-loop-continue is not super convenient.
> What key-binding does SLIME use to get this list buffer (which would
> most naturally be implemented as a kind of grep/compilation-mode buffer)?
> Would C-u M-. be usable for that?
M-. brings up the list (if there are multiple candidates; if there's a
single candidate then no list is displayed). We use C-u M-. to read the
symbol from the minibuffer (as opposed to parsing it from context around
point).
We also have a group of bindings for similar but not so important
commands:
C-c C-w c -- who calls (lists callers)
C-c C-w w -- calls who (lists functions called by the current function)
C-c C-w r -- who references (for global variables)
C-c C-w s -- who sets (for global variables)
C-c C-w b -- who binds (for dynamic variables)
C-c C-w s -- who specializes (lists methods specialized for a specific class)
C-c < -- list callers
C-c > -- list callees
The C-c < and C-c C-w c do conceptually the same but one is implemented
with an index (like tags) and the other by scanning and inspecting
function objects on the heap. Different commands for historical
reasons.
Helmut
- Generalizing find-definition, Jorgen Schaefer, 2014/11/02
- Re: Generalizing find-definition, Stefan Monnier, 2014/11/02
- Re: Generalizing find-definition,
Helmut Eller <=
- Re: Generalizing find-definition, Jorgen Schaefer, 2014/11/03
- Re: Generalizing find-definition, Stephen Leake, 2014/11/03
- Re: Generalizing find-definition, Stefan Monnier, 2014/11/03
- Re: Generalizing find-definition, Jorgen Schaefer, 2014/11/03
- Re: Generalizing find-definition, Stefan Monnier, 2014/11/03
- Re: Generalizing find-definition, Jorgen Schaefer, 2014/11/03
- Re: Generalizing find-definition, Stefan Monnier, 2014/11/03
- Re: Generalizing find-definition, Stephen Leake, 2014/11/04
- Re: Generalizing find-definition, Stefan Monnier, 2014/11/04
- Re: Generalizing find-definition, Stephen Leake, 2014/11/04