[PATCH 1/3] syntax-check: Enforce <code> inside <dt> elements

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Commit 61b070cf20b5 cleaned up a number of cases where the <dt>
element was used to document symbols, but the symbol itself was
not inside a <code> element.

To make sure we don't end up having to clean up again a few
months from now, introduce a syntax-check rule that can spot
such mistakes.

All existing exceptions are marked as such, with either file
or line granularity depending on the case.
---
 cfg.mk                      | 14 ++++++++++++++
 docs/formatsnapshot.html.in |  6 +++---
 docs/remote.html.in         |  2 +-
 3 files changed, 18 insertions(+), 4 deletions(-)

diff --git a/cfg.mk b/cfg.mk
index cc5ea9e..b277db1 100644
--- a/cfg.mk
+++ b/cfg.mk
@@ -1046,6 +1046,17 @@ sc_gettext_init:
 	halt='the above files do not call virGettextInitialize'		\
 	  $(_sc_search_regexp)
 
+# <dt> is mostly used to document symbols, in which case it should contain
+# a <code> element. The regular expression below trades speed and readability
+# for accuracy, and won't catch someone trying to stick a <canvas> inside a
+# <dt>, but that's what code reviews are for :)
+sc_prohibit_dt_without_code:
+	@prohibit='<dt>([^<]|<[^c])' \
+	exclude='exempt from syntax-check' \
+	in_vc_files='docs/.*$$' \
+	halt='Use <code> inside <dt> when documenting symbols' \
+	  $(_sc_search_regexp)
+
 # We don't use this feature of maint.mk.
 prev_version_file = /dev/null
 
@@ -1282,3 +1293,6 @@ exclude_file_name_regexp--sc_prohibit_not_streq = \
 
 exclude_file_name_regexp--sc_prohibit_not_strneq = \
   ^tests/.*\.[ch]$$
+
+exclude_file_name_regexp--sc_prohibit_dt_without_code = \
+  ^docs/(newapi\.xsl|(apps|contact)\.html\.in)$$
diff --git a/docs/formatsnapshot.html.in b/docs/formatsnapshot.html.in
index c3ab516..8c66a9c 100644
--- a/docs/formatsnapshot.html.in
+++ b/docs/formatsnapshot.html.in
@@ -12,7 +12,7 @@
       There are several types of snapshots:
     </p>
     <dl>
-      <dt>disk snapshot</dt>
+      <dt>disk snapshot</dt> <!-- exempt from syntax-check -->
       <dd>Contents of disks (whether a subset or all disks associated
         with the domain) are saved at a given point of time, and can
         be restored back to that state.  On a running guest, a disk
@@ -26,14 +26,14 @@
         since the snapshot in a single file) and external (the
         snapshot is one file, and the changes since the snapshot are
         in another file).</dd>
-      <dt>memory state (or VM state)</dt>
+      <dt>memory state (or VM state)</dt> <!-- exempt from syntax-check -->
       <dd>Tracks only the state of RAM and all other resources in use
         by the VM.  If the disks are unmodified between the time a VM
         state snapshot is taken and restored, then the guest will
         resume in a consistent state; but if the disks are modified
         externally in the meantime, this is likely to lead to data
         corruption.</dd>
-      <dt>system checkpoint</dt>
+      <dt>system checkpoint</dt> <!-- exempt from syntax-check -->
       <dd>A combination of disk snapshots for all disks as well as VM
         memory state, which can be used to resume the guest from where it
         left off with symptoms similar to hibernation (that is, TCP
diff --git a/docs/remote.html.in b/docs/remote.html.in
index ace1577..638fdae 100644
--- a/docs/remote.html.in
+++ b/docs/remote.html.in
@@ -712,7 +712,7 @@ cp clientcert.pem /etc/pki/libvirt/clientcert.pem
       <a name="Remote_TLS_troubleshooting">Troubleshooting TLS certificate problems</a>
     </h4>
     <dl>
-      <dt> failed to verify client's certificate </dt>
+      <dt>failed to verify client's certificate</dt> <!-- exempt from syntax-check -->
       <dd>
         <p>
 On the server side, run the libvirtd server with
-- 
2.5.5

--
libvir-list mailing list
libvir-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvir-list



[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]