* Fwd: Request to support Cygwin in convert-standard-filename function
[not found] ` <837fduhofh.fsf@gnu.org>
@ 2016-06-12 10:33 ` Xi Shen
2016-06-12 11:32 ` Nicolas Goaziou
0 siblings, 1 reply; 2+ messages in thread
From: Xi Shen @ 2016-06-12 10:33 UTC (permalink / raw)
To: Nicolas Goaziou; +Cc: Emacs-orgmode@gnu.org
[-- Attachment #1: Type: text/plain, Size: 1972 bytes --]
Hi Nicolas,
So according to Emacs upstream developer Eli' reply, the current
`convert-standard-filename` function's result is as expected. Since the
Cygwin environment is defined as a "Posix" environment. In my patch, I was
trying to call a Windows command inside a Posix environment, and
intentionally pass a file path in Windows format. This is a very special
case, and should be taken care of individually.
So I think I will update my patch to add a `org-babel-sql-convert-filename`
function.
Thanks,
David
---------- Forwarded message ---------
From: Eli Zaretskii <eliz@gnu.org>
Date: Sun, Jun 12, 2016 at 3:10 PM
Subject: Re: Request to support Cygwin in convert-standard-filename function
To: Xi Shen <davidshen84@gmail.com>
Cc: <emacs-devel@gnu.org>
> From: Xi Shen <davidshen84@gmail.com>
> Date: Sun, 12 Jun 2016 02:51:14 +0000
>
> I encounter a problem with `convert-standard-filename`,
>
https://www.gnu.org/software/emacs/manual/html_node/elisp/Standard-File-Names.html.
I call this function
> within a Cygwin environment, and this function could not return me a
MS-DOS/Windows format path. I think it
> treats Cygwin environment as a normal *nix environment.
>
> In Cygwin environment, the Emacs has a function called
`cygwin-convert-file-name-to-windows` which
> converts a expanded path to a Windows path, e.g.:
>
> /cygdrive/c/Windows => c:\Windows
>
> According to the description of the `convert-standard-filename`, it is
expected to be used only in places where
> the callee wants to convert a *nix path to the underline OS path. I think
it is appropriate we invoke the
> `cygwin-convert-file-name-to-windows` function inside the
`convert-standard-filename` function if it is called
> within a Cygwin environment.
Yes, Cygwin is a Posix environment, and convert-standard-filename is
documented to be a no-op in such an environment.
For the conversion you need, you can call
cygwin-convert-file-name-to-windows directly.
--
Thanks,
David S.
[-- Attachment #2: Type: text/html, Size: 2861 bytes --]
^ permalink raw reply [flat|nested] 2+ messages in thread