@@ -473,10 +473,7 @@ definitionListItem = try $ do
473473 guardDisabled Ext_amuse <|> void spaceChar -- Initial space is required by Amusewiki, but not Emacs Muse
474474 many spaceChar
475475 pos <- getPosition
476− rawTerm <- many1Till (noneOf "\n") (lookAhead (void (try (spaceChar >> string "::"))))
477− term <- parseFromString (trimInlinesF . mconcat <$> many inline) rawTerm
478− many1 spaceChar
479− string "::"
476+ term <- trimInlinesF . mconcat <$> manyTill (choice inlineList) (string "::")
480477 void spaceChar <|> lookAhead eol
481478 contents <- listItemContents' $ sourceColumn pos
482479 optionMaybe blankline
@@ -587,7 +584,7 @@ tableParseCaption = try $ do
587584--
588585
589586inlineList :: PandocMonad m => [MuseParser m (F Inlines)]
590−inlineList = [ endline
587+inlineList = [ whitespace
591588 , br
592589 , anchor
593590 , footnote
@@ -605,13 +602,12 @@ inlineList = [ endline
605602 , code
606603 , codeTag
607604 , inlineLiteralTag
608− , whitespace
609605 , str
610606 , symbol
611607 ]
612608
613609inline :: PandocMonad m => MuseParser m (F Inlines)
614−inline = choice inlineList <?> "inline"
610+inline = choice [endline, linebreak] <|> choice inlineList <?> "inline"
615611
616612endline :: PandocMonad m => MuseParser m (F Inlines)
617613endline = try $ do
@@ -645,23 +641,23 @@ footnote = try $ do
645641 let contents' = runF contents st { stateNotes' = M.empty }
646642 return $ B.note contents'
647643
644+linebreak :: PandocMonad m => MuseParser m (F Inlines)
645+linebreak = try $ do
646+ skipMany spaceChar
647+ newline
648+ notFollowedBy newline
649+ return $ return B.space
650+
648651whitespace :: PandocMonad m => MuseParser m (F Inlines)
649−whitespace = return <$> (lb <|> regsp)
650− where lb = try $ skipMany spaceChar >> linebreak >> return B.space
651− regsp = try $ skipMany1 spaceChar >> return B.space
652+whitespace = try $ do
653+ skipMany1 spaceChar
654+ return $ return B.space
652655
653656br :: PandocMonad m => MuseParser m (F Inlines)
654657br = try $ do
655658 string "<br>"
656659 return $ return B.linebreak
657660
658−linebreak :: PandocMonad m => MuseParser m (F Inlines)
659−linebreak = newline >> notFollowedBy newline >> (lastNewline <|> innerNewline)
660− where lastNewline = do
661− eof
662− return $ return mempty
663− innerNewline = return $ return B.space
664−
665661emphasisBetween :: (PandocMonad m, Show a) => MuseParser m a -> MuseParser m (F Inlines)
666662emphasisBetween c = try $ enclosedInlines c c
667663