[tex-live] Interference with Embarcadero C++Builder?
T T
t34www at googlemail.com
Fri Nov 6 15:37:14 CET 2009
2009/11/6 Norbert Preining <preining at logic.at>:
> On Fr, 06 Nov 2009, Jörn Clausen wrote:
>> It seems the path .../RAD Studio/6.0/Bpl is already contained in the
>> path, and ...\RAD Studio\6.0\BPL should be added. Is there anything in
>
> Ouch ...
> ...\BPL
> and
> ...\Bpl
> is *the*same* on Windows.
>
> So yes, there is a problem, but I don't see that it is in TL:
> - the TL installer adds the texlive's bin/win32 to the path, but also
> checks that the paths do not contain a tex already. So it recreates
> the path variable, but in this it uses exactely what is returned
> from the system path.
>
> - it seems that the check in RAD Studio is broken in the sense that
> it checks without upper-casing (or lower-casing) the full path
> before comparison.
>
> So the bug is in the RAD STudio, but it was triggered by us.
>
> The problem is that I don't see what we can make different. We keep exactely
> the path as returned from the perl library, i.e. as found in the registry.
> Why your program then insists on BPL instelad of Bpl ... no idea.
We should not change what's read from the registry, but we do - we
change backslashes to slashes in get_system_env/get_user_path - patch
below. Please check if I hadn't missed any occurrences of
get_system_env/get_user_path in case some code relies on that
substitution being in place (exclude adjust_reg_path_for_texlive, as
we don't want it there).
Cheers,
Tomek
Index: tlpkg/TeXLive/TLWinGoo.pm
===================================================================
--- tlpkg/TeXLive/TLWinGoo.pm (revision 15934)
+++ tlpkg/TeXLive/TLWinGoo.pm (working copy)
@@ -356,7 +356,6 @@
sub get_system_path {
my $value = get_system_env() -> {'/Path'};
- $value =~ s/\\/\//g;
# Remove terminating zero bytes; there may be several, at least
# under w2k, and the FixSzNulls option only removes one.
$value =~ s/[\s\x00]+$//;
@@ -376,7 +375,6 @@
sub get_user_path {
my $value = get_user_env() -> {'/Path'};
return "" if not $value;
- $value =~ s/\\/\//g;
$value =~ s/[\s\x00]+$//;
return $value;
}
@@ -399,6 +397,7 @@
my $path = expand_string(get_system_path());
my $user_path = expand_string(get_user_path());
$path = $path . ';' . $user_path if $user_path;
+ $path =~ s/\\/\//g;
foreach $d (split (';',$path)) {
$d =~ s/\/$//;
return $d if -e $d.'/'.$prog;
More information about the tex-live
mailing list