[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: tramp (2.1.4); Corrupted files with syntax highliting
From: |
Michael Albinus |
Subject: |
Re: tramp (2.1.4); Corrupted files with syntax highliting |
Date: |
Mon, 21 Nov 2005 18:17:23 +0100 |
User-agent: |
Gnus/5.1002 (Gnus v5.10.2) Emacs/20.7 (hpux) |
"Douglas K. Rand" <address@hidden> writes:
> First, I copied Admin.pm to Borked.pm, and we'll corrupt Borked.pm.
>
> Start a fresh emacs, and (setq tramp-verbose 9 tramp-debug-buffer t)
> turn on syntax highliting, and fetch Borked.pm
>
> Remove a single new line near the end of the file, and save it, and
> all of a sudden the file has an appropiate name:
>
> -rw-r--r-- 1 rand users 7888 Nov 19 20:26 Admin.pm
> -rw-r--r-- 1 rand users 6348 Nov 20 16:32 Borked.pm
> -rw-r--r-- 1 rand users 7888 Nov 20 16:28 Borked.pm~
>
> Interestingly, if I (write-file "/tmp/UnBorked.pm"), everything is
> back to normal:
>
> -rw-r--r-- 1 rand wheel 7887 Nov 20 16:34 /tmp/UnBorked.pm
>
> Here's your debug buffer with syntax highliting enabled:
In the debug buffer, you'll find 4 sequences of base64 encoded
lines. They are (in order)
- Borked.pm, read by Tramp
- Borked.pm, written by Tramp after your change
- Unborked.pm, read by Tramp
- Unborked.pm, written by Tramp after your change.
I've passed all 4 strings to "mimencode -u". The first and the third
as well as the second and fourth decoded files are equal; and the two
pairs differ only in the cut line before the returning "1;" of your script.
I've also diffed the encoded regions 1 and 3 as well as 2 and 4 - no
difference. There is also no return code not equal to 0 in the debug
traces - everything seems to be right ... Strange.
What I've seen is that your target host runs FreeBSD 5.4, and
`tramp-chunksize' is set to nil. That is surprising, because there is
a known bug in sending process input to FreeBSD systems. Usually Tramp
sets `tramp-chunksize' when detecting FreeBSD in order to workaround
this bug; I have no idea why this didn't happen in your case.
Could you, please, set `tramp-chunksize' to 500 manually, and rerun
the test? And maybe you even decrease the value step by step. A
comment in tramp.el says that the critical value is 624 for FreeBSD,
but there might be other circumstances with you.
Best regards, Michael.