\section{Module \ocamlinlinecode{Stop}}\label{module-Stop}%
This test cases exercises stop comments.

\label{module-Stop-val-foo}\ocamlcodefragment{\ocamltag{keyword}{val} foo : int}\begin{ocamlindent}This is normal commented text.\end{ocamlindent}%
\medbreak
The next value is \ocamlinlinecode{bar}, and it should be missing from the documentation. There is also an entire module, \ocamlinlinecode{M}, which should also be hidden. It contains a nested stop comment, but that stop comment should not turn documentation back on in this outer module, because stop comments respect scope.

Documentation is on again.

Now, we have a nested module, and it has a stop comment between its two items. We want to see that the first item is displayed, but the second is missing, and the stop comment disables documenation only in that module, and not in this outer module.

\label{module-Stop-module-N}\ocamlcodefragment{\ocamltag{keyword}{module} \hyperref[module-Stop-module-N]{\ocamlinlinecode{N}}}\ocamlcodefragment{ : \ocamltag{keyword}{sig}}\begin{ocamlindent}\label{module-Stop-module-N-val-quux}\ocamlcodefragment{\ocamltag{keyword}{val} quux : int}\\
\end{ocamlindent}%
\ocamlcodefragment{\ocamltag{keyword}{end}}\\
\label{module-Stop-val-lol}\ocamlcodefragment{\ocamltag{keyword}{val} lol : int}\\
The first comment can also be a stop-comment. The test case \ocamlinlinecode{stop\_\allowbreak{}first\_\allowbreak{}comment.\allowbreak{}mli} is testing the same thing but at the toplevel. We should see \ocamlinlinecode{bar} inside \hyperref[module-Stop-module-O]{\ocamlinlinecode{\ocamlinlinecode{O}}[p\pageref*{module-Stop-module-O}]}.

\label{module-Stop-module-O}\ocamlcodefragment{\ocamltag{keyword}{module} \hyperref[module-Stop-module-O]{\ocamlinlinecode{O}}}\ocamlcodefragment{ : \ocamltag{keyword}{sig}}\begin{ocamlindent}\label{module-Stop-module-O-val-bar}\ocamlcodefragment{\ocamltag{keyword}{val} bar : int}\\
\end{ocamlindent}%
\ocamlcodefragment{\ocamltag{keyword}{end}}\\
The top-comment computation must not mess with stop comments.

\label{module-Stop-module-P}\ocamlcodefragment{\ocamltag{keyword}{module} \hyperref[module-Stop-module-P]{\ocamlinlinecode{P}}}\ocamlcodefragment{ : \ocamltag{keyword}{sig}}\begin{ocamlindent}\label{module-Stop-module-P-val-bar}\ocamlcodefragment{\ocamltag{keyword}{val} bar : int}\\
\end{ocamlindent}%
\ocamlcodefragment{\ocamltag{keyword}{end}}\begin{ocamlindent}Doc.\end{ocamlindent}%
\medbreak


