bug-texinfo
[Top][All Lists]
Advanced

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

Re: [bug #46007] texi2dvi Msys support


From: Eli Zaretskii
Subject: Re: [bug #46007] texi2dvi Msys support
Date: Thu, 24 Sep 2015 18:26:03 +0300

> From: address@hidden (Vincent Belaïche)
> Date: Wed, 23 Sep 2015 23:04:38 +0200
> Cc: Texinfo <address@hidden>
> 
> >> From reading that MikTeX mailing list msys bash does a conversion
> >> from the colon style to the semicolon style
> >
> > AFAIK, it only does that in PATH, but not in other environment
> > variables that uses the PATH style to hold a list of directories.
> >
> 
> I also thought that before, but as far as I understood there are in fact
> two steps of conversion:
> 
> 1) conversion when bash is loaded : then only the PATH envvar from MSW
>    is converted.
> 
> 2) conversion when a non-MSYS program is launched from MSYS, then
> 
>    2.1) locally to the subshell where this program is executed, prior to
>      execution any envvar that looks like containing a colon spearated
>      list of directories is converted so that colons are replaced by
>      semicolons, and directories are converted to the MSW native format
>      (except / remains /, ie does not become \ )
> 
> 
>    2.2) any argument that looks like a FILENAME, or like
>      --some-option=FILENAME, has FILENAME converted from MSYS format to
>      MSW native format (with / remaining /) before passing it to the
>      program.

Sorry, I was unclear: this is all quite correct (except that 2.1 is
not 100% reliable), but the problem is that 1 is not the exact
opposite of 2.1.  This means you cannot set an environment variable
system-wide and expect it to work both with native programs and in
MSYS; you need to tinker with MSYS init files instead.

MSYS was invented to allow building MinGW ports of Unix software that
required running Posix configure scripts and Posix Makefile's that
needed a Unixy shell.  For this role, MSYS is an almost perfect tool,
and does its job beautifully.  But it was never meant to be used as a
general-purpose Unix-like environment; for that, simply use Cygwin.




reply via email to

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