diff --git a/Text/ParserCombinators/Parsec/Prim.hs b/Text/ParserCombinators/Parsec/Prim.hs
--- a/Text/ParserCombinators/Parsec/Prim.hs
+++ b/Text/ParserCombinators/Parsec/Prim.hs
@@ -3,13 +3,13 @@
 -- Module      :  Text.ParserCombinators.Parsec.Prim
 -- Copyright   :  (c) Daan Leijen 1999-2001
 -- License     :  BSD-style (see the file libraries/parsec/LICENSE)
--- 
+--
 -- Maintainer  :  Antoine Latter <aslatter@gmail.com>
 -- Stability   :  provisional
 -- Portability :  portable
 --
 -- The primitive parser combinators.
--- 
+--
 -----------------------------------------------------------------------------
 
 module Text.ParserCombinators.Parsec.Prim
@@ -19,7 +19,7 @@
                    -- basic types
                    , Parser, GenParser
                    , runParser, parse, parseFromFile, parseTest
-                   
+
                    -- primitive parsers:
                    -- instance Functor Parser     : fmap
                    -- instance Monad Parser       : return, >>=, fail
@@ -29,14 +29,14 @@
 
                    -- primitive because of space behaviour
                    , many, skipMany
-                                
+
                    -- user state manipulation
                    , getState, setState, updateState
 
                    -- state manipulation
                    , getPosition, setPosition
-                   , getInput, setInput                   
-                   , State(..), getParserState, setParserState 
+                   , getInput, setInput
+                   , State(..), getParserState, setParserState
                  ) where
 
 import Prelude
@@ -44,14 +44,6 @@
 import Text.ParserCombinators.Parsec.Error
 import Control.Monad
 
