help-emacs-windows
[Top][All Lists]
Advanced

[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






reply via email to

[Prev in Thread] Current Thread [Next in Thread]