@@ -85,15 +85,13 @@ isBlank _ = False
8585
8686indentSpaces :: Parser [Char] ParserState [Char]
8787indentSpaces = try $ do
88− state <- getState
89− let tabStop = stateTabStop state
88+ tabStop <- getOption readerTabStop
9089 count tabStop (char ' ') <|>
9190 string "\t" <?> "indentation"
9291
9392nonindentSpaces :: Parser [Char] ParserState [Char]
9493nonindentSpaces = do
95− state <- getState
96− let tabStop = stateTabStop state
94+ tabStop <- getOption readerTabStop
9795 sps <- many (char ' ')
9896 if length sps < tabStop
9997 then return sps
@@ -101,8 +99,8 @@ nonindentSpaces = do
10199
102100skipNonindentSpaces :: Parser [Char] ParserState ()
103101skipNonindentSpaces = do
104− state <- getState
105− atMostSpaces (stateTabStop state - 1)
102+ tabStop <- getOption readerTabStop
103+ atMostSpaces (tabStop - 1)
106104
107105atMostSpaces :: Int -> Parser [Char] ParserState ()
108106atMostSpaces 0 = notFollowedBy (char ' ')
@@ -627,8 +625,7 @@ defListMarker :: Parser [Char] ParserState ()
627625defListMarker = do
628626 sps <- nonindentSpaces
629627 char ':' <|> char '~'
630− st <- getState
631− let tabStop = stateTabStop st
628+ tabStop <- getOption readerTabStop
632629 let remaining = tabStop - (length sps + 1)
633630 if remaining > 0
634631 then count remaining (char ' ') <|> string "\t"