From 446583e3227cee14ed9c03531e135f6d9c962dd2 Mon Sep 17 00:00:00 2001 From: John MacFarlane Date: Fri, 25 Jan 2019 17:11:28 -0800 Subject: Texinfo writer: use header identifier for anchor if present. Previously we were overwriting an existing identifier with a new one. Closes #4731. --- src/Text/Pandoc/Writers/Texinfo.hs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/Text/Pandoc/Writers/Texinfo.hs b/src/Text/Pandoc/Writers/Texinfo.hs index 7bec145c5..ac2eceeab 100644 --- a/src/Text/Pandoc/Writers/Texinfo.hs +++ b/src/Text/Pandoc/Writers/Texinfo.hs @@ -225,14 +225,16 @@ blockToTexinfo (Header 0 _ lst) = do return $ text "@node Top" $$ text "@top " <> txt <> blankline -blockToTexinfo (Header level _ lst) +blockToTexinfo (Header level (ident,_,_) lst) | level < 1 || level > 4 = blockToTexinfo (Para lst) | otherwise = do node <- inlineListForNode lst txt <- inlineListToTexinfo lst idsUsed <- gets stIdentifiers opts <- gets stOptions - let id' = uniqueIdent (writerExtensions opts) lst idsUsed + let id' = if null ident + then uniqueIdent (writerExtensions opts) lst idsUsed + else ident modify $ \st -> st{ stIdentifiers = Set.insert id' idsUsed } sec <- seccmd level return $ if (level > 0) && (level <= 4) -- cgit v1.2.3