@@ -93,7 +93,6 @@ module Text.Pandoc.Parsing ( takeWhileP,
9393 reportLogMessages,
9494 ParserState (..),
9595 HasReaderOptions (..),
96− HasHeaderMap (..),
9796 HasIdentifierList (..),
9897 HasMacros (..),
9998 HasLogMessages (..),
@@ -1079,7 +1078,6 @@ data ParserState = ParserState
10791078 stateMeta' :: F Meta, -- ^ Document metadata
10801079 stateCitations :: M.Map String String, -- ^ RST-style citations
10811080 stateHeaderTable :: [HeaderType], -- ^ Ordered list of header types used
1082− stateHeaders :: M.Map Inlines String, -- ^ List of headers and ids (used for implicit ref links)
10831081 stateIdentifiers :: Set.Set String, -- ^ Header identifiers used
10841082 stateNextExample :: Int, -- ^ Number of next example
10851083 stateExamples :: M.Map String Int, -- ^ Map from example labels to numbers
@@ -1129,15 +1127,6 @@ instance Monad m => HasQuoteContext ParserState m where
11291127 setState newState { stateQuoteContext = oldQuoteContext }
11301128 return result
11311129
1132−class HasHeaderMap st where
1133− extractHeaderMap :: st -> M.Map Inlines String
1134− updateHeaderMap :: (M.Map Inlines String -> M.Map Inlines String) ->
1135− st -> st
1136−
1137−instance HasHeaderMap ParserState where
1138− extractHeaderMap = stateHeaders
1139− updateHeaderMap f st = st{ stateHeaders = f $ stateHeaders st }
1140−
11411130class HasIdentifierList st where
11421131 extractIdentifierList :: st -> Set.Set String
11431132 updateIdentifierList :: (Set.Set String -> Set.Set String) -> st -> st
@@ -1198,7 +1187,6 @@ defaultParserState =
11981187 stateMeta' = return nullMeta,
11991188 stateCitations = M.empty,
12001189 stateHeaderTable = [],
1201− stateHeaders = M.empty,
12021190 stateIdentifiers = Set.empty,
12031191 stateNextExample = 1,
12041192 stateExamples = M.empty,
@@ -1283,12 +1271,11 @@ type SubstTable = M.Map Key Inlines
12831271-- is encountered that duplicates an earlier identifier
12841272-- (explicit or automatically generated).
12851273registerHeader :: (Stream s m a, HasReaderOptions st,
1286− HasHeaderMap st, HasLogMessages st, HasIdentifierList st)
1274+ HasLogMessages st, HasIdentifierList st)
12871275 => Attr -> Inlines -> ParserT s st m Attr
12881276registerHeader (ident,classes,kvs) header' = do
12891277 ids <- extractIdentifierList <$> getState
12901278 exts <- getOption readerExtensions
1291− let insert' = M.insertWith (\_new old -> old)
12921279 if null ident && Ext_auto_identifiers `extensionEnabled` exts
12931280 then do
12941281 let id' = uniqueIdent exts (B.toList header') ids
@@ -1297,7 +1284,6 @@ registerHeader (ident,classes,kvs) header' = do
12971284 else id'
12981285 updateState $ updateIdentifierList $ Set.insert id'
12991286 updateState $ updateIdentifierList $ Set.insert id''
1300− updateState $ updateHeaderMap $ insert' header' id'
13011287 return (id'',classes,kvs)
13021288 else do
13031289 unless (null ident) $ do
@@ -1305,7 +1291,6 @@ registerHeader (ident,classes,kvs) header' = do
13051291 pos <- getPosition
13061292 logMessage $ DuplicateIdentifier ident pos
13071293 updateState $ updateIdentifierList $ Set.insert ident
1308− updateState $ updateHeaderMap $ insert' header' ident
13091294 return (ident,classes,kvs)
13101295
13111296smartPunctuation :: (HasReaderOptions st, HasLastStrPosition st, HasQuoteContext st m, Stream s m Char)