Very much appreciated!! And thank you for investigating and isolating the issue: I had misidentified the actual problem and didn't provide a duplication recipe, making your job much harder. I promise to do better next time, and provide a test case. :-) Thanks again!! On Sun, Aug 1, 2021 at 1:41 AM Juri Linkov wrote: > tags 49761 fixed > close 49761 28.0.50 > thanks > > > Well, it's now the default behavior. It wasn't previously. :-) > > And new is not always better ;-) > > So now the new behavior (that became old now) was fixed > in the master branch for Emacs 28, and all test cases > that you presented work completely as expected. > Thanks for helping to understand where the problem was. > > BTW, after the fix, the following additional information > is not necessary, but I discovered that in old versions > you can use the prefix argument to force C-TAB cycling. > > An excerpt from etc/NEWS.20: > > ** file-cache-minibuffer-complete now accepts a prefix argument. > With a prefix argument, it does not try to do completion of > the file name within its directory; it only checks for other > directories that contain the same file name. > Thus, given the file name Makefile, and assuming that a file > Makefile.in exists in the same directory, ordinary > file-cache-minibuffer-complete will try to complete Makefile to > Makefile.in and will therefore never look for other directories that > have Makefile. A prefix argument tells it not to look for longer > names such as Makefile.in, so that instead it will look for other > directories--just as if the name were already complete in its present > directory. > > and a comment from bindings.el: > > ;; The prefix argument works around a bug in the minibuffer completion. > ;; The completion function doesn't distinguish between the states: > ;; > ;; "Multiple completions of name" (eg, Makefile, Makefile.in) > ;; "Name available in multiple directories" (/tmp/Makefile, > ~me/Makefile) > ;; > ;; The default is to do the former; a prefix arg forces the latter. >