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 Date: Sun, Jun 12, 2016 at 3:10 PM Subject: Re: Request to support Cygwin in convert-standard-filename function To: Xi Shen Cc: > From: Xi Shen > 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.