From: <ad...@nu...> - 2002-04-09 20:50:43
|
Enter your bug report in this message, including as much detail as you possibly can about the problem, what you did to cause it and what the local and remote machines are. If you can give a simple set of instructions to make this bug happen reliably, please include those. Thank you for helping kill bugs in TRAMP. --bug report follows this line-- I believe this is a real bug although I am a tramp-novice. The problem: I cannot perform any operations on remote files ending in "!~", e.g., "test!~". The tramp debug buffer contains this: $ ls -d "/home/adamp/test!~" 2>/dev/null; echo tramp_exit_status $? sh: !~": event not found Other files ending in "~" (without "!") are no problem: $ ls -d "/home/adamp/.newsrc~" 2>/dev/null; echo tramp_exit_status $? /home/adamp/.newsrc~ tramp_exit_status 0 $ tramp_file_attributes "/home/adamp/.newsrc~" (nil 1 1000 1000 (15539 18210) (15539 18210) (15539 18210) 145 33152 t (0 . 32855) (0 834)) $ rm -f "/home/adamp/.newsrc~" 2>/dev/null; echo tramp_exit_status $? tramp_exit_status 0 $ ls -d "/home/adamp/..TODO!!!~" 2>/dev/null; echo tramp_exit_status $? sh: !~": event not found $ ls -d "/home/adamp/.newsrc.eld~" 2>/dev/null; echo tramp_exit_status $? /home/adamp/.newsrc.eld~ tramp_exit_status 0 $ tramp_file_attributes "/home/adamp/.newsrc.eld~" (nil 1 1000 1000 (15539 20344) (15539 18210) (15539 18210) 24157 33152 t (0 . 32854) (0 834)) $ rm -f "/home/adamp/.newsrc.eld~" 2>/dev/null; echo tramp_exit_status $? tramp_exit_status 0 Would it be possible to say: $ ls -d '/home/adamp/test!~' 2>/dev/null; echo tramp_exit_status $? (i.e., with single quotes) instead of: $ ls -d "/home/adamp/test!~" 2>/dev/null; echo tramp_exit_status $? (with double quotes)? This seems to solve the problem... Best, Adam P.S. Remote system info: OS: Debian Linux (Woody) /bin/sh: GNU bash, version 2.05a.0(1)-release (i386-pc-linux-gnu) Emacs : GNU Emacs 21.1.1 (i386-msvc-nt5.0.2195) of 2001-10-22 on buffy Package: tramp ($Id: tramp.el,v 2.88 2002/02/18 15:17:19 kaig Exp $) current state: ============== (setq tramp-ls-command nil tramp-test-groks-nt nil tramp-file-exists-command nil tramp-current-multi-method nil tramp-current-method nil tramp-current-user nil tramp-current-host nil tramp-auto-save-directory nil tramp-default-method "plink" tramp-rsh-end-of-line "\n" tramp-remote-path '("/bin" "/usr/bin" "/usr/sbin" "/usr/local/bin" "/usr/ccs/bin" "/local/bin" "/local/freeware/bin" "/local/gnu/bin" "/usr/freeware/bin" "/usr/pkg/bin" "/usr/contrib/bin") tramp-login-prompt-regexp ".*ogin: *$" tramp-password-prompt-regexp "^.*\\([pP]assword\\|passphrase.*\\): |
From: Kai.Grossjohann@CS.Uni-Dortmund.DE (K. ) - 2002-04-10 09:19:05
|
ad...@nu... (Adam Przepi=F3rkowski) writes: > The problem: I cannot perform any operations on remote files ending in > "!~", e.g., "test!~". The tramp debug buffer contains this: > > $ ls -d "/home/adamp/test!~" 2>/dev/null; echo tramp_exit_status $?=20 > sh: !~": event not found This command is clearly wrong. You suggest to use single quotes instead of double quotes. But there is already a function tramp-shell-quote-argument which should be used on the file name. Could you (setq tramp-verbose 10) and then reproduce this, and then show me where the "ls -d" command comes from? Hm. Wait. Probably it is from tramp-handle-file-exists-p, which _does_ use tramp-shell-quote-argument. That function calls shell-quote-argument. And that function uses double quotes on Windows but backslashes on Unix. So, is your Emacs running on Windows? Now I need to find out how to do what shell-quote-argument does on Unix. kai --=20 Silence is foo! |
From: <ad...@ip...> - 2002-04-10 09:47:41
|
Kai.Grossjohann@CS.Uni-Dortmund.DE (Kai Gro=DFjohann) writes: >> $ ls -d "/home/adamp/test!~" 2>/dev/null; echo tramp_exit_status $?=20 >> sh: !~": event not found > > Hm. Wait. Probably it is from tramp-handle-file-exists-p, which > _does_ use tramp-shell-quote-argument. That function calls > shell-quote-argument. And that function uses double quotes on Windows > but backslashes on Unix. So, is your Emacs running on Windows? It was, in that case. Maybe the fact that tramp applies 'client' (windows) settings to the 'server' (linux) is a more general issue? For example, options for ls may differ on both machines (and did differ in my case). But I can't see a nice solution short of having a ~/.tramp file *on the server* setting up relevant variables for tramp. That looks a little ugly, though.... > Now I need to find out how to do what shell-quote-argument does on > Unix. Thanks for the hint; I'll see if I can change the behaviour of tramp-shell-quote-argument locally.=20 --=20 Adam P. |
From: Kai.Grossjohann@CS.Uni-Dortmund.DE (K. ) - 2002-04-10 13:41:29
|
Kai...@cs... (Kai Gro=DFjohann) writes: > Hm. Wait. Probably it is from tramp-handle-file-exists-p, which > _does_ use tramp-shell-quote-argument. That function calls > shell-quote-argument. And that function uses double quotes on Windows > but backslashes on Unix. So, is your Emacs running on Windows? > > Now I need to find out how to do what shell-quote-argument does on > Unix. I'm lazy. Could you please try the following patch and tell me how it goes? This is a kludge. I will work on getting the right solution. Thanks. --- tramp.el.~2.94.~ Mon Mar 25 17:32:25 2002 +++ tramp.el Wed Apr 10 15:39:49 2002 @@ -4799,6 +4799,7 @@ (defun tramp-shell-quote-argument (s) "Similar to `shell-quote-argument', but groks newlines. Only works for Bourne-like shells." + (let ((system-type 'not-windows)) (save-match-data (let ((result (shell-quote-argument s)) (nl (regexp-quote (format "\\%s" tramp-rsh-end-of-line)))) @@ -4808,7 +4809,7 @@ (while (string-match nl result) (setq result (replace-match (format "'%s'" tramp-rsh-end-of-line) t t result))) - result))) + result)))) =20 ;; ;; EFS hooks itself into the file name handling stuff in more places ;; ;; than just `file-name-handler-alist'. The following tells EFS to stay kai --=20 Silence is foo! |
From: <ad...@ip...> - 2002-04-10 14:25:34
|
Kai.Grossjohann@CS.Uni-Dortmund.DE (Kai Gro=DFjohann) writes: > I'm lazy. Could you please try the following patch and tell me how > it goes? This is a kludge. I will work on getting the right > solution. Yes, this works fine for me. Thanks! --=20 Adam P. |
From: Kai.Grossjohann@CS.Uni-Dortmund.DE (K. ) - 2002-04-10 17:16:27
|
ad...@ip... (Adam Przepi=F3rkowski) writes: > Kai.Grossjohann@CS.Uni-Dortmund.DE (Kai Gro=DFjohann) writes: >> I'm lazy. Could you please try the following patch and tell me how >> it goes? This is a kludge. I will work on getting the right >> solution. > > Yes, this works fine for me. Thanks! Great, so I'm committing the change now. Ayee. What a horrible kludge. kai --=20 Silence is foo! |