diff options
-rw-r--r-- | NEWS | 3 | ||||
-rw-r--r-- | Rpmdrake/rpmnew.pm | 6 |
2 files changed, 8 insertions, 1 deletions
@@ -1,3 +1,6 @@ +- rpmdrake + o fix encoding of diff output (#52994) + Version 5.18 - 1 October 2009, Thierry Vignaud - edit-urpm-sources: diff --git a/Rpmdrake/rpmnew.pm b/Rpmdrake/rpmnew.pm index 325882be..6980b567 100644 --- a/Rpmdrake/rpmnew.pm +++ b/Rpmdrake/rpmnew.pm @@ -73,7 +73,11 @@ sub inspect { -r $rpmnew or $rpmfile = 'rpmsave'; -r $rpmnew && -r $rpmsave && (stat $rpmsave)[9] > (stat $rpmnew)[9] and $rpmfile = 'rpmsave'; $rpmfile eq 'rpmsave' and $rpmnew = $rpmsave; - my @diff = `/usr/bin/diff -u '$file' '$rpmnew'`; + + foreach (qw(LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT LC_IDENTIFICATION LC_ALL)) { + local $ENV{$_} = $ENV{$_} . '.UTF-8' if $ENV{$_} && $ENV{$_} !~ /UTF-8/; + } + my @diff = map { ensure_utf8($_) } `/usr/bin/diff -u '$file' '$rpmnew'`; @diff = N("(none)") if !@diff; my $d = ugtk2->new(N("Inspecting %s", $file), grab => 1, transient => $::main_window); my $save_wsize = sub { @inspect_wsize = $d->{rwindow}->get_size }; |