bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#15648: 24.2.50; gnutls SSL connection to IMAP server causes emacs to


From: emacs
Subject: bug#15648: 24.2.50; gnutls SSL connection to IMAP server causes emacs to crash completely
Date: Mon, 11 Nov 2013 14:12:34 -0500

Eli Zaretskii wrote at about 18:58:05 +0200 on Monday, November 4, 2013:
 > > From: Ted Zlatanov <tzz@lifelogs.com>
 > > Cc: emacs@kosowsky.org,  15648@debbugs.gnu.org
 > > Gmane-Reply-To-List: yes
 > > Date: Mon, 04 Nov 2013 11:28:36 -0500
 > > 
 > > >> The function is called convert-standard-filename. All it really does
 > > >> currently is replace invalid characters/filenames for
 > > >> cygwin/windows-nt/ms-dos.
 > > 
 > > EZ> No, please leave that function alone.  Its purpose is different: to
 > > EZ> convert a _standard_ file name used in Emacs, such as ".emacs", to
 > > EZ> something the underlying system can use.  IOW, that function is so
 > > EZ> that Posix systems could use any file name they want, and non-Posix
 > > EZ> systems adapt.
 > > 
 > > Isn't that exactly what's breaking here?
 > 
 > No.
 > 
 > > We specify a POSIX file name in `/usr/...' that's not translated
 > > automatically to something the system can handle.
 > 
 > The Windows filesystems can handle /usr/... very well.  The problem
 > here is that some external entity is assigning a semantics to that
 > file name that is different from the meaning it has on the native
 > filesystem.  By contrast, convert-standard-filename is about _form_,
 > not about _semantics_.

Well, there is also the problem that "/usr" is never present as a root
path on any (standard) Windows machine, so that the path commented as
being valid for cygwin actually never works! 

Indeed, in the cygwin case, "/usr" only makes sense relative to the
cygwin root (which by default is C:\cygwin but could be anywhere). The
purpose of cygwin-mount magic file handling is precisely to insert the
cygwin root into the path so that "/usr" becomes for example,
"/c/cygwin/usr".

The absence of cygwin-mount magic file handling when a file name is
passed directly to the gnutls c-code without going through any of the
standard magic-file-handling file access routines is the crux of the
problem.

So, again I see only 2 solutions:
1. Change (or omit) the "/usr" path and make it relative to cygwin
   root (though this would not work generally since cygwin root is
   changeable)

2. Implement magic handling so that paths are automagically translated
   to be correct at the file system level. In this case, by inserting
   the cygwin root.





reply via email to

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