Subject: bug#65685: 29.1; Inconsistent behavior of quoted file name "/:~" across platforms

From: Eli Zaretskii <[email-masked]>
Date: Sat, 14 Oct 2023 10:42:25 +0300

> Cc: [email-masked]
> Date: Fri, 13 Oct 2023 17:31:32 -0700
> From: Jim Porter <[email-masked]>
> 
> On 10/13/2023 7:26 AM, Michael Albinus wrote:
> > This is a Tramp bug. I've fixed this in the emacs-29 branch, and merged
> > it to the master branch afterwards. The fix shall solve both scenarios,
> > with and without the patch I've posted earlier here.
> > 
> > Could you pls test, whether the patch behaves now as intended?
> 
> I think this works now, thanks. (Note that I just eval'ed the new 
> version of 'tramp-sh-handle-expand-file-name' on MS-Windows to test 
> things out, since I don't have a build environment set up on my 
> MS-Windows system.)
> 
> So with the patch you merged to Tramp, plus your other one for 
> "lisp/files.el", I think this is all working consistently now.

The added test fails on MS-Windows:

  Test files-tests-file-name-non-special-expand-file-name-tilde condition:
      (ert-test-failed
       ((should
	 (equal
	  (expand-file-name nospecial)
	  (expand-file-name ...)))
	:form
	(equal "/:c:/Documents and Settings/Zaretzky/Local Settings/Temp/files-testsvIKNPk/files-testse2cUFY" "c:/Documents and Settings/Zaretzky/Local Settings/Temp/files-testsvIKNPk/files-testse2cUFY")
	:value nil :explanation
	(arrays-of-different-length 92 90 "/:c:/Documents and Settings/Zaretzky/Local Settings/Temp/files-testsvIKNPk/files-testse2cUFY" "c:/Documents and Settings/Zaretzky/Local Settings/Temp/files-testsvIKNPk/files-testse2cUFY" first-mismatch-at 0)))

I tried to understand the idea of the change, or even the actual root
cause of the problem, but couldn't find that in the discussion or the
code.  It doesn't help that file-name-non-special has no doc string
and no documentation I could find about what it's supposed to do.

Let's please discuss this now, because I tend just to revert the
change on the emacs-29 branch, as it's too late there for untested
ideas for obscure problems.