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

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