bug#62870: Texinfo: stexi->texi: Itemize End command not in a line of its own

Luis Felipe via "Bug reports for GUILE, GNU's Ubiquitous Extension Language" <[email protected]>
Newsgroups gmane.lisp.guile.bugs
Message-ID <[email protected]>
Hi,

The command ending an itemization (end command) is not placed in a line 
of its own, but it should:

"Block commands: These commands are written at the start of a line, with 
general text on following lines, terminated by a matching '@end' command 
on a line of its own." — Texinfo manual, @-Command Syntax.

This happens with the "itemize" command, but not with similar block 
commands like "example", "lisp", "display" and "format".

Operating system: Guix System x86_64 Kernel: 6.1.14-gnu
GNU Guile: 3.0.9


STEPS TO REPRODUCE

1. Start a Guile REPL
2. Run the following code:

    #+begin_src scheme
      (use-modules (texinfo serialize))
      (stexi->texi
       '(*fragment* (itemize (item "mango") (item "lemon"))))
    #+end_src


EXPECTED RESULT

A string like this one:

#+begin_src scheme
   "@itemize\n@item\nmango\n@item\nlemon\n@end itemize\n"
#+end_src

Which displays like this:

#+begin_example
@itemize
@item
mango
@item
lemon
@end itemize
#+end_example


UNEXPECTED RESULT

A string where the "@end itemize" command is not on a line of its own. 
Instead, the command gets appended to the last item in the list:

#+begin_src scheme
   "\n@c %start of fragment\n\n@itemize \n@item\nmango@item\nlemon@end 
itemize\n\n\n@c %end of fragment\n"
#+end_src

Which displays like this:

#+begin_example

@c %start of fragment

@itemize
@item
mango@item
lemon@end itemize


@c %end of fragment
#+end_example

Since the "@end" command is expected to be on a line of its own, tools 
like Texinfo's "makeinfo" program emit warnings like the following when 
converting the fragment to HTML:

#+begin_example
index.texi:73: warning: @end should only appear at the beginning of a line
#+end_example

(It seems also that the "items" themselves are not properly formatted, 
and, in addition, I wouldn't expect the wrapping comments about start 
and end of the fragment; but those seem like a different story, and 
don't trigger warnings anyways.)


WORKAROUND

Append a newline character to the last item of the list, like so:

#+begin_src scheme
   (use-modules (texinfo serialize))
   (stexi->texi
    '(*fragment* (itemize (item "mango") (item "lemon\n"))))
#+end_src

-- 
Luis Felipe López Acevedo
https://luis-felipe.gitlab.io/
OpenPGP_0x0AB0D067012F08C3.asc (application/pgp-keys, 2.8 KB)
-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBGQLfUoBCADXXtq7q0B515koc28OwplQF3XrLOcHzn7DW2HL8WnRfSJp2Yra
Ko6HyfbPmkjkfoRXpXyJBPvRE7f3O5RWkcEoTEXo5Ll2QEtYfangcoTxImcfwsdK
mRl6saEPNhIykrYNM6gcLHxiL//NZZJwO+9uD2R4JRIQfJ7gJ4/e2m8SlA/0Xw1J
KqClOOewnwUcb+cYtZSQo4r0ujYdDcFYlG3I7F+/DwTZfqCnixL0fSXEUOVQ5dUp
u2lK3wMRHE9H60QEM96t6RPiQFA2uan8fX4eT1Igmdq69QUOAQBP5AHW91E+1eMT
qcOa8VmCtJjcY9AMW65LVIzegwkQE4H0vC8DABEBAAHNOEx1aXMgRmVsaXBlIEzD
s3BleiBBY2V2ZWRvIDxsdWlzLmZlbGlwZS5sYUB6b2hvbWFpbC5jb20+wsCOBBMB
CAA4FiEECRCCei4GHmFsBqw9CrDQZwEvCMMFAmQLfUoCGwMFCwkIBwIGFQoJCAsC
BBYCAwECHgECF4AACgkQCrDQZwEvCMO+oQf/bZt7NOgQw96RJSM32wTQhqj6C1dK
jgtKmFecjxxXM5EiYQZPvBDrmjnzVu1mw70eE1N5DFNpCu0qp2vSqvly+PIa7z5F
UOTivVpV6lDDc07BpW4J8/HNZu/GFmvZ2QtzPlr2rcGcRcwYlK9E+WKxT6lPINWN
t2Ca9v+0Kz0OIAj4gEiJZNWQ41tIAHwNm9NKvBgtLxWB3UPteLnHSwRm7gptWF8I
qkjyxNygj3vE+SSVYoilcQsljmCV4zbp7kGUFK9pIxwy85e4VmOehyKLxDqiIGKs
42PydPTFQc1KpmNpbrnadYyXEI8ZchMHbFI6YCduqv1aJ0Q2LmXxItikMc0uTHVp
cyBGZWxpcGUgTMOzcGV6IEFjZXZlZG8gPHNpcmdhemlsQHpvaG8uY29tPsLAjgQT
AQgAOBYhBAkQgnouBh5hbAasPQqw0GcBLwjDBQJkC345AhsDBQsJCAcCBhUKCQgL
AgQWAgMBAh4BAheAAAoJEAqw0GcBLwjDSMMIALPFm3V9/KkzyEjoEYgtK7MNl8ce
fER0K650rbenTX30/5lYwON4EFubf2cYUYwRSs8d+7Le6h035Mi13FGwwRhrDXyv
zn1ifQbxBWkB4BgoIrAKvpjwOatC8+8D9zSi1giZhaoc4hggG6vkBhBB3mGx9lSL
DZlghPIetNJkq4FHTFDqoFQt0ZgAZIGh46jjy4X+kSdhiNqnFSeZGFazQemdWZXS
aipVx1se88aioXWlG8t6Ypr3r8vs+nAgWBYMdazymuIS4bxctSlM47zPt3E3lBwJ
pdso0VjnTKfwKiWofCvTkHNO17OJegVGUQqMx6HeyinhY3nqZZaCzDIqkzfNOkx1
aXMgRmVsaXBlIEzDs3BleiBBY2V2ZWRvIDxsdWlzLmZlbGlwZS5sYUBwcm90b25t
YWlsLmNvbT7CwI4EEwEIADgWIQQJEIJ6LgYeYWwGrD0KsNBnAS8IwwUCZAuABAIb
AwULCQgHAgYVCgkICwIEFgIDAQIeAQIXgAAKCRAKsNBnAS8Iw3z9B/9TKed3eCaW
vvPeMTeFAUcoqAiV39680Y0ppVdXTQmSBbs4QdIuABhgA7ZP9w1D8QOz8PKFCXN0
W7O2uFwuz/ZIh5yoLfY9ngtUibsjRjnLLEbRQnIAIBcwOVjTQnDC42WaZbiXqaPt
WLeT48TULTMOKELc3B2mcLtrVyeDrjGe1f5nvpBb9m1JE7KtNfkPNNcQTpdsP1ru
4tg7EYWUM/oET6N2nq0Md6x/C1FPAF6l/Kskp9AmXTT01HRpjLFmnZYKiK5cuxv4
VgIkixHCuC4Y36AxnnpZ+BNS+Va9SSWBs4tvTqw6OR+ZV6DIJLRfHPoZYK5c62T8
bPNv/BQFa8IVzsBNBGQLfUoBCAC4OLfpwb7JTzA9nOrZmJHw7AljZYq9mK+GgZzp
fwWwo2YyfjmAqkCa0r80Fv1Z7ypE3CVWkAvxb9OkRWKbnMpMw24o62MoGXnRszHw
8C65H5fagE1JpOoBXFZ5IM7ddsiWcOHEbFAgEDPgq8CpZORpa6Gqd850xvXZpIBN
eM+Dz4BJK8LqICpO2IJHlW7T5F1IOA6MwJPCS8E3HyIt9QHFoyk+sDDGfAgWN2oe
8G6OE0m1qY8QI2bDd7Z/1m3fG1DKVacZAPuumjTdRIopiVQIZgKAOrzQQc+eiXtb
mNLsbDam6TxE2m2HererWGRQw2y113jCwC2dQNJlauNWT7wBABEBAAHCwHYEGAEI
ACAWIQQJEIJ6LgYeYWwGrD0KsNBnAS8IwwUCZAt9SgIbDAAKCRAKsNBnAS8Iw6gb
CACQCVdwmXBqIxnqUJZ3ZYX837RFYqGmsXYn7K1QWZOSTz/TwxMWvm32DaCYAEtz
XV+jAPE+ZygBUuOAT0SA4Wjsd/5gS8iqP01dhbPaKhlE+Y7hCp7Tud9uAd8OWhs7
EqEjCZyeJkFqcfq5sF5TKdpBWQ/qQrG//loAwDIOej4ayzmWDPP+wyKpBz7NV1ou
P2DgZRsuSXobS5j4onVaUKRIWiflYLqTzkxysQ/Tt4ArfewjtbmDhkD4UevWXbJ1
h/YtwktCvD3EHai1w4xx+jtzS+Z1jiVW1AXNANeJP8MFC4VGu5/zdt5jUG0raFrx
EjgnzKnuavTaZZVhOUYVUKv9
=IxoS
-----END PGP PUBLIC KEY BLOCK-----
OpenPGP_signature (application/pgp-signature, 495 B) - not displayed
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.