Fix some warnings in users_guide (incl #16640)
authorOleg Grenrus <oleg.grenrus@iki.fi>
Wed, 8 May 2019 18:39:58 +0000 (21:39 +0300)
committerMarge Bot <ben+marge-bot@smart-cactus.org>
Wed, 29 May 2019 14:37:54 +0000 (10:37 -0400)
- short underline
- :ghc-flag:, not :ghc-flags:
- :since: have to be separate
- newline before code block
- workaround anchor generation so

    - pragma:SPECIALISE
    - pragma:SPECIALIZE-INLINE
    - pragma:SPECIALIZE-inline

  are different anchors, not all the same `pragma:SPECIALIZE`

docs/users_guide/8.10.1-notes.rst
docs/users_guide/conf.py
docs/users_guide/glasgow_exts.rst

index f142712..4024174 100644 (file)
@@ -1,7 +1,7 @@
 .. _release-8-10-1:
 
 Release notes for version 8.10.1
-===============================
+================================
 
 The significant changes to the various parts of the compiler are listed in the
 following sections.
@@ -116,7 +116,7 @@ Template Haskell
 - The ``Lift`` typeclass is now levity-polymorphic and has a ``liftTyped``
   method. Previously disallowed instances for unboxed tuples, unboxed sums, an
   primitive unboxed types have also been added. Finally, the code generated by
-  :ghc-flags:`-XDeriveLift` has been simplified to take advantage of expression
+  :ghc-flag:`-XDeriveLift` has been simplified to take advantage of expression
   quotations.
 
 ``ghc-prim`` library
index e48992d..c3d5a35 100644 (file)
@@ -147,7 +147,14 @@ def parse_ghci_cmd(env, sig, signode):
     return name
 
 def parse_pragma(env, sig, signode):
-    idx = sig.split(' ')[0]
+    parts = sig.split(' ')
+    idx = parts[0]
+
+    # To avoid re-using the same HTTP anchor #pragma-SPECIALIZE in multiple
+    # places, we disambiguate the anchor by adding the second word after it (if
+    # one exists).
+    if idx == "SPECIALIZE" and 1 in parts and parts[1].isalpha():
+        idx += "-" + parts[1]
     name = '{-# ' + sig + ' #-}'
     signode += addnodes.desc_name(name, name)
     return idx
index b1baa30..fdc3b2c 100644 (file)
@@ -10433,6 +10433,7 @@ function that can *never* be called, such as this one: ::
 
 Sometimes :extension:`AllowAmbiguousTypes` does not mix well with :extension:`RankNTypes`.
 For example: ::
+
       foo :: forall r. (forall i. (KnownNat i) => r) -> r
       foo f = f @1