[Moscow.pm] Странность в Text::Textile

Alex Povolotsky tarkhil на over.ru
Ср Янв 6 06:06:14 PST 2010


On 01/06/10 16:20, Andrei wrote:
> 6 января 2010 г. 13:17 пользователь Alex Povolotsky <tarkhil на over.ru 
> <mailto:tarkhil на over.ru>> написал:
>
>     On 01/06/10 15:12, Andrei wrote:
>>     Судя по исходникам, это баг:
>>
>>     http://cpansearch.perl.org/src/BCHOATE/Text-Textile-2.12/lib/Text/Textile.pm
>>
>
>     Да, логично. $t->new(charser=>'utf--8') и $t->charset('utf-8')
>     делают ЧУТЬ-ЧУТЬ разные вещи.
>
>     .... значит, грабли лежат где-то выше в MojoMojo...
>
>
> Я не про это. Я про то, что:
>
> sub charset {
>
>      my $self = shift;
>      if (@_) {
>
>          $self->{charset} = shift;
>          if ($self->{charset} =~ m/^utf-?8$/i) {
>
>              $self->char_encoding(0);
>          } else {
>
>              $self->char_encoding(1);
>          }
>
>      }
>      return $self->{charset};
>
> }
>    
>
> Т.е. сеттер для charset устанавливает char_encoding в 0, если 
> /^utf-?8$/ . В то время как в new char_encoding по умолчанию 
> устанавливается в 1, значит, его нужно устанавливать в 0 явно вместе с 
> charset => 'utf-8'. Ну, или править исходники.

Да, я понял. В принципе, акксессор с побочным эффектом - это есть злая 
бага. Но от явной установки char_encoding(0) проблема не проходит...

Alex.

----------- следущая часть -----------
Вложение в формате HTML было извлечено&hellip;
URL: <http://mail.pm.org/pipermail/moscow-pm/attachments/20100106/016de5b3/attachment-0001.html>


Подробная информация о списке рассылки Moscow-pm