Not really sure whether this is a bug or a strange feature, but here's
how to reproduce it:

 1. Enable `ido-mode' and `ido-everywhere' via customize.
 2. Type C-x C-f and verify that C-d drops you into dired.
 3. Enter Ibuffer using M-x ibuffer RET.
 4. Type C-x C-f and note how C-d is now bound to 'ignore.

I don't see any reason why it should not be possible to drop into
Dired just because C-x C-f was typed in the *Ibuffer* buffer.

This is a sketchy outline of what's going on:  In the *Ibuffer*
buffer, C-x C-f is bound to `ibuffer-find-file', which sets
`default-directory' and then calls `read-file-name', which in turn
calls `ido-read-file-name'.

>From there, I can't follow the code any longer.  However, I believe
that at some point, `ido-context-switch-command' is set, which causes
this line in ido.el

    (define-key map "\C-d" (or (and ido-context-switch-command 'ignore) 
'ido-enter-dired))

to bind C-d to 'ignore.  That line certainly looks like it knows what
it's doing, but I still think this is a bug.  I've been annoyed by the
current behavior several times.

-- 
Daniel Brockman <[EMAIL PROTECTED]>



_______________________________________________
Emacs-devel mailing list
Emacs-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-devel

Reply via email to