diff --git a/GinsuConfig.hs b/GinsuConfig.hs
--- a/GinsuConfig.hs
+++ b/GinsuConfig.hs
@@ -22,7 +22,7 @@
 import GenUtil
 import Control.Monad
 import System.Environment
-import System.Posix as Posix hiding (getEnv)
+import qualified System.Posix as Posix
 
 checkConfigIsGood = do
     gd <- configLookup "GALE_DOMAIN"
@@ -126,8 +126,8 @@
 
 
 readAlias :: String -> IO String
-readAlias fn = getSymbolicLinkStatus fn >>= \s -> if isRegularFile s then readFile fn else
-    (if isSymbolicLink s then  readSymbolicLink fn else fail "bad alias")
+readAlias fn = Posix.getSymbolicLinkStatus fn >>= \s -> if Posix.isRegularFile s then readFile fn else
+    (if Posix.isSymbolicLink s then  Posix.readSymbolicLink fn else fail "bad alias")
 
 
 
diff --git a/Main.hs b/Main.hs
--- a/Main.hs
+++ b/Main.hs
@@ -1095,10 +1095,10 @@
         (KeyLeft) -> cr (l (cloc - 1) v) v
         (KeyRight) -> cr (l (cloc + 1) v) v
         (KeyChar '\x0B') -> cr cloc (drop (length v - cloc) v)
-        (KeyChar '\BEL') -> return (fail "")
+        (KeyChar '\BEL') -> cr cloc v
         (KeyChar c) -> cr (cloc + 1) (let (a,b) = splitAt (length v - cloc) v in a ++ [c] ++ b)
 
-        _ -> return (fail "unknown key")
+        _ -> cr cloc v
     pc cloc v = do
         wmove win yloc 0
         wClrToEol win
diff --git a/ginsu.cabal b/ginsu.cabal
--- a/ginsu.cabal
+++ b/ginsu.cabal
@@ -1,6 +1,6 @@
 -- vim:et
 Name:		ginsu
-Version:	0.8.2.1
+Version:	0.8.2.2
 Copyright:	2002-2009 John Meacham <john@repetae.net>
                 2011-2012 Dylan Simon <dylan@dylex.net>
 Author:		John Meacham <john@foo.net>
