diff options
author | Simon Hengel <sol@typeful.net> | 2013-09-03 19:14:08 +0200 |
---|---|---|
committer | Austin Seipp <austin@well-typed.com> | 2014-01-12 14:48:35 -0600 |
commit | 27876dc77ff259e27a71ea6f30662a668adfd134 (patch) | |
tree | b8f1784867200ae07a136078dfa14b50271a4476 | |
parent | 64eb7dbc465ffea7f7e76f9d4c3a334380cce8ac (diff) |
Don't append newline to parseString input
We also check that we have parsed everything with endOfInput.
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" > </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) <- runInteractiveProcess "..." - 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" |