[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[h-e-w] 23.0.60; vc-git and tramp interference on EmacsW32
From: |
Nicola Archibald |
Subject: |
[h-e-w] 23.0.60; vc-git and tramp interference on EmacsW32 |
Date: |
Fri, 14 Nov 2008 17:13:35 +0000 |
User-agent: |
Thunderbird 2.0.0.17 (Windows/20080914) |
When using Tramp connections to a remote unix system, with vc-git
enabled, while browsing in the source
tree of a git repository, the use of 'git ls-files' produces strange,
unwanted, behaviour that interferes
with the functioning of ido-mode and possibly others.
Specifically, once vc-git has identified that the remote directory is
part of a git repository, it
starts using 'git ls-files -c -z --' to obtain file information instead
of the normal method of ls/stat.
Unfortunately, every filename that is returned this way seems to have a
^M appended onto the end of
each filename and directory name, confusing the ssh connection into
appending ^M onto every line,
breaking and subsequently ido-mode's file browsing.
Examples from tramp debug:
Prior to loading a git maintained file - all systems normal :
17:04:58 tramp-send-string (10) # /bin/ls -ab 2>/dev/null | while read
f; do if test -d "$f" 2>/dev/null; then echo "$f/"; else echo "$f"; fi; done
17:04:58 tramp-get-connection-property (7) # process-buffer nil
17:04:58 tramp-get-connection-property (7) # check-remote-echo nil
17:04:58 tramp-get-connection-property (7) # check-remote-echo nil
17:04:58 tramp-accept-process-output (10) # *tramp/plink address@hidden run
17:04:58 tramp-accept-process-output (10) #
./
../
Main.cpp
Main.cpp.~1~
Main.o
///b5a78361da09334ffa171b88de21fa05
After loading Main.cpp into a buffer, and thus invoking vc-git's control
over the situation:
17:05:02 tramp-send-string (10) # git ls-files -c -z -- Main.cpp
</dev/null 2>/dev/null
17:05:02 tramp-get-connection-property (7) # process-buffer nil
17:05:02 tramp-get-connection-property (7) # check-remote-echo nil
17:05:02 tramp-get-connection-property (7) # check-remote-echo nil
17:05:02 tramp-accept-process-output (10) # *tramp/plink address@hidden run
17:05:02 tramp-accept-process-output (10) #
Main.cpp^M
///b5a78361da09334ffa171b88de21fa05^M^@
17:05:06 tramp-send-string (10) # /bin/ls -ab 2>/dev/null | while read
f; do if test -d "$f" 2>/dev/null; then echo "$f/"; else echo "$f"; fi; done
17:05:06 tramp-get-connection-property (7) # process-buffer nil
17:05:06 tramp-get-connection-property (7) # check-remote-echo nil
17:05:06 tramp-get-connection-property (7) # check-remote-echo nil
17:05:06 tramp-accept-process-output (10) # *tramp/plink address@hidden run
17:05:06 tramp-accept-process-output (10) #
./^M
../^M
Main.cpp^M
Main.cpp.~1~^M
Main.o^M
^M
///b5a78361da09334ffa171b88de21fa05^M^@
I'm unsure if this is a bug in vc-git, tramp, emacsw32, or 'git
ls-files', but I imagine that filtering spurious ^Ms in tramp is
probably the easiest workaround.
In GNU Emacs 23.0.60.1 (i386-mingw-nt5.1.2600)
of 2008-09-09 on LENNART-69DE564 (patched)
Windowing system distributor `Microsoft Corp.', version 5.1.2600
configured using `configure --with-gcc (3.4) --cflags -Ic:/g/include'
Important settings:
value of $LC_ALL: nil
value of $LC_COLLATE: nil
value of $LC_CTYPE: nil
value of $LC_MESSAGES: nil
value of $LC_MONETARY: nil
value of $LC_NUMERIC: nil
value of $LC_TIME: nil
value of $LANG: ENG
value of $XMODIFIERS: nil
locale-coding-system: cp1252
default-enable-multibyte-characters: t
Major mode: C++/l
Minor modes in effect:
highlight-changes-visible-mode: t
shell-dirtrack-mode: t
tooltip-mode: t
mouse-wheel-mode: t
noticeable-minibuffer-prompts-mode: t
menu-bar-mode: t
file-name-shadow-mode: t
global-font-lock-mode: t
font-lock-mode: t
blink-cursor-mode: t
global-auto-composition-mode: t
auto-composition-mode: t
auto-encryption-mode: t
auto-compression-mode: t
column-number-mode: t
line-number-mode: t
transient-mark-mode: t
abbrev-mode: t
Recent input:
SPC <backspace> ( S-SPC ^ <S-backspace> & m s g S-SPC
) ; C-x C-s <up> <up> <up> <up> <up> <down> <down>
<down> <up> <up> <up> <up> <up> <up> <up> <up> <up>
<up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up>
<up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up>
<up> <up> C-x o <C-home> <next> <next> <next> <next>
<next> <prior> <next> <next> <next> C-x o L R E S U
L T S-SPC C A L L B A C K SPC M a i n W i n d o w C
l a l <backspace> <backspace> <backspace> M-/ SPC <backspace>
( SPC H W N D SPC h W n d , SPC W O R D SPC m s g ,
SPC W O R D SPC w P a r a m SPC <backspace> , <return>
<tab> D W O R D SPC l P a r a m SPC ) SPC { <return>
} <up> <up> <end> <return> <backspace> <down> <return>
<return> <tab> r e t u r n SPC 0 ; <up> C-x o <C-down>
<C-down> <up> <up> <up> <up> C-SPC <C-down> <up> <down>
<down> <down> M-w C-x o C-y <up> <up> <up> <up> <up>
<up> <return> <tab> <down> <tab> <down> <tab> <down>
<tab> <down> <tab> <down> <tab> <down> <tab> <down>
<tab> <up> <up> <up> <up> <up> <up> <up> <up> <down>
<down> C-x C-s <C-end> <up> <prior> <down> <down> <down>
<down> <up> <return> <tab> <help-echo> M-x m o d i
e <tab> <backspace> <backspace> <backspace> <backspace>
<backspace> m e n u <tab> - b a r <tab> m o d e <return>
<help-echo> <help-echo> <help-echo> <help-echo> <help-echo>
<help-echo> <help-echo> <help-echo> <help-echo> <help-echo>
<help-echo> <help-echo> <help-echo> <help-echo> <help-echo>
<help-echo> <help-echo> <help-echo> <help-echo> <help-echo>
<help-echo> <help-echo> <help-echo> <help-echo> <menu-bar>
<help-menu> <send-emacs-bug-report>
Recent messages:
Auto-saving...done
Making completion list...
Menu-Bar mode enabled
- [h-e-w] 23.0.60; vc-git and tramp interference on EmacsW32,
Nicola Archibald <=