On Tue, Apr 15, 2025 at 2:26 AM Eli Zaretskii wrote: > > From: Spencer Baugh > > Cc: 77718@debbugs.gnu.org, Eli Zaretskii , Stephen > Berman > > > > Date: Mon, 14 Apr 2025 16:30:09 -0400 > > > > + (;; Ensure we discard text before // by always using sifn in that > case. > > + (unless (string-search "//" orig) > > + (complete-with-action action table orig pred))) > > AFAIU, this ignores the case of UNC file names, which begin with "//", > and other complications with file names on Windows. Emacs on Windows > reacts differently to "//" than it does on Posix systems, and it does > so for very good reasons. > > Please don't break file-name completion on Windows. It took us many > iterations to get it right, and the result is fragile. Be sure to > test each change on Windows as well before installing. > > For the same reasons, please test thoroughly with remote file names of > different formats. > > Given the fragility of this, I'd tend to suggest to define a new style > with these changes, and leave alone the existing styles, even if you > consider them "broken". > The POSIX standard allows "pathnames" that start with "//" and Emacs, for sure, should respect file names that begin with //. "A pathname that begins with two successive slashes may be interpreted in an implementation-defined manner, although more than two leading slashes shall be treated as a single slash." "A pathname may optionally contain one or more trailing slashes." "Multiple successive slashes are considered to be the same as one slash." For mailing list posterity: https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap03.html#tag_03_271:~:text=in%20Filename.-,3.273,-Path%20Prefix https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap03.html#tag_03_271:~:text=in%20their%20execution.-,3.40,-Basename https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap04.html#:~:text=If%20a%20pathname%20begins%20with%20two%20successive%20%3Cslash%3E%20characters%2C%20the%20first%20component%20following%20the%20leading%20%3Cslash%3E%20characters%20may%20be%20interpreted%20in%20an%20implementation%2Ddefined%20manner%2C%20although%20more%20than%20two%20leading%20%3Cslash%3E%20characters%20shall%20be%20treated%20as%20a%20single%20%3Cslash%3E%20character. https://pubs.opengroup.org/onlinepubs/007904875/basedefs/xbd_chap03.html#tag_03_266:~:text=A%20pathname%20may%20optionally%20contain%20one%20or%20more%20trailing%20slashes.%20Multiple%20successive%20slashes%20are%20considered%20to%20be%20the%20same%20as%20one%20slash. -Stephane