@@ -289,7 +289,7 @@ berkeleyBareTag :: PandocMonad m => OrgParser m ()
289289berkeleyBareTag = try $ void berkeleyBareTag'
290290
291291berkeleyParensTag :: PandocMonad m => OrgParser m ()
292−berkeleyParensTag = try . void $ enclosedByPair '(' ')' berkeleyBareTag'
292+berkeleyParensTag = try . void $ enclosedByPair1 '(' ')' berkeleyBareTag'
293293
294294berkeleyBareTag' :: PandocMonad m => OrgParser m ()
295295berkeleyBareTag' = try $ void (string "cite")
@@ -311,7 +311,7 @@ berkeleyTextualCite = try $ do
311311-- citation style, this isn't used.
312312-- berkeleyBracketedTextualCite :: PandocMonad m => OrgParser m (F [Citation])
313313-- berkeleyBracketedTextualCite = try . (fmap head) $
314−-- enclosedByPair '[' ']' berkeleyTextualCite
314+-- enclosedByPair1 '[' ']' berkeleyTextualCite
315315
316316-- | Read a link-like org-ref style citation. The citation includes pre and
317317-- post text. However, multiple citations are not possible due to limitations
@@ -461,7 +461,7 @@ angleLink = try $ do
461461 return link
462462
463463linkTarget :: PandocMonad m => OrgParser m String
464−linkTarget = enclosedByPair '[' ']' (noneOf "\n\r[]")
464+linkTarget = enclosedByPair1 '[' ']' (noneOf "\n\r[]")
465465
466466possiblyEmptyLinkTarget :: PandocMonad m => OrgParser m String
467467possiblyEmptyLinkTarget = try linkTarget <|> ("" <$ string "[]")
@@ -525,9 +525,8 @@ inlineCodeBlock :: PandocMonad m => OrgParser m (F Inlines)
525525inlineCodeBlock = try $ do
526526 string "src_"
527527 lang <- many1 orgArgWordChar
528− opts <- option [] $ try (enclosedByPair '[' ']' inlineBlockOption)
529− <|> (mempty <$ string "[]")
530− inlineCode <- enclosedByPair '{' '}' (noneOf "\n\r")
528+ opts <- option [] $ enclosedByPair '[' ']' inlineBlockOption
529+ inlineCode <- enclosedByPair1 '{' '}' (noneOf "\n\r")
531530 let attrClasses = [translateLang lang]
532531 let attrKeyVal = originalLang lang <> opts
533532 let codeInlineBlck = B.codeWith ("", attrClasses, attrKeyVal) inlineCode
@@ -563,7 +562,14 @@ enclosedByPair :: PandocMonad m
563562 -> Char -- ^ closing char
564563 -> OrgParser m a -- ^ parser
565564 -> OrgParser m [a]
566−enclosedByPair s e p = char s *> many1Till p (char e)
565+enclosedByPair s e p = char s *> manyTill p (char e)
566+
567+enclosedByPair1 :: PandocMonad m
568+ => Char -- ^ opening char
569+ -> Char -- ^ closing char
570+ -> OrgParser m a -- ^ parser
571+ -> OrgParser m [a]
572+enclosedByPair1 s e p = char s *> many1Till p (char e)
567573
568574emph :: PandocMonad m => OrgParser m (F Inlines)
569575emph = fmap B.emph <$> emphasisBetween '/'