@@ -225,14 +225,16 @@ blockToTexinfo (Header 0 _ lst) = do
225 return $ text "@node Top" $$
225 return $ text "@node Top" $$
226 text "@top " <> txt <> blankline
226 text "@top " <> txt <> blankline
228−blockToTexinfo (Header level _ lst)
228+blockToTexinfo (Header level (ident,_,_) lst)
229 | level < 1 || level > 4 = blockToTexinfo (Para lst)
229 | level < 1 || level > 4 = blockToTexinfo (Para lst)
230 | otherwise = do
230 | otherwise = do
231 node <- inlineListForNode lst
231 node <- inlineListForNode lst
232 txt <- inlineListToTexinfo lst
232 txt <- inlineListToTexinfo lst
233 idsUsed <- gets stIdentifiers
233 idsUsed <- gets stIdentifiers
234 opts <- gets stOptions
234 opts <- gets stOptions
235+ let id' = if null ident
235− let id' = uniqueIdent (writerExtensions opts) lst idsUsed
236+ then uniqueIdent (writerExtensions opts) lst idsUsed
236 modify $ \st -> st{ stIdentifiers = Set.insert id' idsUsed }
238 modify $ \st -> st{ stIdentifiers = Set.insert id' idsUsed }
237 sec <- seccmd level
239 sec <- seccmd level
238 return $ if (level > 0) && (level <= 4)
240 return $ if (level > 0) && (level <= 4)