… | |
… | |
183 | |
183 | |
184 | sub load_pod($) { |
184 | sub load_pod($) { |
185 | my ($path) = @_; |
185 | my ($path) = @_; |
186 | |
186 | |
187 | Coro::Storable::thaw cf::cache "cf::pod::as_paragraphs/$path" => [$path], |
187 | Coro::Storable::thaw cf::cache "cf::pod::as_paragraphs/$path" => [$path], |
188 | 1 => sub { |
188 | 2 => sub { |
189 | my ($src) = @_; |
189 | my ($src) = @_; |
|
|
190 | |
190 | cf::fork_call { |
191 | cf::fork_call { |
191 | my $pod = $src->[0]; |
192 | my $pod = $src->[0]; |
192 | utf8::decode $pod; |
193 | utf8::decode $pod; |
193 | Coro::Storable::freeze pom_as_paragraphs +(Pod::POM->new->parse_text ($pod)) |
194 | Coro::Storable::blocking_nfreeze pom_as_paragraphs +(Pod::POM->new->parse_text ($pod)) |
194 | } |
195 | } |
195 | }; |
196 | }; |
196 | } |
197 | } |
197 | |
198 | |
198 | # format as cfpod-style text |
199 | # format as cfpod-style text |
199 | sub as_text($) { |
200 | sub as_cfpod($) { |
200 | my ($pars) = @_; |
201 | my ($pars) = @_; |
201 | |
202 | |
202 | my $res; |
203 | my $res; |
203 | |
204 | |
204 | for my $par (@$pars) { |
205 | for my $par (@$pars) { |