+ if ( &has_addr($arg) ) {
+ if ( $arg =~ /add_wch\((window\d+,)?0x[[:xdigit:]]+\)/i ) {
+ $arg =~ s/(0x[[:xdigit:]]+)[)]/\&wch)/i;
+ }
+ elsif (
+ $arg =~ /color_content\((screen\d+,)?\d+(,0x[[:xdigit:]]+){3}/i )
+ {
+ $arg =~ s/(,0x[[:xdigit:]]+){3}[)]/,\&r,\&g,\&b)/i;
+ }
+ elsif ( $arg =~ /pair_content\((screen\d+,)?\d+(,0x[[:xdigit:]]+){2}/i )
+ {
+ $arg =~ s/(,0x[[:xdigit:]]+){2}[)]/,\&fg,\&bg)/i;
+ }
+ }
+ if ( &has_addr($arg) and $arg =~ /called\s+\{/ ) {
+ my $func = $arg;
+ chomp $func;
+ $func =~ s/^.*called\s+\{([[:alnum:]_]+)\(.*$/$1/;
+ if ( defined $known_p1{$func} ) {
+ my $addr = $arg;
+ my $type = $known_p1{$func};
+ chomp $addr;
+ $addr =~ s/^[^(]+\((0x[[:xdigit:]]+).*/$1/i;
+ if ( $type == 1 ) {
+ $scr_addr{$addr} = ++$scr_nums;
+ $arg = &transaddr($arg);
+ }
+ elsif ( $type == 2 ) {
+ $win_addr{$addr} = ++$win_nums;
+ $arg = &transaddr($arg);
+ }
+ elsif ( $type == 4 ) {
+ $trm_addr{$addr} = ++$trm_nums;
+ $arg = &transaddr($arg);
+ }
+ }