There are two problems with this function. 1. It uses vc-backend on the default-directory, which in turn uses vc-registered. But the return value of this function for directories seems to be back end dependent. E.g. in git it returns always nil for directories, in bzr it seems to return t only if directory does not end with a slash. I am not sure which of these things needs to be fixed. I suppose this function should do what it says and return t for registered files (including directories). But vc-ignore should also work in the root directory, which technically is not registered. So I replaced it with vc-responsible-backend. 2. The interactive spec, when reading the documentation, makes no sense to me. I assume this is just an oversight. 3. The function should not have different abilities depending on whether it was called interactively or not. -ap