unlexer bug ; "vilka" ; lib path warning ; p -lines result

This commit is contained in:
aarne
2006-03-21 13:57:38 +00:00
parent da61e709ad
commit e7f325f975
3 changed files with 20 additions and 8 deletions

View File

@@ -31,11 +31,11 @@ import GF.Text.UTF8
import GF.Today (today,version)
import GF.System.Arch
import System (getArgs,system)
import System (getArgs,system,getEnv)
import Control.Monad (foldM,liftM)
import Data.List (nub)
-- AR 19/4/2000 -- 28/4/2005
-- AR 19/4/2000 -- 21/3/2006
main :: IO ()
main = do
@@ -52,7 +52,8 @@ main = do
putStrLnFlush $ encodeUTF8 helpMsg
_ | opt forJava -> do
putStrLnFlush $ encodeUTF8 welcomeMsg
welcome <- welcomeMsgLib
putStrLnFlush $ encodeUTF8 welcome
st <- useIOE st0 $
foldM (shellStateFromFiles os) st0 fs
sessionLineJ True st
@@ -77,8 +78,8 @@ main = do
if opt beSilent then return () else putStrLnFlush "</gfbatch>"
return ()
_ -> do
ifNotSil $ putStrLnFlush $ welcomeMsg
welcome <- welcomeMsgLib
ifNotSil $ putStrLnFlush $ welcome
st <- useIOE st0 $
foldM (shellStateFromFiles os) st0 fs
if null fs then return () else (ifNotSil putCPU)
@@ -110,9 +111,16 @@ helpMsg = unlines [
"which suppresses all messages except the output and fatal errors."
]
welcomeMsg =
welcomeMsgLib = do
lib <- catch
(getEnv "GF_LIB_PATH" >>= return . ("GF_LIB_PATH is set to" +++))
(const (return "Warning: GF_LIB_PATH is not defined."))
return $ welcomeMsg lib
welcomeMsg lib =
"Welcome to " ++ authorMsg ++++
"If ä and ö (umlaut letters) look strange, see 'h -coding'." ++
"\n" ++ lib ++
"\n\nType 'h' for help, and 'h [Command] for more detailed help.\n"
authorMsg = unlines [

View File

@@ -24,6 +24,7 @@ import qualified GF.Grammar.Lookup as L
import qualified GF.Canon.GFC as GFC
import qualified GF.Canon.Look as Look
import qualified GF.Canon.CMacros as CMacros
import qualified GF.Grammar.MMacros as MMacros
import qualified GF.Compile.GrammarToCanon as GrammarToCanon
import GF.Grammar.Values
import GF.UseGrammar.GetTree
@@ -236,7 +237,10 @@ execC co@(comm, opts0) sa@(sh@(st,(h,_,_,_)),a) = checkOptions st co >> case com
let ss = (if oElem showAll opts then id else filter (not . null)) $
lines $ prCommandArg a
mts <- mapM parse ss
let a' = ATrms [t | (_,ATrms ts) <- mts, t <- ts]
let mark s ts = case ts of
[] -> [MMacros.uTree] -- to leave a trace of unparsed line
_ -> ts
let a' = ATrms [t | (s,(_,ATrms ts)) <- zip ss mts, t <- mark s ts]
changeArg (const a') sa
| otherwise -> parse $ prCommandArg a
where

View File

@@ -60,7 +60,7 @@ formatAsCodeLit :: String -> String
formatAsCodeLit = formatAsCode . unwords . map unStringLit . words
formatAsText,formatAsHTML,formatAsLatex :: String -> String
formatAsText = formatAsTextGen (=="&-") (=="&-")
formatAsText = formatAsTextGen (const False) (=="&-")
formatAsHTML = formatAsTextGen (\s -> take 1 s == "<" || last s == '>') (const False)
formatAsLatex = formatAsTextGen ((=="\\") . take 1) (const False)