@@ -201,10 +201,13 @@ attributeControl fd = do
201 original <- getTerminalAttributes fd
201 original <- getTerminalAttributes fd
202 let vtyMode = foldl withMode clearedFlags flagsToSet
202 let vtyMode = foldl withMode clearedFlags flagsToSet
203 clearedFlags = foldl withoutMode original flagsToUnset
203 clearedFlags = foldl withoutMode original flagsToUnset
204− flagsToSet = [ MapCRtoLF
204+ flagsToSet = [ MapCRtoLF -- ICRNL
206− flagsToUnset = [ StartStopOutput, KeyboardInterrupts
206+ flagsToUnset = [ StartStopOutput -- IXON
207+ , KeyboardInterrupts -- ISIG
208+ , EnableEcho -- ECHO
209+ , ProcessInput -- ICANON
207− , EnableEcho, ProcessInput, ExtendedFunctions
210+ , ExtendedFunctions -- IEXTEN
209 let setAttrs = setTerminalAttributes fd vtyMode Immediately
212 let setAttrs = setTerminalAttributes fd vtyMode Immediately
210 unsetAttrs = setTerminalAttributes fd original Immediately
213 unsetAttrs = setTerminalAttributes fd original Immediately