GNU bug report logs - #6019
23.1; ange-ftp with VAX

Previous Next

Package: emacs;

Reported by: "Carroll, Tom" <TCarroll <at> ap.org>

Date: Fri, 23 Apr 2010 21:20:02 UTC

Severity: normal

Tags: moreinfo

Merged with 9315

Found in version 23.3

Done: Michael Albinus <michael.albinus <at> gmx.de>

Bug is archived. No further changes may be made.

Full log


Message #27 received at 6019 <at> debbugs.gnu.org (full text, mbox):

From: Michael Albinus <michael.albinus <at> gmx.de>
To: Alan.Grunwald <at> tatasteel.com
Cc: 6019 <at> debbugs.gnu.org
Subject: Re: 23.3; Can't visit VMS file from Windows Emacs 23.3.1
Date: Wed, 31 Aug 2011 13:39:14 +0200
Alan.Grunwald <at> tatasteel.com writes:

> Michael,

Hi Alan,

> Please find attached the contents of the *trace-output* and *ftp
> grunwald <at> confid* buffers afetr I executed
>
> C-x C-f /grunwald <at> confid:login.com
>
> Best of luck :-)

Thanks, it helps :-)

The following call is guilty:

8 -> ange-ftp-fix-name-for-vms: name="\"/$DISK1!/GRUNWALD/\"" reverse=nil
8 <- ange-ftp-fix-name-for-vms: "[.\".$DISK1!.GRUNWALD]\""

This reminds me, that we have changed the quoting for file names a while
ago. This results in surrounding a file name under Windows by '"', like
"/$DISK1!/GRUNWALD/".  Obviously, ange-ftp-fix-name-for-vms must be
aware of it.

Could you, please, check whether the following patch helps?

--8<---------------cut here---------------start------------->8---
*** /home/albinus/src/emacs-23/lisp/net/ange-ftp.el.~100624~	2011-08-31 13:30:47.905559520 +0200
--- /home/albinus/src/emacs-23/lisp/net/ange-ftp.el	2011-08-31 13:28:25.395350494 +0200
***************
*** 5017,5023 ****
  		      dir (and dir "/")
  		      file))
  	  (error "name %s didn't match" name))
!       (let (drive dir file tmp)
  	(if (string-match "\\`/[^:]+:/" name)
  	    (setq drive (substring name 1
  				   (1- (match-end 0)))
--- 5017,5027 ----
  		      dir (and dir "/")
  		      file))
  	  (error "name %s didn't match" name))
!       (let (drive dir file tmp quote)
! 	(if (string-match "\\`\".+\"\\'" name)
! 	    (setq name (substring name 1 -1)
! 		  quote "\"")
! 	  (setq quote ""))
  	(if (string-match "\\`/[^:]+:/" name)
  	    (setq drive (substring name 1
  				   (1- (match-end 0)))
***************
*** 5026,5034 ****
  	(if tmp
  	    (setq dir (subst-char-in-string ?/ ?. (substring tmp 0 -1) t)))
  	(setq file (file-name-nondirectory name))
! 	(concat drive
  		(and dir (concat "[" (if drive nil ".") dir "]"))
! 		file)))))
  
  ;; (ange-ftp-fix-name-for-vms "/PUB$:/ANONYMOUS/SDSCPUB/NEXT/Readme.txt;1")
  ;; (ange-ftp-fix-name-for-vms "/PUB$:[ANONYMOUS.SDSCPUB.NEXT]Readme.txt;1" t)
--- 5030,5038 ----
  	(if tmp
  	    (setq dir (subst-char-in-string ?/ ?. (substring tmp 0 -1) t)))
  	(setq file (file-name-nondirectory name))
! 	(concat quote drive
  		(and dir (concat "[" (if drive nil ".") dir "]"))
! 		file quote)))))
  
  ;; (ange-ftp-fix-name-for-vms "/PUB$:/ANONYMOUS/SDSCPUB/NEXT/Readme.txt;1")
  ;; (ange-ftp-fix-name-for-vms "/PUB$:[ANONYMOUS.SDSCPUB.NEXT]Readme.txt;1" t)
--8<---------------cut here---------------end--------------->8---

> Alan

Best regards, Michael.




This bug report was last modified 13 years and 219 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.