Subject: Re: bug#57131: regarding closing tags for non void html tags in html-mode skeletons

From: Yilkal Argaw <[email-masked]>
Date: Fri, 12 Aug 2022 23:59:39 +0300

Hi

> No, that's not the convention used in "modern html".  Quite the opposite.

Sorry if I am wrong. I will list the reasons for what  I said. I am
not trying to
make this into a debate but I am listing them if they make my argument clearer.

1. The wording in the HTML5 standard optional tags section
           Reference Link:
https://www.w3.org/TR/2018/SPSD-html5-20180327/syntax.html#optional-tags
      The wording used in this specification is that the
aforementioned closing tags may be omitted. There is no enforcement or
recommendation on this behavior.
      So a user is able to choose on the behavior that one requires
and it would not make the code XML. So the editor should not limit
this option for XML code only.

Note: I am not talking about treating html and xml the same. I am also
not referring to tags that are labeled as void-elements in the HTML5
standard  but require
          closing tags on XML. I don't want to close <image> tag for
example but I might prefer to have closing tags for <p> <li> <td> and
so on. So what I was referring to was  having a variable like
html-close-optional-tags or html-close-optional-tags-alist which will
allow the user to specify this behavior  instead of just saying go to
use xml-mode if you need this behavior.

2. This is how other tools do it so I may not be the only one who
prefers to close my list-items and paragraphs.
         - Web Mode in Emacs
         - Emmet on Emacs
         - VS code
         - Cuda text
         - Atom (RIP)
         - Bluefish Editor
         - Sublime Text 3
         - Vim (vim-closetag plugin)

     I have even looked into the html source of  w3.org and the close
their <li>, <p> and <td> tags.

With Regards
Yilkal A.

On Fri, Aug 12, 2022 at 11:56 PM Yilkal Argaw
<[email-masked]> wrote:
>
> Hi
>
> > No, that's not the convention used in "modern html".  Quite the opposite.
>
> Sorry if I am wrong. I will list the reasons for what  I said. I am
> not trying to
> make this into a debate but I am listing them if they make my argument clearer.
>
> 1. The wording in the HTML5 standard optional tags section
>            Reference Link:
> https://www.w3.org/TR/2018/SPSD-html5-20180327/syntax.html#optional-tags
>       The wording used in this specification is that the
> aforementioned closing tags
>       may be omitted. There is no enforcement or recommendation on
> this behavior.
>       So a user is able to choose on the behavior that one requires
> and it would not
>       make the code XML. So the editor should not limit this option for XML code
>       only.
>
> Note: I am not talking about treating html and xml the same. I am also
> not referring
>           to tags that are labeled as void-elements in the HTML5
> standard  but require
>           closing tags on XML. I don't want to close <image> tag for
> example but I might
>           prefer to have closing tags for <p> <li> <td> and so on. So
> what I was referring
>           to was  having a variable like html-close-optional-tags or
> html-close-optional-tags-alist
>           which will allow the user to specify this behavior  instead
> of just saying go to use
>           xml-mode if you need this behavior.
>
> 2. This is how other tools do it so I may not be only one who prefers
> to close my
>      list-items and paragraphs.
>          - Web Mode in Emacs
>          - Emmet on Emacs
>          - VS code
>          - Cuda text
>          - Atom (RIP)
>          - Bluefish Editor
>          - Sublime Text 3
>          - Vim (vim-closetag plugin)
>
>      I have even looked into the html source of  w3.org and the close
> their <li>, <p> and <td> tags.
>
> With Regards
> Yilkal A.
>
> On Fri, Aug 12, 2022 at 6:20 PM Lars Ingebrigtsen <[email-masked]> wrote:
> >
> > Yilkal Argaw <[email-masked]> writes:
> >
> > > The problem with using them is that they would not
> > > generate closing tags for many of the tags (like <li> <p> because it
> > > is assumed that only xml needs closing tags and the closing pairs are
> > > controlled by the variable sgml-xml-mode. There should be a variable
> > > to control this behaviour
> >
> > The variable that controls this is `sgml-xml-mode', so just set that to
> > a non-nil value if you prefer these functions to insert close tags.
> >
> > > because the convention used widely in modern
> > > html is to close tags as long as they are not "void elements".
> >
> > No, that's not the convention used in "modern html".  Quite the opposite.
> >
> > >  This behaviour is even assumed in the indentation behaviour that it
> > > causes weird indentation when inserting the something like list items
> > > inside unordered list.
> >
> > If something is doing that, then it's not parsing HTML properly.  HTML
> > isn't XHTML.
> >
> > I don't see anything to fix here, so I'm closing this bug report.