krb5 commit [krb5-1.11]: Render macros as literals
Tom Yu
tlyu at MIT.EDU
Thu Nov 29 16:04:14 EST 2012
https://github.com/krb5/krb5/commit/0f64407db456ee1ebc61d736319ef43d560009fa
commit 0f64407db456ee1ebc61d736319ef43d560009fa
Author: Ben Kaduk <kaduk at mit.edu>
Date: Fri Nov 16 19:48:55 2012 -0500
Render macros as literals
Some convenience macros are referring to and dereferencing pointers,
and Sphinx will get a bit confused trying to interpret this as markup.
There should never be any markup intended to be interpreted in the
value of a macro definition, so we can silence this class of
warnings by treating them as literals. (In some sense, they actually
are literals, too.)
This will cause a warning for macros that only cause a
symbol to be defined, that is, a literal "#define MACRO" with no
initializer, due to the lack of body in the inline-literal markup.
Such macros should probably be added to the exclude list for conversion
to reStructuredText in the Doxygen-Sphinx bridge, as was already
done for KRB5_OLD_CRYPTO. Support code to programmatically omit
macros of this sort is deliberately *not* included, so that explicit
action must be taken when a new macro is to be undocumented.
Also, strip leading and trailing whitespace from the macro name,
since this causes problems with the markup.
(cherry picked from commit 94947241bd347e9b4dd729c5d550150b7e8cd64c)
ticket: 7447
doc/tools/define_document.tmpl | 12 ++++++------
doc/tools/doxybuilder_types.py | 2 +-
2 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/doc/tools/define_document.tmpl b/doc/tools/define_document.tmpl
index 8bf2fd3..ca56d86 100644
--- a/doc/tools/define_document.tmpl
+++ b/doc/tools/define_document.tmpl
@@ -17,11 +17,11 @@ $composite.short_description
$composite.long_description
#if $composite.name_signature is not None and len($composite.name_signature)
-#echo ''.join(['=']*len($composite.name_signature)) + '== ======================' #
-$composite.name_signature $composite.initializer
-#echo ''.join(['=']*len($composite.name_signature)) + '== ======================' #
+#echo ''.join(['=']*(len($composite.name_signature)+4)) + '== ======================' #
+``$composite.name_signature`` ``$composite.initializer``
+#echo ''.join(['=']*(len($composite.name_signature)+4)) + '== ======================' #
#else
-#echo ''.join(['=']*len($composite.name)) + '=== ======================' #
-$composite.name $composite.initializer
-#echo ''.join(['=']*len($composite.name)) + '=== ======================' #
+#echo ''.join(['=']*(len($composite.name)+4)) + '=== ======================' #
+``$composite.name`` ``$composite.initializer``
+#echo ''.join(['=']*(len($composite.name)+4)) + '=== ======================' #
#end if
diff --git a/doc/tools/doxybuilder_types.py b/doc/tools/doxybuilder_types.py
index ea15103..10eab1b 100644
--- a/doc/tools/doxybuilder_types.py
+++ b/doc/tools/doxybuilder_types.py
@@ -195,7 +195,7 @@ class DoxyTypes(object):
if prm_list is not None:
prm_str = prm_str.join(prm_list)
d_signature = " %s (%s) " % (d_name , prm_str)
- d_signature = re.sub(', \)', ')', d_signature)
+ d_signature = re.sub(', \)', ')', d_signature).strip()
if len(node.xpath('./initializer')) > 0:
len_ref = len(node.xpath('./initializer/ref'))
More information about the cvs-krb5
mailing list