Attached is a patch for Dired (dired.el and dired-aux.el). It extends `i', giving it behavior on a non-directory line and on subdir header lines, where it currently just raises a wrong-line error. This provides a handy go-back behavior, letting you bounce back and forth between a subdirectory line and its inserted listing. `i' on a non-directory file within a subdir listing acts the same as it does on the subdir's header line, so you need not be on the header line to bounce back: anywhere within the subdir listing will do. More precisely - Currently: * If you hit `i' on a directory line, it goes to the corresponding subdirectory listing header line. If the subdirectory listing has not yet been inserted, `i' first inserts it and then goes to it. * If you hit `i' anywhere else, it raises an error: either "No file on this line" (for a header line) or "Attempt to insert a non-directory: c:/foobar". This is not useful. With the patch: * `i' on a directory line does the same thing as before: insert and goto. * `i' on a non-directory line in the top-level directory also does the same thing as before: nothing. * (NEW) `i' on a subdir header line or a non-directory file in a subdir listing goes to the line for that subdir in the parent directory listing. Please try the patch. It should work in all contexts, including with hidden subdirs. The patch also fixes a bug that occurs in `dired-get-filename' if you use the `ls' switch `F', as in `ls -alF'. In that case, the test for a dot file `.' or `..' fails, because with switch `F' the names appear as `./' and `../'. BTW, I'm surprised that bug wasn't reported before. Don't you all use `F'? And shouldn't `ls -alF' be the default switches value?