--- lib/Biber/Input/file/bibtex.pm | 2 +- lib/Biber/LaTeX/Recode.pm | 6 +++--- lib/Biber/Utils.pm | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) --- lib/Biber/Input/file/bibtex.pm +++ lib/Biber/Input/file/bibtex.pm 2016-01-28 14:20:30.716207168 +0000 @@ -759,7 +759,7 @@ sub _name { # Check for malformed names in names which aren't completely escaped # Too many commas - unless ($name =~ m/\A{\X+}\z/xms) { # Ignore these tests for escaped names + unless ($name =~ m/\A\{\X+}\z/xms) { # Ignore these tests for escaped names my @commas = $name =~ m/,/g; if ($#commas > 1) { biber_warn("Name \"$name\" has too many commas: skipping name", $bibentry); --- lib/Biber/LaTeX/Recode.pm +++ lib/Biber/LaTeX/Recode.pm 2016-01-28 14:28:16.754860744 +0000 @@ -230,13 +230,13 @@ sub latex_decode { $text =~ s/\\not\\($re)/$map->{$1}/ge; } elsif ($type eq 'superscripts') { - $text =~ s/\\textsuperscript{($re)}/$map->{$1}/ge; + $text =~ s/\\textsuperscript\{($re)\}/$map->{$1}/ge; } elsif ($type eq 'cmdsuperscripts') { - $text =~ s/\\textsuperscript{\\($re)}/$map->{$1}/ge; + $text =~ s/\\textsuperscript\{\\($re)\}/$map->{$1}/ge; } elsif ($type eq 'dings') { - $text =~ s/\\ding{([2-9AF][0-9A-F])}/$map->{$1}/ge; + $text =~ s/\\ding\{([2-9AF][0-9A-F])\}/$map->{$1}/ge; } elsif ($type eq 'letters') { $text =~ s/\\($re)(?:\{\}|\s+|\b)/$map->{$1}/ge; --- lib/Biber/Utils.pm +++ lib/Biber/Utils.pm 2016-01-28 14:29:04.213908808 +0000 @@ -436,7 +436,7 @@ sub reduce_array { sub remove_outer { my $str = shift; - $str =~ s/^{(\X+)}$/$1/; + $str =~ s/^\{(\X+)\}$/$1/; return $str; }