[PATCH] Fix warning during manpage generaton

Jon Turney <[email protected]>
Newsgroups gmane.comp.lib.newlib
Message-ID <[email protected]>
> ERROR: xref linking to Stubs has no generated link text.
> Error: no ID for constraint linkend: Stubs.

(Despite saying "ERROR", this is actaully a warning and manpages are
still generated)

Improve chapter-texi2docbook so it generates elements for texinfo
sections as well, so that a cross-reference to the "Stubs" section
contains a valid element ID.
---
 newlib/doc/chapter-texi2docbook.py | 14 ++++++++++++--
 1 file changed, 12 insertions(+), 2 deletions(-)

diff --git a/newlib/doc/chapter-texi2docbook.py b/newlib/doc/chapter-texi2docbook.py
index 834a14e7c..70ab3c04f 100755
--- a/newlib/doc/chapter-texi2docbook.py
+++ b/newlib/doc/chapter-texi2docbook.py
@@ -14,6 +14,7 @@ import re
 
 def main():
     first_node = True
+    prev_sect = False
 
     print ('<?xml version="1.0" encoding="UTF-8"?>')
     print ('<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">')
@@ -27,18 +28,27 @@ def main():
         if l.startswith("@node"):
             l = l.replace("@node", "", 1)
             l = l.strip()
-            l = l.lower()
             if first_node:
-                print ('<chapter id="%s_chapter" xmlns:xi="http://www.w3.org/2001/XInclude">' % l.replace(' ', '_'))
+                print ('<chapter id="%s_chapter" xmlns:xi="http://www.w3.org/2001/XInclude">' % l.lower().replace(' ', '_'))
                 first_node = False
+            else:
+                if prev_sect:
+                    print ('</section>')
+                print ('<section id="%s">' % l)
+                prev_sect = True
         elif l.startswith("@chapter "):
             l = l.replace("@chapter ", "", 1)
             print ('<title>%s</title>' % l)
+        elif l.startswith("@section "):
+            l = l.replace("@section ", "", 1)
+            print ('<title>%s</title>' % l)
         elif l.startswith("@include "):
             l = l.replace("@include ", "", 1)
             l = l.replace(".def", ".xml", 1)
             print ('<xi:include href="%s"/>' % l.strip())
 
+    if prev_sect:
+        print ('</section>')
     print ('</chapter>')
 
 if __name__ == "__main__" :
-- 
2.38.1
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.