Subject: bug#20119: 25.0.50; tramp-test30-special-characters hangs on Cygwin

From: Michael Albinus <[email-masked]>
Date: Wed, 18 Mar 2015 20:53:16 +0100

Ken Brown <[email-masked]> writes:

> Hi Michael,

Hi Ken,

>> "\t" shall be expanded as <TAB>. And leading (or trailing) spaces are
>> also not allowed in file names on w32; likely it is the same for cygwin.
>
> In the context of file names on Cygwin, "\t" is not expanded to <TAB>
> because of the special treatment of the backslash.  But leading and
> trailing spaces are fine; see my patch.

Your patch works fine, but I'm still curious: what happens with this
test, if we don't pass "\t" but the <TAB> character in the file name?
This shall work, shouldn't it?

Maybe you have time to test the follwing patch:

--8<---------------cut here---------------start------------->8---
*** /home/albinus/src/tramp/test/tramp-tests.el.~master~	2015-03-18 20:50:29.399389219 +0100
--- /home/albinus/src/tramp/test/tramp-tests.el	2015-03-18 16:43:56.073936927 +0100
***************
*** 1522,1528 ****
    "Run a simple but comprehensive test over every file in FILES."
    (let ((tmp-name1 (tramp--test-make-temp-name))
  	(tmp-name2 (tramp--test-make-temp-name 'local))
! 	(files (delq nil files)))
      (unwind-protect
  	(progn
  	  (make-directory tmp-name1)
--- 1522,1529 ----
    "Run a simple but comprehensive test over every file in FILES."
    (let ((tmp-name1 (tramp--test-make-temp-name))
  	(tmp-name2 (tramp--test-make-temp-name 'local))
! 	(files (mapcar (lambda (x) (with-output-to-string (princ x)))
! 		       (delq nil files))))
      (unwind-protect
  	(progn
  	  (make-directory tmp-name1)
***************
*** 1629,1635 ****
    (tramp--test-check-files
     (if (tramp--test-smb-or-windows-nt-p)
         "foo bar baz"
!      (if (or (tramp--test-adb-p) (eq system-type 'cygwin))
  	 " foo bar baz "
         " foo\tbar baz\t"))
     "$foo$bar$$baz$"
--- 1630,1636 ----
    (tramp--test-check-files
     (if (tramp--test-smb-or-windows-nt-p)
         "foo bar baz"
!      (if (tramp--test-adb-p)
  	 " foo bar baz "
         " foo\tbar baz\t"))
     "$foo$bar$$baz$"
--8<---------------cut here---------------end--------------->8---

> Ken

Best regards, Michael.