aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--html-test/ref/A.html2
-rw-r--r--html-test/ref/AdvanceTypes.html2
-rw-r--r--html-test/ref/B.html2
-rw-r--r--html-test/ref/Bug1.html2
-rw-r--r--html-test/ref/Bug2.html2
-rw-r--r--html-test/ref/Bug3.html2
-rw-r--r--html-test/ref/Bug4.html2
-rw-r--r--html-test/ref/Bug6.html2
-rw-r--r--html-test/ref/Bug7.html2
-rw-r--r--html-test/ref/Bug8.html8
-rw-r--r--html-test/ref/BugDeprecated.html20
-rw-r--r--html-test/ref/BugExportHeadings.html47
-rw-r--r--html-test/ref/Bugs.html2
-rw-r--r--html-test/ref/CrossPackageDocs.html35
-rw-r--r--html-test/ref/DeprecatedClass.html14
-rw-r--r--html-test/ref/DeprecatedData.html20
-rw-r--r--html-test/ref/DeprecatedFunction.html5
-rw-r--r--html-test/ref/DeprecatedFunction2.html5
-rw-r--r--html-test/ref/DeprecatedFunction3.html5
-rw-r--r--html-test/ref/DeprecatedModule.html5
-rw-r--r--html-test/ref/DeprecatedModule2.html5
-rw-r--r--html-test/ref/DeprecatedNewtype.html14
-rw-r--r--html-test/ref/DeprecatedReExport.html17
-rw-r--r--html-test/ref/DeprecatedRecord.html5
-rw-r--r--html-test/ref/DeprecatedTypeFamily.html8
-rw-r--r--html-test/ref/DeprecatedTypeSynonym.html8
-rw-r--r--html-test/ref/Examples.html2
-rw-r--r--html-test/ref/FunArgs.html2
-rw-r--r--html-test/ref/GADTRecords.html2
-rw-r--r--html-test/ref/Hash.html20
-rw-r--r--html-test/ref/HiddenInstances.html2
-rw-r--r--html-test/ref/HiddenInstancesB.html2
-rw-r--r--html-test/ref/Hyperlinks.html2
-rw-r--r--html-test/ref/IgnoreExports.html2
-rw-r--r--html-test/ref/ModuleWithWarning.html5
-rw-r--r--html-test/ref/NamedDoc.html2
-rw-r--r--html-test/ref/NoLayout.html2
-rw-r--r--html-test/ref/NonGreedy.html2
-rw-r--r--html-test/ref/Properties.html2
-rw-r--r--html-test/ref/PruneWithWarning.html2
-rw-r--r--html-test/ref/SpuriousSuperclassConstraints.html2
-rw-r--r--html-test/ref/Test.html80
-rw-r--r--html-test/ref/Ticket253_1.html2
-rw-r--r--html-test/ref/Ticket253_2.html2
-rw-r--r--html-test/ref/Ticket61.html2
-rw-r--r--html-test/ref/Ticket75.html2
-rw-r--r--html-test/ref/TitledPicture.html2
-rw-r--r--html-test/ref/TypeFamilies.html2
-rw-r--r--html-test/ref/TypeOperators.html8
-rw-r--r--html-test/ref/Unicode.html2
-rw-r--r--html-test/ref/Visible.html2
-rw-r--r--html-test/ref/mini_BugExportHeadings.html18
-rw-r--r--html-test/ref/mini_DeprecatedReExport.html6
-rw-r--r--html-test/ref/mini_Hash.html9
-rw-r--r--html-test/ref/mini_Test.html36
-rw-r--r--html-test/ref/mini_TypeOperators.html3
-rwxr-xr-xhtml-test/run.lhs21
-rw-r--r--html-test/src/Bug7.hs1
-rw-r--r--html-test/src/Bug8.hs6
-rw-r--r--html-test/src/FunArgs.hs1
-rw-r--r--html-test/src/Test.hs52
-rw-r--r--html-test/src/Ticket75.hs1
-rw-r--r--src/Haddock/Parser.hs30
-rw-r--r--test/Haddock/ParserSpec.hs77
64 files changed, 272 insertions, 385 deletions
diff --git a/html-test/ref/A.html b/html-test/ref/A.html
index 4ba16b7b..4d55ba16 100644
--- a/html-test/ref/A.html
+++ b/html-test/ref/A.html
@@ -35,7 +35,7 @@ window.onload = function () {pageLoad();setSynopsis("mini_A.html");};
><th
>Safe Haskell</th
><td
- >None</td
+ >Safe-Inferred</td
></tr
></table
><p class="caption"
diff --git a/html-test/ref/AdvanceTypes.html b/html-test/ref/AdvanceTypes.html
index 4b9f3517..67920c82 100644
--- a/html-test/ref/AdvanceTypes.html
+++ b/html-test/ref/AdvanceTypes.html
@@ -35,7 +35,7 @@ window.onload = function () {pageLoad();setSynopsis("mini_AdvanceTypes.html");};
><th
>Safe Haskell</th
><td
- >None</td
+ >Safe-Inferred</td
></tr
></table
><p class="caption"
diff --git a/html-test/ref/B.html b/html-test/ref/B.html
index 04bbfe09..4dd5d339 100644
--- a/html-test/ref/B.html
+++ b/html-test/ref/B.html
@@ -35,7 +35,7 @@ window.onload = function () {pageLoad();setSynopsis("mini_B.html");};
><th
>Safe Haskell</th
><td
- >None</td
+ >Safe-Inferred</td
></tr
></table
><p class="caption"
diff --git a/html-test/ref/Bug1.html b/html-test/ref/Bug1.html
index fa41e438..d784fbfa 100644
--- a/html-test/ref/Bug1.html
+++ b/html-test/ref/Bug1.html
@@ -35,7 +35,7 @@ window.onload = function () {pageLoad();setSynopsis("mini_Bug1.html");};
><th
>Safe Haskell</th
><td
- >None</td
+ >Safe-Inferred</td
></tr
></table
><p class="caption"
diff --git a/html-test/ref/Bug2.html b/html-test/ref/Bug2.html
index 2172e9ac..a7b66556 100644
--- a/html-test/ref/Bug2.html
+++ b/html-test/ref/Bug2.html
@@ -35,7 +35,7 @@ window.onload = function () {pageLoad();setSynopsis("mini_Bug2.html");};
><th
>Safe Haskell</th
><td
- >None</td
+ >Safe-Inferred</td
></tr
></table
><p class="caption"
diff --git a/html-test/ref/Bug3.html b/html-test/ref/Bug3.html
index 495d09c6..fa9000a6 100644
--- a/html-test/ref/Bug3.html
+++ b/html-test/ref/Bug3.html
@@ -35,7 +35,7 @@ window.onload = function () {pageLoad();setSynopsis("mini_Bug3.html");};
><th
>Safe Haskell</th
><td
- >None</td
+ >Safe-Inferred</td
></tr
></table
><p class="caption"
diff --git a/html-test/ref/Bug4.html b/html-test/ref/Bug4.html
index b702e75c..f97f375e 100644
--- a/html-test/ref/Bug4.html
+++ b/html-test/ref/Bug4.html
@@ -35,7 +35,7 @@ window.onload = function () {pageLoad();setSynopsis("mini_Bug4.html");};
><th
>Safe Haskell</th
><td
- >None</td
+ >Safe-Inferred</td
></tr
></table
><p class="caption"
diff --git a/html-test/ref/Bug6.html b/html-test/ref/Bug6.html
index 43f383dd..384e4dc8 100644
--- a/html-test/ref/Bug6.html
+++ b/html-test/ref/Bug6.html
@@ -35,7 +35,7 @@ window.onload = function () {pageLoad();setSynopsis("mini_Bug6.html");};
><th
>Safe Haskell</th
><td
- >None</td
+ >Safe-Inferred</td
></tr
></table
><p class="caption"
diff --git a/html-test/ref/Bug7.html b/html-test/ref/Bug7.html
index 9cce9ac8..d3d6ac7d 100644
--- a/html-test/ref/Bug7.html
+++ b/html-test/ref/Bug7.html
@@ -35,7 +35,7 @@ window.onload = function () {pageLoad();setSynopsis("mini_Bug7.html");};
><th
>Safe Haskell</th
><td
- >None</td
+ >Safe-Inferred</td
></tr
></table
><p class="caption"
diff --git a/html-test/ref/Bug8.html b/html-test/ref/Bug8.html
index 5a57cfbc..8d4b1129 100644
--- a/html-test/ref/Bug8.html
+++ b/html-test/ref/Bug8.html
@@ -35,7 +35,7 @@ window.onload = function () {pageLoad();setSynopsis("mini_Bug8.html");};
><th
>Safe Haskell</th
><td
- >None</td
+ >Safe-Inferred</td
></tr
></table
><p class="caption"
@@ -60,7 +60,7 @@ window.onload = function () {pageLoad();setSynopsis("mini_Bug8.html");};
><a name="v:Type" class="def"
>Type</a
> (<a href=""
- >String</a
+ >Typ</a
>, [<a href=""
>Typ</a
>])</td
@@ -72,9 +72,9 @@ window.onload = function () {pageLoad();setSynopsis("mini_Bug8.html");};
><a name="v:TFree" class="def"
>TFree</a
> (<a href=""
- >String</a
+ >Typ</a
>, [<a href=""
- >String</a
+ >Typ</a
>])</td
><td class="doc empty"
>&nbsp;</td
diff --git a/html-test/ref/BugDeprecated.html b/html-test/ref/BugDeprecated.html
index 956e08b2..b3f63665 100644
--- a/html-test/ref/BugDeprecated.html
+++ b/html-test/ref/BugDeprecated.html
@@ -35,7 +35,7 @@ window.onload = function () {pageLoad();setSynopsis("mini_BugDeprecated.html");}
><th
>Safe Haskell</th
><td
- >None</td
+ >Safe-Inferred</td
></tr
></table
><p class="caption"
@@ -96,8 +96,7 @@ window.onload = function () {pageLoad();setSynopsis("mini_BugDeprecated.html");}
><div class="doc"
><div class="warning"
><p
- >Deprecated: for foo
-</p
+ >Deprecated: for foo</p
></div
></div
></div
@@ -111,8 +110,7 @@ window.onload = function () {pageLoad();setSynopsis("mini_BugDeprecated.html");}
><div class="doc"
><div class="warning"
><p
- >Deprecated: for baz
-</p
+ >Deprecated: for baz</p
></div
></div
></div
@@ -126,8 +124,7 @@ window.onload = function () {pageLoad();setSynopsis("mini_BugDeprecated.html");}
><div class="doc"
><div class="warning"
><p
- >Deprecated: for bar
-</p
+ >Deprecated: for bar</p
></div
></div
></div
@@ -141,8 +138,7 @@ window.onload = function () {pageLoad();setSynopsis("mini_BugDeprecated.html");}
><div class="doc"
><div class="warning"
><p
- >Deprecated: for one
-</p
+ >Deprecated: for one</p
></div
><p
>some documentation for one, two and three
@@ -159,8 +155,7 @@ window.onload = function () {pageLoad();setSynopsis("mini_BugDeprecated.html");}
><div class="doc"
><div class="warning"
><p
- >Deprecated: for three
-</p
+ >Deprecated: for three</p
></div
><p
>some documentation for one, two and three
@@ -177,8 +172,7 @@ window.onload = function () {pageLoad();setSynopsis("mini_BugDeprecated.html");}
><div class="doc"
><div class="warning"
><p
- >Deprecated: for two
-</p
+ >Deprecated: for two</p
></div
><p
>some documentation for one, two and three
diff --git a/html-test/ref/BugExportHeadings.html b/html-test/ref/BugExportHeadings.html
index 1010dc54..7e3ea0d3 100644
--- a/html-test/ref/BugExportHeadings.html
+++ b/html-test/ref/BugExportHeadings.html
@@ -35,7 +35,7 @@ window.onload = function () {pageLoad();setSynopsis("mini_BugExportHeadings.html
><th
>Safe Haskell</th
><td
- >None</td
+ >Safe-Inferred</td
></tr
></table
><p class="caption"
@@ -47,33 +47,27 @@ window.onload = function () {pageLoad();setSynopsis("mini_BugExportHeadings.html
><ul
><li
><a href=""
- >Foo
-</a
+ >Foo</a
></li
><li
><a href=""
- >Bar
-</a
+ >Bar</a
></li
><li
><a href=""
- >Baz
-</a
+ >Baz</a
></li
><li
><a href=""
- >One
-</a
+ >One</a
></li
><li
><a href=""
- >Two
-</a
+ >Two</a
></li
><li
><a href=""
- >Three
-</a
+ >Three</a
></li
></ul
></div
@@ -121,8 +115,7 @@ window.onload = function () {pageLoad();setSynopsis("mini_BugExportHeadings.html
></div
><div id="interface"
><h1 id="g:1"
- >Foo
-</h1
+ >Foo</h1
><div class="top"
><p class="src"
><a name="v:foo" class="def"
@@ -132,8 +125,7 @@ window.onload = function () {pageLoad();setSynopsis("mini_BugExportHeadings.html
></p
></div
><h1 id="g:2"
- >Bar
-</h1
+ >Bar</h1
><div class="top"
><p class="src"
><a name="v:bar" class="def"
@@ -143,8 +135,7 @@ window.onload = function () {pageLoad();setSynopsis("mini_BugExportHeadings.html
></p
></div
><h1 id="g:3"
- >Baz
-</h1
+ >Baz</h1
><div class="top"
><p class="src"
><a name="v:baz" class="def"
@@ -154,8 +145,7 @@ window.onload = function () {pageLoad();setSynopsis("mini_BugExportHeadings.html
></p
></div
><h1 id="g:4"
- >One
-</h1
+ >One</h1
><div class="top"
><p class="src"
><a name="v:one" class="def"
@@ -166,14 +156,12 @@ window.onload = function () {pageLoad();setSynopsis("mini_BugExportHeadings.html
><div class="doc"
><div class="warning"
><p
- >Deprecated: for one
-</p
+ >Deprecated: for one</p
></div
></div
></div
><h1 id="g:5"
- >Two
-</h1
+ >Two</h1
><div class="top"
><p class="src"
><a name="v:two" class="def"
@@ -184,14 +172,12 @@ window.onload = function () {pageLoad();setSynopsis("mini_BugExportHeadings.html
><div class="doc"
><div class="warning"
><p
- >Deprecated: for two
-</p
+ >Deprecated: for two</p
></div
></div
></div
><h1 id="g:6"
- >Three
-</h1
+ >Three</h1
><div class="top"
><p class="src"
><a name="v:three" class="def"
@@ -202,8 +188,7 @@ window.onload = function () {pageLoad();setSynopsis("mini_BugExportHeadings.html
><div class="doc"
><div class="warning"
><p
- >Deprecated: for three
-</p
+ >Deprecated: for three</p
></div
></div
></div
diff --git a/html-test/ref/Bugs.html b/html-test/ref/Bugs.html
index 0b4c349a..d38c455b 100644
--- a/html-test/ref/Bugs.html
+++ b/html-test/ref/Bugs.html
@@ -35,7 +35,7 @@ window.onload = function () {pageLoad();setSynopsis("mini_Bugs.html");};
><th
>Safe Haskell</th
><td
- >None</td
+ >Safe-Inferred</td
></tr
></table
><p class="caption"
diff --git a/html-test/ref/CrossPackageDocs.html b/html-test/ref/CrossPackageDocs.html
index 8eff9e3c..0bbc7a6d 100644
--- a/html-test/ref/CrossPackageDocs.html
+++ b/html-test/ref/CrossPackageDocs.html
@@ -35,7 +35,7 @@ window.onload = function () {pageLoad();setSynopsis("mini_CrossPackageDocs.html"
><th
>Safe Haskell</th
><td
- >None</td
+ >Safe-Inferred</td
></tr
></table
><p class="caption"
@@ -116,12 +116,10 @@ window.onload = function () {pageLoad();setSynopsis("mini_CrossPackageDocs.html"
> to each element
of <code
>xs</code
- >, i.e.,
-</p
+ >, i.e.,</p
><pre
> map f [x1, x2, ..., xn] == [f x1, f x2, ..., f xn]
- map f [x1, x2, ...] == [f x1, f x2, ...]
-</pre
+ map f [x1, x2, ...] == [f x1, f x2, ...]</pre
></div
></div
><div class="top"
@@ -136,8 +134,7 @@ window.onload = function () {pageLoad();setSynopsis("mini_CrossPackageDocs.html"
><div class="doc"
><p
>Class for string-like datastructures; used by the overloaded string
- extension (-XOverloadedStrings in GHC).
-</p
+ extension (-XOverloadedStrings in GHC).</p
></div
><div class="subs methods"
><p class="caption"
@@ -188,8 +185,7 @@ window.onload = function () {pageLoad();setSynopsis("mini_CrossPackageDocs.html"
><a href=""
>proc</a
></code
- > for details)
-</p
+ > for details)</p
></td
></tr
><tr
@@ -199,8 +195,7 @@ window.onload = function () {pageLoad();setSynopsis("mini_CrossPackageDocs.html"
>]</td
><td class="doc"
><p
- >Arguments to pass to the executable
-</p
+ >Arguments to pass to the executable</p
></td
></tr
><tr
@@ -212,8 +207,7 @@ window.onload = function () {pageLoad();setSynopsis("mini_CrossPackageDocs.html"
></td
><td class="doc"
><p
- >Optional path to the working directory
-</p
+ >Optional path to the working directory</p
></td
></tr
><tr
@@ -227,8 +221,7 @@ window.onload = function () {pageLoad();setSynopsis("mini_CrossPackageDocs.html"
>)]</td
><td class="doc"
><p
- >Optional environment (otherwise inherit)
-</p
+ >Optional environment (otherwise inherit)</p
></td
></tr
><tr
@@ -262,15 +255,12 @@ window.onload = function () {pageLoad();setSynopsis("mini_CrossPackageDocs.html"
>stdout</code
> and <code
>stderr</code
- > respectively.
-</p
+ > respectively.</p
><p
- >For example, to start a process and feed a string to its stdin:
-</p
+ >For example, to start a process and feed a string to its stdin:</p
><pre
> (inp,out,err,pid) &lt;- runInteractiveProcess &quot;...&quot;
- forkIO (hPutStr inp str)
-</pre
+ forkIO (hPutStr inp str)</pre
><p
>The <code
><a href=""
@@ -281,8 +271,7 @@ window.onload = function () {pageLoad();setSynopsis("mini_CrossPackageDocs.html"
><a href=""
>hSetBinaryMode</a
></code
- >.
-</p
+ >.</p
></div
></div
></div
diff --git a/html-test/ref/DeprecatedClass.html b/html-test/ref/DeprecatedClass.html
index 3a2d73a6..99eea1bd 100644
--- a/html-test/ref/DeprecatedClass.html
+++ b/html-test/ref/DeprecatedClass.html
@@ -35,7 +35,7 @@ window.onload = function () {pageLoad();setSynopsis("mini_DeprecatedClass.html")
><th
>Safe Haskell</th
><td
- >None</td
+ >Safe-Inferred</td
></tr
></table
><p class="caption"
@@ -90,8 +90,7 @@ window.onload = function () {pageLoad();setSynopsis("mini_DeprecatedClass.html")
><div class="doc"
><div class="warning"
><p
- >Deprecated: SomeClass
-</p
+ >Deprecated: SomeClass</p
></div
><p
>some class
@@ -107,8 +106,7 @@ window.onload = function () {pageLoad();setSynopsis("mini_DeprecatedClass.html")
><div class="doc"
><div class="warning"
><p
- >Deprecated: foo
-</p
+ >Deprecated: foo</p
></div
><p
>documentation for foo
@@ -128,8 +126,7 @@ window.onload = function () {pageLoad();setSynopsis("mini_DeprecatedClass.html")
><div class="doc"
><div class="warning"
><p
- >Deprecated: SomeOtherClass
-</p
+ >Deprecated: SomeOtherClass</p
></div
></div
><div class="subs methods"
@@ -142,8 +139,7 @@ window.onload = function () {pageLoad();setSynopsis("mini_DeprecatedClass.html")
><div class="doc"
><div class="warning"
><p
- >Deprecated: bar
-</p
+ >Deprecated: bar</p
></div
></div
></div
diff --git a/html-test/ref/DeprecatedData.html b/html-test/ref/DeprecatedData.html
index 03efdc4c..254ae11e 100644
--- a/html-test/ref/DeprecatedData.html
+++ b/html-test/ref/DeprecatedData.html
@@ -35,7 +35,7 @@ window.onload = function () {pageLoad();setSynopsis("mini_DeprecatedData.html");
><th
>Safe Haskell</th
><td
- >None</td
+ >Safe-Inferred</td
></tr
></table
><p class="caption"
@@ -92,8 +92,7 @@ window.onload = function () {pageLoad();setSynopsis("mini_DeprecatedData.html");
><div class="doc"
><div class="warning"
><p
- >Deprecated: Foo
-</p
+ >Deprecated: Foo</p
></div
><p
>type Foo
@@ -111,8 +110,7 @@ window.onload = function () {pageLoad();setSynopsis("mini_DeprecatedData.html");
><td class="doc"
><div class="warning"
><p
- >Deprecated: Foo
-</p
+ >Deprecated: Foo</p
></div
><p
>constructor Foo
@@ -127,8 +125,7 @@ window.onload = function () {pageLoad();setSynopsis("mini_DeprecatedData.html");
><td class="doc"
><div class="warning"
><p
- >Deprecated: Bar
-</p
+ >Deprecated: Bar</p
></div
><p
>constructor Bar
@@ -148,8 +145,7 @@ window.onload = function () {pageLoad();setSynopsis("mini_DeprecatedData.html");
><div class="doc"
><div class="warning"
><p
- >Deprecated: One
-</p
+ >Deprecated: One</p
></div
></div
><div class="subs constructors"
@@ -164,8 +160,7 @@ window.onload = function () {pageLoad();setSynopsis("mini_DeprecatedData.html");
><td class="doc"
><div class="warning"
><p
- >Deprecated: One
-</p
+ >Deprecated: One</p
></div
></td
></tr
@@ -177,8 +172,7 @@ window.onload = function () {pageLoad();setSynopsis("mini_DeprecatedData.html");
><td class="doc"
><div class="warning"
><p
- >Deprecated: Two
-</p
+ >Deprecated: Two</p
></div
></td
></tr
diff --git a/html-test/ref/DeprecatedFunction.html b/html-test/ref/DeprecatedFunction.html
index 621b2d07..2ee6d01e 100644
--- a/html-test/ref/DeprecatedFunction.html
+++ b/html-test/ref/DeprecatedFunction.html
@@ -35,7 +35,7 @@ window.onload = function () {pageLoad();setSynopsis("mini_DeprecatedFunction.htm
><th
>Safe Haskell</th
><td
- >None</td
+ >Safe-Inferred</td
></tr
></table
><p class="caption"
@@ -76,8 +76,7 @@ window.onload = function () {pageLoad();setSynopsis("mini_DeprecatedFunction.htm
><a href=""
>bar</a
></code
- > instead
-</p
+ > instead</p
></div
><p
>some documentation for foo
diff --git a/html-test/ref/DeprecatedFunction2.html b/html-test/ref/DeprecatedFunction2.html
index 023081b3..f212adf2 100644
--- a/html-test/ref/DeprecatedFunction2.html
+++ b/html-test/ref/DeprecatedFunction2.html
@@ -35,7 +35,7 @@ window.onload = function () {pageLoad();setSynopsis("mini_DeprecatedFunction2.ht
><th
>Safe Haskell</th
><td
- >None</td
+ >Safe-Inferred</td
></tr
></table
><p class="caption"
@@ -66,8 +66,7 @@ window.onload = function () {pageLoad();setSynopsis("mini_DeprecatedFunction2.ht
><div class="doc"
><div class="warning"
><p
- >Deprecated: use bar instead
-</p
+ >Deprecated: use bar instead</p
></div
></div
></div
diff --git a/html-test/ref/DeprecatedFunction3.html b/html-test/ref/DeprecatedFunction3.html
index c2d31c69..9cb06812 100644
--- a/html-test/ref/DeprecatedFunction3.html
+++ b/html-test/ref/DeprecatedFunction3.html
@@ -35,7 +35,7 @@ window.onload = function () {pageLoad();setSynopsis("mini_DeprecatedFunction3.ht
><th
>Safe Haskell</th
><td
- >None</td
+ >Safe-Inferred</td
></tr
></table
><p class="caption"
@@ -66,8 +66,7 @@ window.onload = function () {pageLoad();setSynopsis("mini_DeprecatedFunction3.ht
><div class="doc"
><div class="warning"
><p
- >Deprecated: use bar instead
-</p
+ >Deprecated: use bar instead</p
></div
></div
></div
diff --git a/html-test/ref/DeprecatedModule.html b/html-test/ref/DeprecatedModule.html
index b98615ed..1ff1e61f 100644
--- a/html-test/ref/DeprecatedModule.html
+++ b/html-test/ref/DeprecatedModule.html
@@ -35,7 +35,7 @@ window.onload = function () {pageLoad();setSynopsis("mini_DeprecatedModule.html"
><th
>Safe Haskell</th
><td
- >None</td
+ >Safe-Inferred</td
></tr
></table
><p class="caption"
@@ -49,8 +49,7 @@ window.onload = function () {pageLoad();setSynopsis("mini_DeprecatedModule.html"
><p
>Deprecated: Use <a href=""
>Foo</a
- > instead
-</p
+ > instead</p
></div
><p
>Documentation for <a href=""
diff --git a/html-test/ref/DeprecatedModule2.html b/html-test/ref/DeprecatedModule2.html
index a4f621d3..65de4400 100644
--- a/html-test/ref/DeprecatedModule2.html
+++ b/html-test/ref/DeprecatedModule2.html
@@ -35,7 +35,7 @@ window.onload = function () {pageLoad();setSynopsis("mini_DeprecatedModule2.html
><th
>Safe Haskell</th
><td
- >None</td
+ >Safe-Inferred</td
></tr
></table
><p class="caption"
@@ -47,8 +47,7 @@ window.onload = function () {pageLoad();setSynopsis("mini_DeprecatedModule2.html
><div class="doc"
><div class="warning"
><p
- >Deprecated: Use Foo instead
-</p
+ >Deprecated: Use Foo instead</p
></div
></div
></div
diff --git a/html-test/ref/DeprecatedNewtype.html b/html-test/ref/DeprecatedNewtype.html
index 81a883e0..b3675ccf 100644
--- a/html-test/ref/DeprecatedNewtype.html
+++ b/html-test/ref/DeprecatedNewtype.html
@@ -35,7 +35,7 @@ window.onload = function () {pageLoad();setSynopsis("mini_DeprecatedNewtype.html
><th
>Safe Haskell</th
><td
- >None</td
+ >Safe-Inferred</td
></tr
></table
><p class="caption"
@@ -80,8 +80,7 @@ window.onload = function () {pageLoad();setSynopsis("mini_DeprecatedNewtype.html
><div class="doc"
><div class="warning"
><p
- >Deprecated: SomeNewType
-</p
+ >Deprecated: SomeNewType</p
></div
><p
>some documentation
@@ -101,8 +100,7 @@ window.onload = function () {pageLoad();setSynopsis("mini_DeprecatedNewtype.html
><td class="doc"
><div class="warning"
><p
- >Deprecated: SomeNewTypeConst
-</p
+ >Deprecated: SomeNewTypeConst</p
></div
><p
>constructor docu
@@ -122,8 +120,7 @@ window.onload = function () {pageLoad();setSynopsis("mini_DeprecatedNewtype.html
><div class="doc"
><div class="warning"
><p
- >Deprecated: SomeOtherNewType
-</p
+ >Deprecated: SomeOtherNewType</p
></div
></div
><div class="subs constructors"
@@ -140,8 +137,7 @@ window.onload = function () {pageLoad();setSynopsis("mini_DeprecatedNewtype.html
><td class="doc"
><div class="warning"
><p
- >Deprecated: SomeOtherNewTypeConst
-</p
+ >Deprecated: SomeOtherNewTypeConst</p
></div
></td
></tr
diff --git a/html-test/ref/DeprecatedReExport.html b/html-test/ref/DeprecatedReExport.html
index a5bd5027..159c1086 100644
--- a/html-test/ref/DeprecatedReExport.html
+++ b/html-test/ref/DeprecatedReExport.html
@@ -35,7 +35,7 @@ window.onload = function () {pageLoad();setSynopsis("mini_DeprecatedReExport.htm
><th
>Safe Haskell</th
><td
- >None</td
+ >Safe-Inferred</td
></tr
></table
><p class="caption"
@@ -47,13 +47,11 @@ window.onload = function () {pageLoad();setSynopsis("mini_DeprecatedReExport.htm
><ul
><li
><a href=""
- >Re-exported from an other module
-</a
+ >Re-exported from an other module</a
></li
><li
><a href=""
- >Re-exported from an other package
-</a
+ >Re-exported from an other package</a
></li
></ul
></div
@@ -85,8 +83,7 @@ window.onload = function () {pageLoad();setSynopsis("mini_DeprecatedReExport.htm
></div
><div id="interface"
><h1 id="g:1"
- >Re-exported from an other module
-</h1
+ >Re-exported from an other module</h1
><div class="top"
><p class="src"
><a name="v:foo" class="def"
@@ -101,8 +98,7 @@ window.onload = function () {pageLoad();setSynopsis("mini_DeprecatedReExport.htm
><a href=""
>bar</a
></code
- > instead
-</p
+ > instead</p
></div
><p
>some documentation for foo
@@ -110,8 +106,7 @@ window.onload = function () {pageLoad();setSynopsis("mini_DeprecatedReExport.htm
></div
></div
><h1 id="g:2"
- >Re-exported from an other package
-</h1
+ >Re-exported from an other package</h1
><div class="doc"
><p
>Not yet working, see <a href=""
diff --git a/html-test/ref/DeprecatedRecord.html b/html-test/ref/DeprecatedRecord.html
index ac510aa0..5f84dfa8 100644
--- a/html-test/ref/DeprecatedRecord.html
+++ b/html-test/ref/DeprecatedRecord.html
@@ -35,7 +35,7 @@ window.onload = function () {pageLoad();setSynopsis("mini_DeprecatedRecord.html"
><th
>Safe Haskell</th
><td
- >None</td
+ >Safe-Inferred</td
></tr
></table
><p class="caption"
@@ -122,8 +122,7 @@ window.onload = function () {pageLoad();setSynopsis("mini_DeprecatedRecord.html"
><dd class="doc"
><div class="warning"
><p
- >Deprecated: do not use this
-</p
+ >Deprecated: do not use this</p
></div
><p
>some value
diff --git a/html-test/ref/DeprecatedTypeFamily.html b/html-test/ref/DeprecatedTypeFamily.html
index 874272b7..b9f49036 100644
--- a/html-test/ref/DeprecatedTypeFamily.html
+++ b/html-test/ref/DeprecatedTypeFamily.html
@@ -35,7 +35,7 @@ window.onload = function () {pageLoad();setSynopsis("mini_DeprecatedTypeFamily.h
><th
>Safe Haskell</th
><td
- >None</td
+ >Safe-Inferred</td
></tr
></table
><p class="caption"
@@ -72,8 +72,7 @@ window.onload = function () {pageLoad();setSynopsis("mini_DeprecatedTypeFamily.h
><div class="doc"
><div class="warning"
><p
- >Deprecated: SomeTypeFamily
-</p
+ >Deprecated: SomeTypeFamily</p
></div
><p
>some documentation
@@ -90,8 +89,7 @@ window.onload = function () {pageLoad();setSynopsis("mini_DeprecatedTypeFamily.h
><div class="doc"
><div class="warning"
><p
- >Deprecated: SomeOtherTypeFamily
-</p
+ >Deprecated: SomeOtherTypeFamily</p
></div
></div
></div
diff --git a/html-test/ref/DeprecatedTypeSynonym.html b/html-test/ref/DeprecatedTypeSynonym.html
index 457afb93..fe305da7 100644
--- a/html-test/ref/DeprecatedTypeSynonym.html
+++ b/html-test/ref/DeprecatedTypeSynonym.html
@@ -35,7 +35,7 @@ window.onload = function () {pageLoad();setSynopsis("mini_DeprecatedTypeSynonym.
><th
>Safe Haskell</th
><td
- >None</td
+ >Safe-Inferred</td
></tr
></table
><p class="caption"
@@ -78,8 +78,7 @@ window.onload = function () {pageLoad();setSynopsis("mini_DeprecatedTypeSynonym.
><div class="doc"
><div class="warning"
><p
- >Deprecated: TypeSyn
-</p
+ >Deprecated: TypeSyn</p
></div
><p
>some documentation
@@ -98,8 +97,7 @@ window.onload = function () {pageLoad();setSynopsis("mini_DeprecatedTypeSynonym.
><div class="doc"
><div class="warning"
><p
- >Deprecated: OtherTypeSyn
-</p
+ >Deprecated: OtherTypeSyn</p
></div
></div
></div
diff --git a/html-test/ref/Examples.html b/html-test/ref/Examples.html
index 1652036f..f14e226b 100644
--- a/html-test/ref/Examples.html
+++ b/html-test/ref/Examples.html
@@ -35,7 +35,7 @@ window.onload = function () {pageLoad();setSynopsis("mini_Examples.html");};
><th
>Safe Haskell</th
><td
- >None</td
+ >Safe-Inferred</td
></tr
></table
><p class="caption"
diff --git a/html-test/ref/FunArgs.html b/html-test/ref/FunArgs.html
index 06bb8d95..c8c6a25d 100644
--- a/html-test/ref/FunArgs.html
+++ b/html-test/ref/FunArgs.html
@@ -35,7 +35,7 @@ window.onload = function () {pageLoad();setSynopsis("mini_FunArgs.html");};
><th
>Safe Haskell</th
><td
- >None</td
+ >Safe-Inferred</td
></tr
></table
><p class="caption"
diff --git a/html-test/ref/GADTRecords.html b/html-test/ref/GADTRecords.html
index 5c6a08a7..a461e075 100644
--- a/html-test/ref/GADTRecords.html
+++ b/html-test/ref/GADTRecords.html
@@ -35,7 +35,7 @@ window.onload = function () {pageLoad();setSynopsis("mini_GADTRecords.html");};
><th
>Safe Haskell</th
><td
- >None</td
+ >Safe-Inferred</td
></tr
></table
><p class="caption"
diff --git a/html-test/ref/Hash.html b/html-test/ref/Hash.html
index 09ada75e..06a7a19d 100644
--- a/html-test/ref/Hash.html
+++ b/html-test/ref/Hash.html
@@ -35,7 +35,7 @@ window.onload = function () {pageLoad();setSynopsis("mini_Hash.html");};
><th
>Safe Haskell</th
><td
- >None</td
+ >Safe-Inferred</td
></tr
></table
><p class="caption"
@@ -49,15 +49,13 @@ window.onload = function () {pageLoad();setSynopsis("mini_Hash.html");};
><a href=""
>The <code
>HashTable</code
- > type
-</a
+ > type</a
><ul
><li
><a href=""
>Operations on <code
>HashTable</code
- >s
-</a
+ >s</a
></li
></ul
></li
@@ -65,8 +63,7 @@ window.onload = function () {pageLoad();setSynopsis("mini_Hash.html");};
><a href=""
>The <code
>Hash</code
- > class
-</a
+ > class</a
></li
></ul
></div
@@ -146,8 +143,7 @@ window.onload = function () {pageLoad();setSynopsis("mini_Hash.html");};
><h1 id="g:1"
>The <code
>HashTable</code
- > type
-</h1
+ > type</h1
><div class="top"
><p class="src"
><span class="keyword"
@@ -175,8 +171,7 @@ window.onload = function () {pageLoad();setSynopsis("mini_Hash.html");};
><h2 id="g:2"
>Operations on <code
>HashTable</code
- >s
-</h2
+ >s</h2
><div class="top"
><p class="src"
><a name="v:new" class="def"
@@ -246,8 +241,7 @@ window.onload = function () {pageLoad();setSynopsis("mini_Hash.html");};
><h1 id="g:3"
>The <code
>Hash</code
- > class
-</h1
+ > class</h1
><div class="top"
><p class="src"
><span class="keyword"
diff --git a/html-test/ref/HiddenInstances.html b/html-test/ref/HiddenInstances.html
index a5fa405d..3ca45640 100644
--- a/html-test/ref/HiddenInstances.html
+++ b/html-test/ref/HiddenInstances.html
@@ -35,7 +35,7 @@ window.onload = function () {pageLoad();setSynopsis("mini_HiddenInstances.html")
><th
>Safe Haskell</th
><td
- >None</td
+ >Safe-Inferred</td
></tr
></table
><p class="caption"
diff --git a/html-test/ref/HiddenInstancesB.html b/html-test/ref/HiddenInstancesB.html
index 84887672..248b7839 100644
--- a/html-test/ref/HiddenInstancesB.html
+++ b/html-test/ref/HiddenInstancesB.html
@@ -35,7 +35,7 @@ window.onload = function () {pageLoad();setSynopsis("mini_HiddenInstancesB.html"
><th
>Safe Haskell</th
><td
- >None</td
+ >Safe-Inferred</td
></tr
></table
><p class="caption"
diff --git a/html-test/ref/Hyperlinks.html b/html-test/ref/Hyperlinks.html
index f63f49e2..91237eb2 100644
--- a/html-test/ref/Hyperlinks.html
+++ b/html-test/ref/Hyperlinks.html
@@ -35,7 +35,7 @@ window.onload = function () {pageLoad();setSynopsis("mini_Hyperlinks.html");};
><th
>Safe Haskell</th
><td
- >None</td
+ >Safe-Inferred</td
></tr
></table
><p class="caption"
diff --git a/html-test/ref/IgnoreExports.html b/html-test/ref/IgnoreExports.html
index 7ae660e5..8181829b 100644
--- a/html-test/ref/IgnoreExports.html
+++ b/html-test/ref/IgnoreExports.html
@@ -35,7 +35,7 @@ window.onload = function () {pageLoad();setSynopsis("mini_IgnoreExports.html");}
><th
>Safe Haskell</th
><td
- >None</td
+ >Safe-Inferred</td
></tr
></table
><p class="caption"
diff --git a/html-test/ref/ModuleWithWarning.html b/html-test/ref/ModuleWithWarning.html
index ace9deb6..5d8b3832 100644
--- a/html-test/ref/ModuleWithWarning.html
+++ b/html-test/ref/ModuleWithWarning.html
@@ -35,7 +35,7 @@ window.onload = function () {pageLoad();setSynopsis("mini_ModuleWithWarning.html
><th
>Safe Haskell</th
><td
- >None</td
+ >Safe-Inferred</td
></tr
></table
><p class="caption"
@@ -49,8 +49,7 @@ window.onload = function () {pageLoad();setSynopsis("mini_ModuleWithWarning.html
><p
>Warning: This is an unstable interface. Prefer functions from <a href=""
>Prelude</a
- > instead!
-</p
+ > instead!</p
></div
><p
>Documentation for <a href=""
diff --git a/html-test/ref/NamedDoc.html b/html-test/ref/NamedDoc.html
index a00360ee..9c929548 100644
--- a/html-test/ref/NamedDoc.html
+++ b/html-test/ref/NamedDoc.html
@@ -35,7 +35,7 @@ window.onload = function () {pageLoad();setSynopsis("mini_NamedDoc.html");};
><th
>Safe Haskell</th
><td
- >None</td
+ >Safe-Inferred</td
></tr
></table
><p class="caption"
diff --git a/html-test/ref/NoLayout.html b/html-test/ref/NoLayout.html
index ff82d420..13c90f3e 100644
--- a/html-test/ref/NoLayout.html
+++ b/html-test/ref/NoLayout.html
@@ -35,7 +35,7 @@ window.onload = function () {pageLoad();setSynopsis("mini_NoLayout.html");};
><th
>Safe Haskell</th
><td
- >None</td
+ >Safe-Inferred</td
></tr
></table
><p class="caption"
diff --git a/html-test/ref/NonGreedy.html b/html-test/ref/NonGreedy.html
index db79dbfe..8d8f26a5 100644
--- a/html-test/ref/NonGreedy.html
+++ b/html-test/ref/NonGreedy.html
@@ -35,7 +35,7 @@ window.onload = function () {pageLoad();setSynopsis("mini_NonGreedy.html");};
><th
>Safe Haskell</th
><td
- >None</td
+ >Safe-Inferred</td
></tr
></table
><p class="caption"
diff --git a/html-test/ref/Properties.html b/html-test/ref/Properties.html
index c1796570..3e590b45 100644
--- a/html-test/ref/Properties.html
+++ b/html-test/ref/Properties.html
@@ -35,7 +35,7 @@ window.onload = function () {pageLoad();setSynopsis("mini_Properties.html");};
><th
>Safe Haskell</th
><td
- >None</td
+ >Safe-Inferred</td
></tr
></table
><p class="caption"
diff --git a/html-test/ref/PruneWithWarning.html b/html-test/ref/PruneWithWarning.html
index 8c840fee..220576fa 100644
--- a/html-test/ref/PruneWithWarning.html
+++ b/html-test/ref/PruneWithWarning.html
@@ -35,7 +35,7 @@ window.onload = function () {pageLoad();setSynopsis("mini_PruneWithWarning.html"
><th
>Safe Haskell</th
><td
- >None</td
+ >Safe-Inferred</td
></tr
></table
><p class="caption"
diff --git a/html-test/ref/SpuriousSuperclassConstraints.html b/html-test/ref/SpuriousSuperclassConstraints.html
index 3ccbeef9..9b9d8087 100644
--- a/html-test/ref/SpuriousSuperclassConstraints.html
+++ b/html-test/ref/SpuriousSuperclassConstraints.html
@@ -35,7 +35,7 @@ window.onload = function () {pageLoad();setSynopsis("mini_SpuriousSuperclassCons
><th
>Safe Haskell</th
><td
- >None</td
+ >Safe-Inferred</td
></tr
></table
><p class="caption"
diff --git a/html-test/ref/Test.html b/html-test/ref/Test.html
index d9663da2..9a25f960 100644
--- a/html-test/ref/Test.html
+++ b/html-test/ref/Test.html
@@ -65,7 +65,7 @@ window.onload = function () {pageLoad();setSynopsis("mini_Test.html");};
><th
>Safe Haskell</th
><td
- >None</td
+ >Safe-Inferred</td
></tr
></table
><p class="caption"
@@ -77,65 +77,53 @@ window.onload = function () {pageLoad();setSynopsis("mini_Test.html");};
><ul
><li
><a href=""
- >Type declarations
-</a
+ >Type declarations</a
><ul
><li
><a href=""
- >Data types
-</a
+ >Data types</a
></li
><li
><a href=""
- >Records
-</a
+ >Records</a
></li
></ul
></li
><li
><a href=""
- >Class declarations
-</a
+ >Class declarations</a
></li
><li
><a href=""
- >Function types
-</a
+ >Function types</a
></li
><li
><a href=""
- >Auxiliary stuff
-</a
+ >Auxiliary stuff</a
></li
><li
><a href=""
- >A hidden module
-</a
+ >A hidden module</a
></li
><li
><a href=""
- >A visible module
-</a
+ >A visible module</a
></li
><li
><a href=""
- >Existential / Universal types
-</a
+ >Existential / Universal types</a
></li
><li
><a href=""
- >Type signatures with argument docs
-</a
+ >Type signatures with argument docs</a
></li
><li
><a href=""
- >A section
-</a
+ >A section</a
><ul
><li
><a href=""
- >A subsection
-</a
+ >A subsection</a
></li
></ul
></li
@@ -675,11 +663,9 @@ window.onload = function () {pageLoad();setSynopsis("mini_Test.html");};
></div
><div id="interface"
><h1 id="g:1"
- >Type declarations
-</h1
+ >Type declarations</h1
><h2 id="g:2"
- >Data types
-</h2
+ >Data types</h2
><div class="top"
><p class="src"
><span class="keyword"
@@ -1044,7 +1030,7 @@ window.onload = function () {pageLoad();setSynopsis("mini_Test.html");};
><a href=""
>n3</a
></code
- > field
+ > field
</p
></dd
></dl
@@ -1209,8 +1195,7 @@ window.onload = function () {pageLoad();setSynopsis("mini_Test.html");};
></div
></div
><h2 id="g:3"
- >Records
-</h2
+ >Records</h2
><div class="top"
><p class="src"
><span class="keyword"
@@ -1512,8 +1497,7 @@ window.onload = function () {pageLoad();setSynopsis("mini_Test.html");};
</p
></div
><h1 id="g:4"
- >Class declarations
-</h1
+ >Class declarations</h1
><div class="top"
><p class="src"
><span class="keyword"
@@ -1663,8 +1647,7 @@ window.onload = function () {pageLoad();setSynopsis("mini_Test.html");};
</p
></div
><h1 id="g:5"
- >Function types
-</h1
+ >Function types</h1
><div class="top"
><p class="src"
><a name="v:f" class="def"
@@ -1753,8 +1736,7 @@ using double quotes: <a href=""
></div
></div
><h1 id="g:6"
- >Auxiliary stuff
-</h1
+ >Auxiliary stuff</h1
><div class="doc"
><p
>This is some documentation that is attached to a name ($aux1)
@@ -1865,8 +1847,7 @@ test2
</pre
></div
><h1 id="g:7"
- >A hidden module
-</h1
+ >A hidden module</h1
><div class="top"
><p class="src"
><a name="v:hidden" class="def"
@@ -1878,8 +1859,7 @@ test2
></p
></div
><h1 id="g:8"
- >A visible module
-</h1
+ >A visible module</h1
><div class="top"
><p class="src"
>module <a href=""
@@ -1892,8 +1872,7 @@ test2
</p
></div
><h1 id="g:9"
- >Existential / Universal types
-</h1
+ >Existential / Universal types</h1
><div class="top"
><p class="src"
><span class="keyword"
@@ -1958,8 +1937,7 @@ test2
></div
></div
><h1 id="g:10"
- >Type signatures with argument docs
-</h1
+ >Type signatures with argument docs</h1
><div class="top"
><p class="src"
><a name="v:k" class="def"
@@ -2141,7 +2119,7 @@ test2
></div
><div class="doc"
><p
- >This function has some arg docs
+ >This function has some arg docs
</p
></div
></div
@@ -2187,11 +2165,9 @@ test2
></div
></div
><h1 id="g:11"
- >A section
-</h1
+ >A section</h1
><h2 id="g:12"
- >A subsection
-</h2
+ >A subsection</h2
><div class="doc"
><pre
> a literal line
@@ -2215,7 +2191,7 @@ test2
><a href=""
>f'</a
></code
- >
+ >
but f' doesn't get link'd 'f\''
</p
></div
diff --git a/html-test/ref/Ticket253_1.html b/html-test/ref/Ticket253_1.html
index baa0742a..2bcc2e21 100644
--- a/html-test/ref/Ticket253_1.html
+++ b/html-test/ref/Ticket253_1.html
@@ -35,7 +35,7 @@ window.onload = function () {pageLoad();setSynopsis("mini_Ticket253_1.html");};
><th
>Safe Haskell</th
><td
- >None</td
+ >Safe-Inferred</td
></tr
></table
><p class="caption"
diff --git a/html-test/ref/Ticket253_2.html b/html-test/ref/Ticket253_2.html
index 45a3a0e0..aabe3486 100644
--- a/html-test/ref/Ticket253_2.html
+++ b/html-test/ref/Ticket253_2.html
@@ -35,7 +35,7 @@ window.onload = function () {pageLoad();setSynopsis("mini_Ticket253_2.html");};
><th
>Safe Haskell</th
><td
- >None</td
+ >Safe-Inferred</td
></tr
></table
><p class="caption"
diff --git a/html-test/ref/Ticket61.html b/html-test/ref/Ticket61.html
index bc26df47..e0858dc0 100644
--- a/html-test/ref/Ticket61.html
+++ b/html-test/ref/Ticket61.html
@@ -35,7 +35,7 @@ window.onload = function () {pageLoad();setSynopsis("mini_Ticket61.html");};
><th
>Safe Haskell</th
><td
- >None</td
+ >Safe-Inferred</td
></tr
></table
><p class="caption"
diff --git a/html-test/ref/Ticket75.html b/html-test/ref/Ticket75.html
index 98181aa8..4caa1196 100644
--- a/html-test/ref/Ticket75.html
+++ b/html-test/ref/Ticket75.html
@@ -35,7 +35,7 @@ window.onload = function () {pageLoad();setSynopsis("mini_Ticket75.html");};
><th
>Safe Haskell</th
><td
- >None</td
+ >Safe-Inferred</td
></tr
></table
><p class="caption"
diff --git a/html-test/ref/TitledPicture.html b/html-test/ref/TitledPicture.html
index 34788690..c3f2bbbc 100644
--- a/html-test/ref/TitledPicture.html
+++ b/html-test/ref/TitledPicture.html
@@ -35,7 +35,7 @@ window.onload = function () {pageLoad();setSynopsis("mini_TitledPicture.html");}
><th
>Safe Haskell</th
><td
- >None</td
+ >Safe-Inferred</td
></tr
></table
><p class="caption"
diff --git a/html-test/ref/TypeFamilies.html b/html-test/ref/TypeFamilies.html
index 2fb22822..e7c4de6e 100644
--- a/html-test/ref/TypeFamilies.html
+++ b/html-test/ref/TypeFamilies.html
@@ -35,7 +35,7 @@ window.onload = function () {pageLoad();setSynopsis("mini_TypeFamilies.html");};
><th
>Safe Haskell</th
><td
- >None</td
+ >Safe-Inferred</td
></tr
></table
><p class="caption"
diff --git a/html-test/ref/TypeOperators.html b/html-test/ref/TypeOperators.html
index 5aed67f5..0c5a5c2d 100644
--- a/html-test/ref/TypeOperators.html
+++ b/html-test/ref/TypeOperators.html
@@ -35,7 +35,7 @@ window.onload = function () {pageLoad();setSynopsis("mini_TypeOperators.html");}
><th
>Safe Haskell</th
><td
- >None</td
+ >Safe-Inferred</td
></tr
></table
><p class="caption"
@@ -47,8 +47,7 @@ window.onload = function () {pageLoad();setSynopsis("mini_TypeOperators.html");}
><ul
><li
><a href=""
- >stuff
-</a
+ >stuff</a
></li
></ul
></div
@@ -98,8 +97,7 @@ window.onload = function () {pageLoad();setSynopsis("mini_TypeOperators.html");}
></div
><div id="interface"
><h1 id="g:1"
- >stuff
-</h1
+ >stuff</h1
><div class="top"
><p class="src"
><span class="keyword"
diff --git a/html-test/ref/Unicode.html b/html-test/ref/Unicode.html
index 90f1f8d0..747cedb5 100644
--- a/html-test/ref/Unicode.html
+++ b/html-test/ref/Unicode.html
@@ -35,7 +35,7 @@ window.onload = function () {pageLoad();setSynopsis("mini_Unicode.html");};
><th
>Safe Haskell</th
><td
- >None</td
+ >Safe-Inferred</td
></tr
></table
><p class="caption"
diff --git a/html-test/ref/Visible.html b/html-test/ref/Visible.html
index 7f6de82f..c7b0e1b9 100644
--- a/html-test/ref/Visible.html
+++ b/html-test/ref/Visible.html
@@ -35,7 +35,7 @@ window.onload = function () {pageLoad();setSynopsis("mini_Visible.html");};
><th
>Safe Haskell</th
><td
- >None</td
+ >Safe-Inferred</td
></tr
></table
><p class="caption"
diff --git a/html-test/ref/mini_BugExportHeadings.html b/html-test/ref/mini_BugExportHeadings.html
index b481720d..e170b41a 100644
--- a/html-test/ref/mini_BugExportHeadings.html
+++ b/html-test/ref/mini_BugExportHeadings.html
@@ -20,8 +20,7 @@ window.onload = function () {pageLoad();};
></div
><div id="interface"
><h1
- >Foo
-</h1
+ >Foo</h1
><div class="top"
><p class="src"
><a href="" target="main"
@@ -29,8 +28,7 @@ window.onload = function () {pageLoad();};
></p
></div
><h1
- >Bar
-</h1
+ >Bar</h1
><div class="top"
><p class="src"
><a href="" target="main"
@@ -38,8 +36,7 @@ window.onload = function () {pageLoad();};
></p
></div
><h1
- >Baz
-</h1
+ >Baz</h1
><div class="top"
><p class="src"
><a href="" target="main"
@@ -47,8 +44,7 @@ window.onload = function () {pageLoad();};
></p
></div
><h1
- >One
-</h1
+ >One</h1
><div class="top"
><p class="src"
><a href="" target="main"
@@ -56,8 +52,7 @@ window.onload = function () {pageLoad();};
></p
></div
><h1
- >Two
-</h1
+ >Two</h1
><div class="top"
><p class="src"
><a href="" target="main"
@@ -65,8 +60,7 @@ window.onload = function () {pageLoad();};
></p
></div
><h1
- >Three
-</h1
+ >Three</h1
><div class="top"
><p class="src"
><a href="" target="main"
diff --git a/html-test/ref/mini_DeprecatedReExport.html b/html-test/ref/mini_DeprecatedReExport.html
index 8316dda5..405926b1 100644
--- a/html-test/ref/mini_DeprecatedReExport.html
+++ b/html-test/ref/mini_DeprecatedReExport.html
@@ -20,8 +20,7 @@ window.onload = function () {pageLoad();};
></div
><div id="interface"
><h1
- >Re-exported from an other module
-</h1
+ >Re-exported from an other module</h1
><div class="top"
><p class="src"
><a href="" target="main"
@@ -29,8 +28,7 @@ window.onload = function () {pageLoad();};
></p
></div
><h1
- >Re-exported from an other package
-</h1
+ >Re-exported from an other package</h1
></div
></body
></html
diff --git a/html-test/ref/mini_Hash.html b/html-test/ref/mini_Hash.html
index 1e6ad1a9..a0a68840 100644
--- a/html-test/ref/mini_Hash.html
+++ b/html-test/ref/mini_Hash.html
@@ -22,8 +22,7 @@ window.onload = function () {pageLoad();};
><h1
>The <code
>HashTable</code
- > type
-</h1
+ > type</h1
><div class="top"
><p class="src"
><span class="keyword"
@@ -35,8 +34,7 @@ window.onload = function () {pageLoad();};
><h2
>Operations on <code
>HashTable</code
- >s
-</h2
+ >s</h2
><div class="top"
><p class="src"
><a href="" target="main"
@@ -58,8 +56,7 @@ window.onload = function () {pageLoad();};
><h1
>The <code
>Hash</code
- > class
-</h1
+ > class</h1
><div class="top"
><p class="src"
><span class="keyword"
diff --git a/html-test/ref/mini_Test.html b/html-test/ref/mini_Test.html
index 26db2c0f..8cd3321a 100644
--- a/html-test/ref/mini_Test.html
+++ b/html-test/ref/mini_Test.html
@@ -20,11 +20,9 @@ window.onload = function () {pageLoad();};
></div
><div id="interface"
><h1
- >Type declarations
-</h1
+ >Type declarations</h1
><h2
- >Data types
-</h2
+ >Data types</h2
><div class="top"
><p class="src"
><span class="keyword"
@@ -130,8 +128,7 @@ window.onload = function () {pageLoad();};
> a b</p
></div
><h2
- >Records
-</h2
+ >Records</h2
><div class="top"
><p class="src"
><span class="keyword"
@@ -149,8 +146,7 @@ window.onload = function () {pageLoad();};
> </p
></div
><h1
- >Class declarations
-</h1
+ >Class declarations</h1
><div class="top"
><p class="src"
><span class="keyword"
@@ -184,8 +180,7 @@ window.onload = function () {pageLoad();};
> a</p
></div
><h1
- >Function types
-</h1
+ >Function types</h1
><div class="top"
><p class="src"
><a href="" target="main"
@@ -193,11 +188,9 @@ window.onload = function () {pageLoad();};
></p
></div
><h1
- >Auxiliary stuff
-</h1
+ >Auxiliary stuff</h1
><h1
- >A hidden module
-</h1
+ >A hidden module</h1
><div class="top"
><p class="src"
><a href="" target="main"
@@ -205,11 +198,9 @@ window.onload = function () {pageLoad();};
></p
></div
><h1
- >A visible module
-</h1
+ >A visible module</h1
><h1
- >Existential / Universal types
-</h1
+ >Existential / Universal types</h1
><div class="top"
><p class="src"
><span class="keyword"
@@ -219,8 +210,7 @@ window.onload = function () {pageLoad();};
> a</p
></div
><h1
- >Type signatures with argument docs
-</h1
+ >Type signatures with argument docs</h1
><div class="top"
><p class="src"
><a href="" target="main"
@@ -240,11 +230,9 @@ window.onload = function () {pageLoad();};
></p
></div
><h1
- >A section
-</h1
+ >A section</h1
><h2
- >A subsection
-</h2
+ >A subsection </h2
><div class="top"
><p class="src"
><a href="" target="main"
diff --git a/html-test/ref/mini_TypeOperators.html b/html-test/ref/mini_TypeOperators.html
index 86b6beec..02bc918b 100644
--- a/html-test/ref/mini_TypeOperators.html
+++ b/html-test/ref/mini_TypeOperators.html
@@ -20,8 +20,7 @@ window.onload = function () {pageLoad();};
></div
><div id="interface"
><h1
- >stuff
-</h1
+ >stuff</h1
><div class="top"
><p class="src"
><span class="keyword"
diff --git a/html-test/run.lhs b/html-test/run.lhs
index 1ce3e797..e4c83da6 100755
--- a/html-test/run.lhs
+++ b/html-test/run.lhs
@@ -15,12 +15,11 @@ import Distribution.Simple.Program
import Distribution.Simple.Utils
import Distribution.Verbosity
import System.IO
-import System.Cmd
import System.Directory
import System.Environment
import System.Exit
import System.FilePath
-import System.Process (ProcessHandle, runProcess, waitForProcess)
+import System.Process (ProcessHandle, runProcess, waitForProcess, system)
packageRoot, dataDir, haddockPath, baseDir, testDir, outDir :: FilePath
@@ -88,7 +87,7 @@ test = do
putStrLn "Running tests..."
handle <- runProcess haddockPath
- (["-w", "-o", outDir, "-h", "--pretty-html", "--optghc=-fglasgow-exts"
+ (["-w", "-o", outDir, "-h", "--pretty-html"
, "--optghc=-w", base, process, ghcprim] ++ opts ++ mods')
Nothing env Nothing
Nothing Nothing
@@ -143,12 +142,26 @@ stripLinks :: String -> String
stripLinks str =
let prefix = "<a href=\"" in
case stripPrefix prefix str of
- Just str' -> prefix ++ stripLinks (dropWhile (/= '"') str')
+ Just str' -> case dropWhile (/= '>') (dropWhile (/= '"') str') of
+ [] -> []
+ x:xs -> stripLinks (stripHrefEnd xs)
Nothing ->
case str of
[] -> []
x : xs -> x : stripLinks xs
+stripHrefEnd :: String -> String
+stripHrefEnd s =
+ let pref = "</a" in
+ case stripPrefix pref s of
+ Just str' -> case dropWhile (/= '>') str' of
+ [] -> []
+ x:xs -> xs
+ Nothing ->
+ case s of
+ [] -> []
+ x : xs -> x : stripHrefEnd xs
+
programOnPath :: FilePath -> IO Bool
programOnPath p = do
result <- findProgramLocation silent p
diff --git a/html-test/src/Bug7.hs b/html-test/src/Bug7.hs
index 8cf57914..a07934c4 100644
--- a/html-test/src/Bug7.hs
+++ b/html-test/src/Bug7.hs
@@ -1,3 +1,4 @@
+{-# LANGUAGE MultiParamTypeClasses #-}
-- | This module caused a duplicate instance in the documentation for the Foo
-- type.
module Bug7 where
diff --git a/html-test/src/Bug8.hs b/html-test/src/Bug8.hs
index 18df63c8..e569b01d 100644
--- a/html-test/src/Bug8.hs
+++ b/html-test/src/Bug8.hs
@@ -3,10 +3,10 @@ module Bug8 where
infix -->
infix --->
-data Typ = Type (String,[Typ])
- | TFree (String, [String])
+data Typ = Type (Typ,[Typ])
+ | TFree (Typ, [Typ])
-x --> y = Type("fun",[s,t])
+x --> y = Type(s,[s,t])
(--->) = flip $ foldr (-->)
s = undefined
diff --git a/html-test/src/FunArgs.hs b/html-test/src/FunArgs.hs
index b34d84b7..cfde185d 100644
--- a/html-test/src/FunArgs.hs
+++ b/html-test/src/FunArgs.hs
@@ -1,3 +1,4 @@
+{-# LANGUAGE ExplicitForAll #-}
module FunArgs where
f :: forall a. Ord a
diff --git a/html-test/src/Test.hs b/html-test/src/Test.hs
index d352f029..677106c6 100644
--- a/html-test/src/Test.hs
+++ b/html-test/src/Test.hs
@@ -3,7 +3,7 @@
-- Module : Test
-- Copyright : (c) Simon Marlow 2002
-- License : BSD-style
---
+--
-- Maintainer : libraries@haskell.org
-- Stability : provisional
-- Portability : portable
@@ -14,8 +14,8 @@
-----------------------------------------------------------------------------
-- This is plain comment, ignored by Haddock.
-
-module Test (
+{-# LANGUAGE Rank2Types, GADTs #-}
+module Test (
-- Section headings are introduced with '-- *':
-- * Type declarations
@@ -33,7 +33,7 @@ module Test (
-- * Class declarations
C(a,b), D(..), E, F(..),
-
+
-- | Test that we can export a class method on its own:
a,
@@ -88,7 +88,7 @@ module Test (
-- * A section
-- and without an intervening comma:
- -- ** A subsection
+ -- ** A subsection
{-|
> a literal line
@@ -112,7 +112,7 @@ bla = Nothing
data T a b
= A Int (Maybe Float) -- ^ This comment describes the 'A' constructor
| -- | This comment describes the 'B' constructor
- B (T a b, T Int Float) -- ^
+ B (T a b, T Int Float) -- ^
-- | An abstract data declaration
data T2 a b = T2 a b
@@ -145,7 +145,7 @@ newtype N1 a = N1 a
newtype N2 a b = N2 {n :: a b}
-- | A newtype with a fieldname, documentation on the field
-newtype N3 a b = N3 {n3 :: a b -- ^ this is the 'n3' field
+newtype N3 a b = N3 {n3 :: a b -- ^ this is the 'n3' field
}
-- | An abstract newtype - we show this one as data rather than newtype because
@@ -163,7 +163,7 @@ newtype N6 a b = N6 {n6 :: a b
newtype N7 a b = N7 {n7 :: a b
}
-- ^ The 'N7' constructor
-
+
class (D a) => C a where
-- |this is a description of the 'a' method
@@ -198,7 +198,7 @@ class F a where
-- | This is the documentation for the 'R' record, which has four fields,
-- 'p', 'q', 'r', and 's'.
-data R =
+data R =
-- | This is the 'C1' record constructor, with the following fields:
C1 { p :: Int -- ^ This comment applies to the 'p' field
, q :: forall a . a->a -- ^ This comment applies to the 'q' field
@@ -211,15 +211,15 @@ data R =
-- ^ This is the 'C2' record constructor, also with some fields:
-- | Testing different record commenting styles
-data R1
+data R1
-- | This is the 'C3' record constructor
- = C3 {
+ = C3 {
-- | The 's1' record selector
s1 :: Int
-- | The 's2' record selector
, s2 :: Int
, s3 :: Int -- NOTE: In the original examples/Test.hs in Haddock, there is an extra "," here.
- -- Since GHC doesn't allow that, I have removed it in this file.
+ -- Since GHC doesn't allow that, I have removed it in this file.
-- ^ The 's3' record selector
}
@@ -240,11 +240,11 @@ using double quotes: "Foo". We can add emphasis /like this/.
- This is the next item (different kind of bullet)
(1) This is an ordered list
-
+
2. This is the next item (different kind of bullet)
-
+
[cat] a small, furry, domesticated mammal
-
+
[pineapple] a fruit grown in the tropics
@
@@ -350,15 +350,15 @@ test2
-- $aux12
-- > foo
---
+--
-- > bar
---
+--
-- | A data-type using existential\/universal types
-data Ex a
+data Ex a
= forall b . C b => Ex1 b
| forall b . Ex2 b
- | forall b . C a => Ex3 b -- NOTE: I have added "forall b" here make GHC accept this file
+ | forall b . C a => Ex3 b -- NOTE: I have added "forall b" here make GHC accept this file
| Ex4 (forall a . a -> a)
-- | This is a function with documentation for each argument
@@ -374,7 +374,7 @@ k :: T () () -- ^ This argument has type 'T'
l :: (Int, Int, Float) -- ^ takes a triple
-> Int -- ^ returns an 'Int'
--- | This function has some arg docs
+-- | This function has some arg docs
m :: R
-> N1 () -- ^ one of the arguments
-> IO Int -- ^ and the return value
@@ -385,22 +385,22 @@ m :: R
newn :: R -- ^ one of the arguments, an 'R'
-> N1 () -- ^ one of the arguments
-> IO Int
-newn = undefined
+newn = undefined
-- | A foreign import with argument docs
-foreign import ccall unsafe
+foreign import ccall unsafe
o :: Float -- ^ The input float
-> IO Float -- ^ The output float
-- | We should be able to escape this: \#\#\#
--- p :: Int
+-- p :: Int
-- can't use the above original definition with GHC
-newp :: Int
+newp :: Int
newp = undefined
--- | a function with a prime can be referred to as 'f''
+-- | a function with a prime can be referred to as 'f''
-- but f' doesn't get link'd 'f\''
f' :: Int
@@ -416,7 +416,7 @@ withType = 1
data T1
f = undefined
f' = undefined
-type CInt = Int
+type CInt = Int
k = undefined
l = undefined
m = undefined
diff --git a/html-test/src/Ticket75.hs b/html-test/src/Ticket75.hs
index 94a2f115..5fc704d6 100644
--- a/html-test/src/Ticket75.hs
+++ b/html-test/src/Ticket75.hs
@@ -1,3 +1,4 @@
+{-# LANGUAGE TypeOperators #-}
module Ticket75 where
data a :- b = Q
diff --git a/src/Haddock/Parser.hs b/src/Haddock/Parser.hs
index 81e274ed..43a2b169 100644
--- a/src/Haddock/Parser.hs
+++ b/src/Haddock/Parser.hs
@@ -12,9 +12,9 @@
module Haddock.Parser (parseString, parseParas) where
import Control.Applicative
-import Data.Attoparsec.ByteString hiding (takeWhile1, take, inClass)
+import Data.Attoparsec.ByteString hiding (parse, takeWhile1, take, inClass)
import qualified Data.Attoparsec.ByteString.Char8 as A8
-import Data.Attoparsec.ByteString.Char8 hiding (take, string)
+import Data.Attoparsec.ByteString.Char8 hiding (parse, take, string)
import qualified Data.ByteString as BS
import Data.Char (chr)
import Data.List (stripPrefix)
@@ -31,16 +31,15 @@ import SrcLoc (mkRealSrcLoc, unLoc)
import StringBuffer (stringToStringBuffer)
import Haddock.Utf8
-default (Int)
+parse :: Parser a -> String -> Maybe a
+parse p = either (const Nothing) Just . parseOnly (p <* endOfInput) . encodeUtf8
-- | Main entry point to the parser. Appends the newline character
-- to the input string.
parseParas :: DynFlags
-> String -- ^ String to parse
-> Maybe (Doc RdrName)
-parseParas d s = case parseOnly (p <* skipSpace) (encodeUtf8 $ s ++ "\n") of
- Right r -> Just $ combineStringNodes r
- _ -> Nothing
+parseParas d = fmap combineStringNodes . parse (p <* skipSpace) . (++ "\n")
where
p :: Parser (Doc RdrName)
-- make sure that we don't swallow up whitespace belonging to next paragraph
@@ -51,7 +50,7 @@ parseParas d s = case parseOnly (p <* skipSpace) (encodeUtf8 $ s ++ "\n") of
-- Drops any whitespace in front of the input string. It's dropped for the sake of
-- section headings.
parseString :: DynFlags -> String -> Maybe (Doc RdrName)
-parseString d = parseString'' d . dropWhile isSpace
+parseString d = parseString' d . dropWhile isSpace
-- | A parser that parsers separate lines of the comments. Eventually
-- called by 'parseParas'. Appends a newline character to the input string.
@@ -62,9 +61,7 @@ parseString'' d = parseString' d . (++ "\n")
-- | An internal use function. Split from the 'parseString' is useful
-- as we can specify separately when we want the newline to be appended.
parseString' :: DynFlags -> String -> Maybe (Doc RdrName)
-parseString' d s = case parseOnly p (encodeUtf8 s) of
- Right r -> Just $ combineStringNodes r
- _ -> Nothing
+parseString' d = fmap combineStringNodes . parse p
where
p :: Parser (Doc RdrName)
p = mconcat <$> some (charEscape <|> monospace d <|> anchor <|> identifier d
@@ -94,7 +91,7 @@ string' = DocString . decodeUtf8 <$> takeWhile1 (`notElem` "/<@\" &'`\\")
-- >>> parseOnly emphasis "/Hello world/"
-- Right (DocEmphasis (DocString "Hello world"))
emphasis :: DynFlags -> Parser (Doc RdrName)
-emphasis d = stringBlock d id DocEmphasis "/" "/" "\n"
+emphasis d = DocEmphasis <$> stringBlock d "/" "/" "\n"
-- | Skips a single character and treats it as a plain string.
-- This is done to skip over any special characters belonging to other
@@ -119,17 +116,14 @@ anchor = DocAName . decodeUtf8 <$> ("#" *> takeWhile1 (`notElem` "#\n") <* "#")
-- | Helper for markup structures surrounded with delimiters.
stringBlock
:: DynFlags
- -> (String -> String) -- ^ Function used to transform parsed out text
- -- before we send it to 'parseString''
- -> (Doc RdrName -> Doc RdrName) -- ^ 'Doc' to wrap around the result
-> String -- ^ Opening delimiter
-> String -- ^ Closing delimiter
-> String -- ^ Additional characters to terminate parsing on
-> Parser (Doc RdrName)
-stringBlock d f doc op ed n = do
+stringBlock d op ed n = do
inner <- block op ed n
- case parseString' d (f inner) of
- Just r -> return $ doc r
+ case parseString' d inner of
+ Just r -> return r
_ -> fail $ "inner parse fail with op: ‘" ++ op ++ "’, ed: ‘" ++ ed ++ "’"
-- | Returns sections of text delimited by specified text.
@@ -171,7 +165,7 @@ takeWithSkip s n = do
-- >>> parseOnly (monospace dynflags) "@cruel@"
-- Right (DocMonospaced (DocString "cruel"))
monospace :: DynFlags -> Parser (Doc RdrName)
-monospace d = stringBlock d id DocMonospaced "@" "@" ""
+monospace d = DocMonospaced <$> stringBlock d "@" "@" ""
-- | Module name parser, surrounded by double quotes. This does a very primitive and
-- purely syntactic checking so that obviously invalid names are not treated as valid
diff --git a/test/Haddock/ParserSpec.hs b/test/Haddock/ParserSpec.hs
index 20d9c2cf..b0a6e41b 100644
--- a/test/Haddock/ParserSpec.hs
+++ b/test/Haddock/ParserSpec.hs
@@ -6,7 +6,6 @@
module Haddock.ParserSpec (main, spec) where
import Control.Applicative
-import Data.Maybe (isJust)
import Data.Monoid
import Data.String
import Haddock.Doc (combineStringNodes)
@@ -43,7 +42,6 @@ main = hspec spec
spec :: Spec
spec = do
-
let filterSpecial = filter (`notElem` (".(=#-[*`\v\f\n\t\r\\\"'_/@<> " :: String))
describe "parseString" $ do
@@ -53,65 +51,84 @@ spec = do
it "is total" $ do
property $ \xs ->
- -- filter out primes as we might end up with an identifier
- -- which will fail due to undefined DynFlags
- parseString (filter (/= '\'') xs) `shouldSatisfy` isJust
+ (length . show . parseString) xs `shouldSatisfy` (> 0)
context "when parsing URLs" $ do
it "parses a URL" $ do
"<http://example.com/>" `shouldParseTo`
- hyperlink "http://example.com/" Nothing <> "\n"
+ hyperlink "http://example.com/" Nothing
it "accepts an optional label" $ do
"<http://example.com/ some link>" `shouldParseTo`
- hyperlink "http://example.com/" "some link" <> "\n"
+ hyperlink "http://example.com/" "some link"
it "finishes URL parsing as soon as it sees >, even if it's escaped" $ do
"<http://examp\\>le.com" `shouldParseTo`
- hyperlink "http://examp\\" Nothing <> "le.com\n"
+ hyperlink "http://examp\\" Nothing <> "le.com"
"<http://exa\\>mp\\>le.com>" `shouldParseTo`
- hyperlink "http://exa\\" Nothing <> "mp>le.com>\n"
+ hyperlink "http://exa\\" Nothing <> "mp>le.com>"
-- Likewise in label
"<http://example.com f\\>oo>" `shouldParseTo`
- hyperlink "http://example.com" "f\\" <> "oo>\n"
+ hyperlink "http://example.com" "f\\" <> "oo>"
it "parses inline URLs" $ do
"Not yet working, see <http://trac.haskell.org/haddock/ticket/223>\n , isEmptyChan" `shouldParseTo`
"Not yet working, see "
<> hyperlink "http://trac.haskell.org/haddock/ticket/223" Nothing
- <> "\n , isEmptyChan\n"
+ <> "\n , isEmptyChan"
context "when autolinking URLs" $ do
it "autolinks HTTP URLs" $ do
"http://example.com/" `shouldParseTo`
- hyperlink "http://example.com/" Nothing <> "\n"
+ hyperlink "http://example.com/" Nothing
it "autolinks HTTPS URLs" $ do
"https://www.example.com/" `shouldParseTo`
- hyperlink "https://www.example.com/" Nothing <> "\n"
+ hyperlink "https://www.example.com/" Nothing
it "autolinks FTP URLs" $ do
"ftp://example.com/" `shouldParseTo`
- hyperlink "ftp://example.com/" Nothing <> "\n"
+ hyperlink "ftp://example.com/" Nothing
it "does not include a trailing exclamation mark" $ do
"http://example.com/! Some other sentence." `shouldParseTo`
- hyperlink "http://example.com/" Nothing <> "! Some other sentence.\n"
+ hyperlink "http://example.com/" Nothing <> "! Some other sentence."
it "does not include a trailing comma" $ do
"http://example.com/, Some other sentence." `shouldParseTo`
- hyperlink "http://example.com/" Nothing <> ", Some other sentence.\n"
+ hyperlink "http://example.com/" Nothing <> ", Some other sentence."
it "does not include a trailing dot" $ do
"http://example.com/. Some other sentence." `shouldParseTo`
- hyperlink "http://example.com/" Nothing <> ". Some other sentence.\n"
+ hyperlink "http://example.com/" Nothing <> ". Some other sentence."
it "does not include a trailing question mark" $ do
"http://example.com/? Some other sentence." `shouldParseTo`
- hyperlink "http://example.com/" Nothing <> "? Some other sentence.\n"
+ hyperlink "http://example.com/" Nothing <> "? Some other sentence."
+
+ context "when parsing emphasised text" $ do
+ it "emphasises a word on its own" $ do
+ "/foo/" `shouldParseTo` DocEmphasis "foo"
+
+ it "emphasises inline correctly" $ do
+ "foo /bar/ baz" `shouldParseTo` "foo " <> DocEmphasis "bar" <> " baz"
+
+ it "emphasises unicode" $ do
+ "/灼眼のシャナ/" `shouldParseTo` DocEmphasis "灼眼のシャナ"
+
+ it "does not emphasise multi-line strings" $ do
+ " /foo\nbar/" `shouldParseTo` "/foo\nbar/"
+
+ it "does not emphasise the empty string" $ do
+ "//" `shouldParseTo` "//"
+
+ it "parses escaped slashes literally" $ do
+ "/foo\\/bar/" `shouldParseTo` DocEmphasis "foo/bar"
+ it "recognizes other markup constructs within emphasised text" $ do
+ "/foo @bar@ baz/" `shouldParseTo` DocEmphasis ("foo " <> DocMonospaced "bar" <> " baz")
describe "parseParas" $ do
let infix 1 `shouldParseTo`
@@ -121,9 +138,7 @@ spec = do
it "is total" $ do
property $ \xs ->
- -- filter out primes as we might end up with an identifier
- -- which will fail due to undefined DynFlags
- parseParas (filter (/= '\'') xs) `shouldSatisfy` isJust
+ (length . show . parseParas) xs `shouldSatisfy` (> 0)
it "parses a paragraph" $ do
"foobar" `shouldParseTo` DocParagraph "foobar\n"
@@ -154,23 +169,6 @@ spec = do
"This is a \"Module\"." `shouldParseTo`
DocParagraph ("This is a " <> (DocModule "Module" <> ".\n"))
- context "when parsing emphasised strings" $ do
- it "emphasises a word on its own" $ do
- "/quux/" `shouldParseTo` (DocParagraph $ DocEmphasis "quux" <> "\n")
-
- it "emphasises inline correctly" $ do
- "This comment applies to the /following/ declaration" `shouldParseTo`
- (DocParagraph $ "This comment applies to the "
- <> DocEmphasis "following" <> " declaration\n")
-
- it "emphasises unicode" $ do
- "/灼眼のシャナ/" `shouldParseTo`
- (DocParagraph $ DocEmphasis "灼眼のシャナ" <> "\n")
-
- it "does not do /multi-line\\n emphasis/" $ do
- " /multi-line\n emphasis/" `shouldParseTo`
- DocParagraph "/multi-line\n emphasis/\n"
-
context "when parsing codeblocks" $ do
it "codeblock a word on its own" $ do
"@quux@" `shouldParseTo` DocCodeBlock "quux"
@@ -565,9 +563,6 @@ spec = do
DocDefList
[(DocMonospaced ("q" <> DocEmphasis "uu" <> "x"), " h\ney\n")]
- it "/qu\\nux/" $ do
- "/qu\nux/" `shouldParseTo` DocParagraph "/qu\nux/\n"
-
-- regression test
it "requires markup to be fully closed, even if nested" $ do
"@hel/lo" `shouldParseTo` DocParagraph "@hel/lo\n"