[Libguestfs] [PATCH] Use Unicode single quotes ‘’ in place of short single quoted strings throughout.
Pino Toscano
ptoscano at redhat.com
Thu Apr 6 09:37:08 UTC 2017
On Tuesday, 4 April 2017 19:49:30 CEST Richard W.M. Jones wrote:
> Only in end-user messages and documentation. This change was done
> mostly mechanically using the Perl script attached below.
>
> I also changed don't -> don’t etc and made some other simple fixes.
>
> See also: https://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
>
> ----------
> #!/usr/bin/perl -w
>
> use strict;
> use Locale::PO;
>
> my $re = qr{'([-\w%.,=?*/]+)'};
>
> my %files = ();
>
> foreach my $filename ("po/libguestfs.pot", "po-docs/libguestfs-docs.pot") {
> my $poref = Locale::PO->load_file_asarray($filename);
>
> foreach my $po (@$poref) {
> if ($po->msgid =~ $re) {
> my @refs = split /\s+/, $po->reference;
> foreach my $ref (@refs) {
> my ($file, $lineno) = split /:/, $ref, 2;
> $file =~ s{^\.\./}{};
> if (exists $files{$file}) {
> push @{$files{$file}}, $lineno;
> } else {
> $files{$file} = [$lineno];
> }
> }
> }
> }
> }
>
> foreach my $file (sort keys %files) {
> unless (-w $file) {
> warn "warning: $file is probably generated\n"; # have to edit generator
> next;
> }
> my @lines = sort { $a <=> $b } @{$files{$file}};
>
> #print "editing $file at lines ", join (", ", @lines), " ...\n";
> open FILE, "<$file" or die "$file: $!";
> my @all = ();
> push @all, $_ while <FILE>;
> close FILE;
>
> my $ext = $file;
> $ext =~ s/^.*\.//;
>
> foreach (@lines) {
> # Don't mess with verbatim sections in POD files.
> next if $ext eq "pod" && $all[$_-1] =~ m/^ /;
>
> unless ($all[$_-1] =~ $re) {
> # this can happen for multi-line strings, have to edit it
> # by hand
> warn "warning: $file:$_ does not contain expected content\n";
> next;
> }
> $all[$_-1] =~ s/$re/‘$1’/g;
> }
>
> rename "$file", "$file.bak";
> open FILE, ">$file" or die "$file: $!";
> print FILE $_ for @all;
> close FILE;
> my $mode = (stat ("$file.bak"))[2];
> chmod ($mode & 0777, "$file");
> }
> ---
It'd look ok at a quick glance.
What about putting the script above somewhere in the sources, so it can
be run again easily in the future?
Thanks,
--
Pino Toscano
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: This is a digitally signed message part.
URL: <http://listman.redhat.com/archives/libguestfs/attachments/20170406/1c2a4715/attachment.sig>
More information about the Libguestfs
mailing list