guile-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: guile-lib <p> handling


From: tomas
Subject: Re: guile-lib <p> handling
Date: Mon, 16 Mar 2020 18:15:43 +0100
User-agent: Mutt/1.5.21 (2010-09-15)

On Mon, Mar 16, 2020 at 02:40:45PM +0100, Michal Herko wrote:
> Dear maintainor of guile-lib.
> I believe the special handling of <p> elements in (htmlprag) module
> to be a bug.
> For example:
> 
> (use-modules (htmlprag))
> (html->shtml "<html><body><div><p>text</p></div></body></html>")
> ; expected result (*TOP* (html (body (div (p "text")))))
> ; actual (*TOP* (html (body (div) (p "text"))))
> 
> Note that the <p> element is parsed outside the <div> element.
> I attach the simple patch to remove the special case for <p> elements.
> 

> diff --git a/src/htmlprag.scm b/src/htmlprag.scm
> index 3bd352b..df99612 100644
> --- a/src/htmlprag.scm
> +++ b/src/htmlprag.scm
> @@ -1099,7 +1099,6 @@
>                (meta     . (head))
>                (noframes . (frameset))
>                (option   . (select))
> -              (p        . (body td th))
>                (param    . (applet))
>                (tbody    . (table))
>                (td       . (tr))

Where did you get htmlprag from? I'll guess it's from the
Debian package guile-lib.

It seems the upstream isn't maintained anymore [1]. The
Debian package page [2] lists a maintainer you might want
to contact.

That said, you are modifying the parser's "parent constraints";
I would go the other direction and add <span> to the set of
<p>'s possible parents:

>                (option   . (select))
> -              (p        . (body td th))
> +              (p        . (body td th span))
>                (param    . (applet))

HTML has changed a lot since htmlprag saw its heyday.

Cheers

[1] 
https://planet.racket-lang.org/package-source/neil/htmlprag.plt/1/7/planet-docs/htmlprag/index.html
[2] https://packages.debian.org/buster/guile-library

-- tomás

Attachment: signature.asc
Description: Digital signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]