summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBen Kaduk <kaduk@mit.edu>2012-11-16 19:48:55 -0500
committerBen Kaduk <kaduk@mit.edu>2012-11-27 17:55:03 -0500
commit94947241bd347e9b4dd729c5d550150b7e8cd64c (patch)
tree2442b97c8fdf42ba1371b72798ceaeecfe4597b2
parent760155906bc47163bac1fb5622034a9d53e15294 (diff)
downloadkrb5-94947241bd347e9b4dd729c5d550150b7e8cd64c.tar.gz
krb5-94947241bd347e9b4dd729c5d550150b7e8cd64c.tar.xz
krb5-94947241bd347e9b4dd729c5d550150b7e8cd64c.zip
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. ticket: 7447 tags: pullup target_version: 1.11
-rw-r--r--doc/tools/define_document.tmpl12
-rw-r--r--doc/tools/doxybuilder_types.py2
2 files changed, 7 insertions, 7 deletions
diff --git a/doc/tools/define_document.tmpl b/doc/tools/define_document.tmpl
index 8bf2fd393..ca56d866c 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 ea1510340..10eab1b56 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'))