On Wed, Apr 20, 2022 at 09:08:18PM +0200, Victor Toso wrote: > def serialize_variable(self, output, name): > id = self.idx.variables[name] > - if id.info is not None: > - output.write(" <variable name='%s' file='%s' type='%s'/>\n" % ( > - name, self.modulename_file(id.header), id.info)) > + (type, comment) = id.info > + (since, comment, _) = self.retrieve_comment_tags(name, comment) > + version_tag = len(since) > 0 and f" version='{since}'" or "" > + output.write(" <variable name='%s' file='%s' type='%s'%s" % ( > + name, self.modulename_file(id.header), type, version_tag)) > + if len(comment) == 0: > + output.write("/>\n") > else: > - output.write(" <variable name='%s' file='%s'/>\n" % ( > - name, self.modulename_file(id.header))) > + output.write(">\n <info><![CDATA[%s]]></info>\n" % (comment)) Note that, for variables, the comment will not have gone through the same sanifications as for other symbols, and so the output will look like <variable name='virConnectAuthPtrDefault' file='libvirt-host' type='virConnectAuthPtr' version='0.4.1'> <info><![CDATA[virConnectAuthPtrDefault: A default implementation of the authentication callbacks. This implementation is suitable for command line based tools. It will prompt for username, passwords, realm and one time keys as needed. It will print on STDOUT, and read from STDIN. If this is not suitable for the application's needs an alternative implementation should be provided.]]></info> </variable> The first two lines of the CDATA section should obviously not be there. Various functions have code like lines = self.comment.split('\n') if lines[0] == '*': del lines[0] if lines[0] != "* %s:" % name: if not quiet: self.warning("Misformatted function comment for %s" % name) self.warning(" Expecting '* %s:' got '%s'" % (name, lines[0])) return (ret[0], retdesc), args, desc del lines[0] while lines[0] == '*': del lines[0] to deal with this scenario, but I'm unclear on where exactly you'd put the equivalent for variables. The whole script is a giant underdocumented[1] mess and I'm utterly impressed by your ability to understand it well enough to add features to it. [1] I can absolutely appreciate the irony in that ;) -- Andrea Bolognani / Red Hat / Virtualization