Skip Menu |

This queue is for tickets about the Pod-POM CPAN distribution.

Report information
The Basics
Id: 45547
Status: open
Priority: 0/
Queue: Pod-POM

People
Owner: Nobody in particular
Requestors: ANDK [...] cpan.org
Cc:
AdminCc:

Bug Information
Severity: (no value)
Broken in: 0.25
Fixed in: (no value)



Subject: Tentative patch to support =encoding
I couldn't resist a hacking attempt to get -encoding going. I'm sure you know some more spots that need tweaking but at least all tests pass (for me at least) and there is one more test for encoding itself. I hope you like it. I'd be willing to re-do it if you have objections. Thanks!
Subject: ttt
Download ttt
application/octet-stream 5.2k

Message body not shown because it is not plain text.

It has been pointed out to me that the resulting HTML needs either a charset declaration or an additional encoding step. I'm not fond of these meta tags, they feel like action at a distance to me. So I've provided another patch which converts HTML into XML entities. It goes on top of the first patch. Another observation: while the POD specification does not allow more than one =encoding directive I tried to be more liberal and allow any number of them. It puts less burdon on people generating pod from pod.
# This is a patch for Pod-POM-0.25-yhlPTS to update it to Pod-POM-0.25-t4Vbwq # # To apply this patch: # STEP 1: Chdir to the source directory. # STEP 2: Run the 'applypatch' program with this patch file as input. # # If you do not have 'applypatch', it is part of the 'makepatch' package # that you can fetch from the Comprehensive Perl Archive Network: # http://www.perl.com/CPAN/authors/Johan_Vromans/makepatch-x.y.tar.gz # In the above URL, 'x' should be 2 or higher. # # To apply this patch without the use of 'applypatch': # STEP 1: Chdir to the source directory. # STEP 2: Run the 'patch' program with this file as input. # #### End of Preamble #### #### Patch data follows #### diff -c 'Pod-POM-0.25-yhlPTS/lib/Pod/POM/Node.pm' 'Pod-POM-0.25-t4Vbwq/lib/Pod/POM/Node.pm' Index: ./lib/Pod/POM/Node.pm Prereq: 60 *** ./lib/Pod/POM/Node.pm Fri Mar 20 13:41:35 2009 --- ./lib/Pod/POM/Node.pm Fri May 1 04:59:22 2009 *************** *** 185,191 **** my $type = $self->{ type }; my $method = "view_$type"; DEBUG("presenting method $method to $view\n"); ! return $view->$method($self, @args); } --- 185,196 ---- my $type = $self->{ type }; my $method = "view_$type"; DEBUG("presenting method $method to $view\n"); ! my $txt = $view->$method($self, @args); ! if ($view->can("encode")){ ! return $view->encode($txt); ! } else { ! return $txt; ! } } diff -c 'Pod-POM-0.25-yhlPTS/lib/Pod/POM/View/HTML.pm' 'Pod-POM-0.25-t4Vbwq/lib/Pod/POM/View/HTML.pm' Index: ./lib/Pod/POM/View/HTML.pm Prereq: 33 *** ./lib/Pod/POM/View/HTML.pm Thu Mar 19 11:05:51 2009 --- ./lib/Pod/POM/View/HTML.pm Fri May 1 05:00:52 2009 *************** *** 401,406 **** --- 401,411 ---- return $text; } + sub encode { + my($self,$text) = @_; + require Encode; + return Encode::encode("ascii",$text,Encode::FB_XMLCREF()); + } 1; diff -c 'Pod-POM-0.25-yhlPTS/t/testcases/230-encoding.view-html' 'Pod-POM-0.25-t4Vbwq/t/testcases/230-encoding.view-html' Index: ./t/testcases/230-encoding.view-html *** ./t/testcases/230-encoding.view-html Fri May 1 05:03:28 2009 --- ./t/testcases/230-encoding.view-html Fri May 1 05:02:16 2009 *************** *** 3,8 **** <h1>NAME</h1> <p>230-encoding</p> ! <p>This is latin-2 for a c with an accent: Slaven Rezić</p> </body> </html> --- 3,8 ---- <h1>NAME</h1> <p>230-encoding</p> ! <p>This is latin-2 for a c with an accent: Slaven Rezi&#x107;</p> </body> </html> #### End of Patch data #### #### ApplyPatch data follows #### # Data version : 1.0 # Date generated : Fri May 1 05:05:38 2009 # Generated by : makepatch 2.03 # Recurse directories : Yes # Excluded files : (\A|/).*\~\Z # (\A|/).*\.a\Z # (\A|/).*\.bak\Z # (\A|/).*\.BAK\Z # (\A|/).*\.elc\Z # (\A|/).*\.exe\Z # (\A|/).*\.gz\Z # (\A|/).*\.ln\Z # (\A|/).*\.o\Z # (\A|/).*\.obj\Z # (\A|/).*\.olb\Z # (\A|/).*\.old\Z # (\A|/).*\.orig\Z # (\A|/).*\.rej\Z # (\A|/).*\.so\Z # (\A|/).*\.Z\Z # (\A|/)\.del\-.*\Z # (\A|/)\.make\.state\Z # (\A|/)\.nse_depinfo\Z # (\A|/)core\Z # (\A|/)tags\Z # (\A|/)TAGS\Z # p 'lib/Pod/POM/Node.pm' 18834 1241146762 0100644 # p 'lib/Pod/POM/View/HTML.pm' 10293 1241146852 0100644 # p 't/testcases/230-encoding.view-html' 144 1241146936 0100644 #### End of ApplyPatch data #### #### End of Patch kit [created: Fri May 1 05:05:38 2009] #### #### Patch checksum: 101 3211 11060 #### #### Checksum: 119 3911 3173 ####