sub parseentryin__pixmap ($) {
my ($entry_in) = @_;
$entry_in =~
- m/^(\w+ \- \w[-+'"#! 0-9a-z]*)\nP3\n([1-9]\d{1,3}) ([1-9]\d{1,3})\n255\n/s or die; # ']);
+ m/^(\w+ \- \w[-+\'\"\#! 0-9a-z]*)\nP3\n([1-9]\d{1,3}) ([1-9]\d{1,3})\n255\n/s or die;
my ($def,$w,$h)= ($1, $2+0, $3+0);
my @d= grep { m/./ } split /\s+/, $';
@d == $w*$h*3 or die "$d[0]|$d[1]|...|$d[$#d-1]|$d[$#d] ?";
my $entry_in= param('entry');
defined $entry_in or die;
-my $owner= `whoami`; $? and die $?;
-chomp $owner;
+my $du=$ENV{'YPPSC_DICTUPDATES'};
+chdir $du or die "$du $!"
+ if defined $du;
my $kind;
my ($ctx,$def,$entry,$icon,$width,$whole)= &{"parseentryin__$kind"}($entry_in);
+my $fn_t= "_update.$$-xxxxxxxxxxxxxxxx.tmp";
+open F, "> $fn_t" or die "$fn_t $!";
+(stat F) or die $!;
+my $fn_i= sprintf "_update.$$-%016x.rdy", (stat _)[1];
+
+print F $whole or die $!;
+close F or die $!;
+rename $fn_t, $fn_i or die "$fn_t $fn_i $!";
+
+__END__
+
$icon =~ s/^/ /mg;
my $email= <<END