DarwinAwardWinner/ido-completing-read-plus

`read-directory-name` and `read-file-name` are now disabled

vspinu opened this issue · 3 comments

Evaluating (read-directory-name "prompt: ") does not trigger directory completion anymore. Same for read-file-name.

It steams from the fact that ido-completing-read+ receives read-file-name-internal as collection argument which is now disabled in ido-cr+-disable-list.

It renders ido-ubiquitous disabled for the main use case of ido-mode. Ido-mode does not kick in on itself, even though it's globally active for me.

Tested on emacses 29 and 26 with ido-cr+ 20210529.1318.

I know this behavior is there for at least year now but I have noticed it only now on my recent update. I have updated my packages back in January but for an unclear reason this issues didn't pop up earlier. So I am a bit confused 🤔

I actually tracked it down to how I activate ido-everywhere. I used to simply (qset ido-everywhere t). Now this no longer works, so have to initialize explicetly with (ido-everywhere t) (or maybe I deleted this initialization by accident recently 🤔).

In any case, I wonder if ido-ubiquitous should check if ido-everywhere is enabled and enable it if not. WDYT?

At least, it would be useful if this split of functionality between ido-ubiquitous and ido-everywhere could be documented in some visible place like ido-ubiquitous-mode for example.

Remember that ido-cr+ has nothing to do with reading file names. That is ido's job. (Removing read-file-name-internal from ido-cr+-disable-list would either break things or have no effect.) I have actually documented how to enable ido in as many places as possible in the README file. Perhaps you're right that it should be enabled somewhere in a docstring, that's accessible from Emacs itself.