-{-# INLINE parsecMap    #-}
-{-# INLINE parsecReturn #-}
-{-# INLINE parsecBind   #-}
-{-# INLINE parsecZero   #-}
-{-# INLINE parsecPlus   #-}
-{-# INLINE token        #-}
-{-# INLINE tokenPrim    #-}
-
 -----------------------------------------------------------
 -- Operators:
 -- <?>  gives a name to a parser (which is used in error messages)
@@ -137,7 +129,7 @@
 setPosition pos     = do{ updateParserState (\(State input _ user) -> State input pos user)
                         ; return ()
                         }
-                        
+
 -- | @setInput input@ continues parsing with @input@.
 setInput :: [tok] -> GenParser tok st ()
 setInput input      = do{ updateParserState (\(State _ pos user) -> State input pos user)
@@ -146,7 +138,7 @@
 
 -- | Returns the full parser state as a 'State' record.
 getParserState	    :: GenParser tok st (State tok st)
-getParserState      =  updateParserState id    
+getParserState      =  updateParserState id
 
 -- | @setParserState st@ set the full parser state to @st@.
 setParserState	    :: State tok st -> GenParser tok st (State tok st)
@@ -158,7 +150,7 @@
 -----------------------------------------------------------
 -- Parser definition.
 -- GenParser tok st a:
---  General parser for tokens of type "tok", 
+--  General parser for tokens of type "tok",
 --  a user state "st" and a result type "a"
 -----------------------------------------------------------
 type Parser a           = GenParser Char () a
@@ -168,7 +160,7 @@
 
 data Consumed a         = Consumed a                --input is consumed
                         | Empty !a                  --no input is consumed
-                    
+
 data Reply tok st a     = Ok !a !(State tok st) ParseError    --parsing succeeded with "a"
                         | Error ParseError                    --parsing failed
 
@@ -229,7 +221,7 @@
         Ok x _ _    -> Right x
         Error err   -> Left err
 
-parserReply result     
+parserReply result
     = case result of
         Consumed reply -> reply
         Empty reply    -> reply
@@ -243,7 +235,7 @@
 
 parsecMap :: (a -> b) -> GenParser tok st a -> GenParser tok st b
 parsecMap f (Parser p)
-    = Parser (\state -> 
+    = Parser (\state ->
         case (p state) of
           Consumed reply -> Consumed (mapReply reply)
           Empty    reply -> Empty    (mapReply reply)
@@ -251,28 +243,28 @@
     where
       mapReply reply
         = case reply of
-            Ok x state err -> let fx = f x 
+            Ok x state err -> let fx = f x
                               in seq fx (Ok fx state err)
             Error err      -> Error err
-           
 
+
 -----------------------------------------------------------
 -- Monad: return, sequence (>>=) and fail
------------------------------------------------------------    
+-----------------------------------------------------------
 instance Monad (GenParser tok st) where
-  return x   = parsecReturn x  
+  return x   = parsecReturn x
   p >>= f    = parsecBind p f
   fail msg   = parsecFail msg
 
 parsecReturn :: a -> GenParser tok st a
 parsecReturn x
-  = Parser (\state -> Empty (Ok x state (unknownError state)))   
+  = Parser (\state -> Empty (Ok x state (unknownError state)))
 
 parsecBind :: GenParser tok st a -> (a -> GenParser tok st b) -> GenParser tok st b
 parsecBind (Parser p) f
     = Parser (\state ->
-        case (p state) of                 
-          Consumed reply1 
+        case (p state) of
+          Consumed reply1
             -> Consumed $
                case (reply1) of
                  Ok x state1 err1 -> case runP (f x) state1 of
@@ -280,13 +272,13 @@
                                        Consumed reply2 -> reply2
                  Error err1       -> Error err1
 
-          Empty reply1    
+          Empty reply1
             -> case (reply1) of
                  Ok x state1 err1 -> case runP (f x) state1 of
                                        Empty reply2 -> Empty (mergeErrorReply err1 reply2)
-                                       other        -> other                                                    
+                                       other        -> other
                  Error err1       -> Empty (Error err1)
-      )                                                              
+      )
 
 mergeErrorReply err1 reply
   = case reply of
@@ -296,7 +288,7 @@
 
 parsecFail :: String -> GenParser tok st a
 parsecFail msg
-  = Parser (\state -> 
+  = Parser (\state ->
       Empty (Error (newErrorMessage (Message msg) (statePos state))))
 
 
@@ -306,8 +298,8 @@
 instance MonadPlus (GenParser tok st) where
   mzero         = parsecZero
   mplus p1 p2   = parsecPlus p1 p2
-      
 
+
 pzero :: GenParser tok st a
 pzero = parsecZero
 
@@ -321,7 +313,7 @@
 parsecPlus :: GenParser tok st a -> GenParser tok st a -> GenParser tok st a
 parsecPlus (Parser p1) (Parser p2)
     = Parser (\state ->
-        case (p1 state) of        
+        case (p1 state) of
           Empty (Error err) -> case (p2 state) of
                                  Empty reply -> Empty (mergeErrorReply err reply)
                                  consumed    -> consumed
@@ -329,7 +321,7 @@
       )
 
 
-{- 
+{-
 -- variant that favors a consumed reply over an empty one, even it is not the first alternative.
           empty@(Empty reply) -> case reply of
                                    Error err ->
@@ -376,7 +368,7 @@
 -- >  identifier  = many1 letter
 try :: GenParser tok st a -> GenParser tok st a
 try (Parser p)
-    = Parser (\state@(State input pos user) ->     
+    = Parser (\state@(State input pos user) ->
         case (p state) of
           Consumed (Error err)  -> Empty (Error (setErrorPos pos err))
           Consumed ok           -> Consumed ok    -- was: Empty ok
@@ -399,7 +391,7 @@
 -- >      showTok (pos,t)     = show t
 -- >      posFromTok (pos,t)  = pos
 -- >      testTok (pos,t)     = if x == t then Just t else Nothing
-token :: (tok -> String) -> (tok -> SourcePos) -> (tok -> Maybe a) -> GenParser tok st a    
+token :: (tok -> String) -> (tok -> SourcePos) -> (tok -> Maybe a) -> GenParser tok st a
 token show tokpos test
   = tokenPrim show nextpos test
   where
@@ -431,47 +423,47 @@
 -- error messages using @show@. The position is calculated using @nextpos@, and finally, @mbnextstate@,
 -- can hold a function that updates the user state on every token recognised (nice to count tokens :-).
 -- The function is packed into a 'Maybe' type for performance reasons.
-tokenPrimEx :: (tok -> String) -> 
-               (SourcePos -> tok -> [tok] -> SourcePos) -> 
+tokenPrimEx :: (tok -> String) ->
+               (SourcePos -> tok -> [tok] -> SourcePos) ->
                Maybe (SourcePos -> tok -> [tok] -> st -> st) ->
-               (tok -> Maybe a) -> 
+               (tok -> Maybe a) ->
                GenParser tok st a
 tokenPrimEx show nextpos mbNextState test
     = case mbNextState of
-        Nothing 
-          -> Parser (\state@(State input pos user) -> 
+        Nothing
+          -> Parser (\state@(State input pos user) ->
               case input of
                 (c:cs) -> case test c of
                             Just x  -> let newpos   = nextpos pos c cs
                                            newstate = State cs newpos user
-                                       in seq newpos $ seq newstate $ 
+                                       in seq newpos $ seq newstate $
                                           Consumed (Ok x newstate (newErrorUnknown newpos))
                             Nothing -> Empty (sysUnExpectError (show c) pos)
                 []     -> Empty (sysUnExpectError "" pos)
              )
         Just nextState
-          -> Parser (\state@(State input pos user) -> 
+          -> Parser (\state@(State input pos user) ->
               case input of
                 (c:cs) -> case test c of
                             Just x  -> let newpos   = nextpos pos c cs
                                            newuser  = nextState pos c cs user
                                            newstate = State cs newpos newuser
-                                       in seq newpos $ seq newstate $ 
+                                       in seq newpos $ seq newstate $
                                           Consumed (Ok x newstate (newErrorUnknown newpos))
                             Nothing -> Empty (sysUnExpectError (show c) pos)
                 []     -> Empty (sysUnExpectError "" pos)
              )
 
 
-label :: GenParser tok st a -> String -> GenParser tok st a    
+label :: GenParser tok st a -> String -> GenParser tok st a
 label p msg
   = labels p [msg]
 
 labels :: GenParser tok st a -> [String] -> GenParser tok st a
 labels (Parser p) msgs
-    = Parser (\state -> 
+    = Parser (\state ->
         case (p state) of
-          Empty reply -> Empty $ 
+          Empty reply -> Empty $
                          case (reply) of
                            Error err        -> Error (setExpectErrors err msgs)
                            Ok x state1 err  | errorIsUnknown err -> reply
@@ -482,10 +474,10 @@
 
 -- | @updateParserState f@ applies function @f@ to the parser state.
 updateParserState :: (State tok st -> State tok st) -> GenParser tok st (State tok st)
-updateParserState f 
+updateParserState f
     = Parser (\state -> let newstate = f state
                         in Empty (Ok state newstate (unknownError newstate)))
-    
+
 -- | The parser @unexpected msg@ always fails with an unexpected error
 -- message @msg@ without consuming any input.
 --
@@ -496,11 +488,11 @@
 unexpected :: String -> GenParser tok st a
 unexpected msg
     = Parser (\state -> Empty (Error (newErrorMessage (UnExpect msg) (statePos state))))
-    
 
+
 setExpectErrors err []         = setErrorMessage (Expect "") err
 setExpectErrors err [msg]      = setErrorMessage (Expect msg) err
-setExpectErrors err (msg:msgs) = foldr (\msg err -> addErrorMessage (Expect msg) err) 
+setExpectErrors err (msg:msgs) = foldr (\msg err -> addErrorMessage (Expect msg) err)
                                        (setErrorMessage (Expect msg) err) msgs
 
 sysUnExpectError msg pos  = Error (newErrorMessage (SysUnExpect msg) pos)
@@ -510,7 +502,7 @@
 -- Parsers unfolded for space:
 -- if many and skipMany are not defined as primitives,
 -- they will overflow the stack on large inputs
------------------------------------------------------------    
+-----------------------------------------------------------
 
 -- | @many p@ applies the parser @p@ /zero/ or more times. Returns a
 --    list of the returned values of @p@.
@@ -537,7 +529,7 @@
 
 manyAccum :: (a -> [a] -> [a]) -> GenParser tok st a -> GenParser tok st [a]
 manyAccum accum (Parser p)
-  = Parser (\state -> 
+  = Parser (\state ->
     let walk xs state r = case r of
                            Empty (Error err)          -> Ok xs state err
                            Empty ok                   -> error "Text.ParserCombinators.Parsec.Prim.many: combinator 'many' is applied to a parser that accepts an empty string."
@@ -553,16 +545,16 @@
 
 
 -----------------------------------------------------------
--- Parsers unfolded for speed: 
+-- Parsers unfolded for speed:
 --  tokens
------------------------------------------------------------    
+-----------------------------------------------------------
 
 {- specification of @tokens@:
 tokens showss nextposs s
   = scan s
   where
     scan []       = return s
-    scan (c:cs)   = do{ token show nextpos c <?> shows s; scan cs }                      
+    scan (c:cs)   = do{ token show nextpos c <?> shows s; scan cs }
 
     show c        = shows [c]
     nextpos pos c = nextposs pos [c]
@@ -570,13 +562,13 @@
 
 tokens :: Eq tok => ([tok] -> String) -> (SourcePos -> [tok] -> SourcePos) -> [tok] -> GenParser tok st [tok]
 tokens shows nextposs s
-    = Parser (\state@(State input pos user) -> 
+    = Parser (\state@(State input pos user) ->
        let
         ok cs             = let newpos   = nextposs pos s
                                 newstate = State cs newpos user
-                            in seq newpos $ seq newstate $ 
+                            in seq newpos $ seq newstate $
                                (Ok s newstate (newErrorUnknown newpos))
-                               
+
         errEof            = Error (setErrorMessage (Expect (shows s))
                                      (newErrorMessage (SysUnExpect "") pos))
         errExpect c       = Error (setErrorMessage (Expect (shows s))
diff --git a/parsec1.cabal b/parsec1.cabal
--- a/parsec1.cabal
+++ b/parsec1.cabal
@@ -1,6 +1,6 @@
 cabal-version: >= 1.2
 name:           parsec1
-version:        1.0.0.3
+version:        1.0.0.4
 license:        BSD3
 license-file:   LICENSE
 author:         Daan Leijen <daan@cs.uu.nl>
@@ -27,6 +27,7 @@
     Your own module ambiguities are best avoided by hiding packages.
     .
     This version only differs from pervious ones by a changed description.
+    (In version 1.0.0.4 only the inline pragmas have been removed #4849.)
 build-type:     Simple
 cabal-version:      >= 1.6
 library {
