Commit e1f4cd2d authored by Diederik van Arkel's avatar Diederik van Arkel
Browse files

cleanup for Clean2 release

parent af9b4495
......@@ -2,6 +2,7 @@ implementation module ideoptions
import StdFunc
import StdWindow
import StdPStClass
import IdeState
import ioutil
......@@ -10,10 +11,15 @@ ideOptionsDialog ps
# (prefs,ps) = getPrefs ps
# (wId,ps) = openId ps
# (okId,ps) = openId ps
# (tpId,ps) = openId ps
# (hpId,ps) = openId ps
# (prId,ps) = openId ps
# iniSWMark = toMark prefs.switch_close
# iniTBMark = toMark prefs.show_toolbar
// # iniTPMark = toMark prefs.enable_prover
# iniBVMark = toMark prefs.be_verbose
# iniTPString = prefs.reg_prefs.tp_path +++ prefs.reg_prefs.tp_name
# iniHPString = prefs.reg_prefs.hp_path +++ prefs.reg_prefs.hp_name
# iniPRString = prefs.reg_prefs.pr_path +++ prefs.reg_prefs.pr_name
# (iniNHIndex,iniCVIndex)
= case prefs.newline_handling of
(LeaveAlone NewlineConventionNone) -> (1,1)
......@@ -25,13 +31,15 @@ ideOptionsDialog ps
(AlwaysUse NewlineConventionUnix) -> (2,3)
(AlwaysUse NewlineConventionDos) -> (2,4)
# iniAWMark = toMark prefs.altgr_workaround
# (_,ps) = openModalDialog Void (ddef iniSWMark iniTBMark /*iniTPMark*/ iniBVMark iniNHIndex iniCVIndex iniAWMark
okId wId) ps
# (_,ps) = openModalDialog Void (ddef iniSWMark iniTBMark iniBVMark iniNHIndex iniCVIndex iniAWMark
iniTPString iniHPString iniPRString
tpId hpId prId okId wId) ps
= ps
ddef
iniSWMark iniTBMark /*iniTPMark*/ iniBVMark iniNHIndex iniCVIndex iniAWMark
okId wId
iniSWMark iniTBMark iniBVMark iniNHIndex iniCVIndex iniAWMark
iniTPString iniHPString iniPRString
tpId hpId prId okId wId
= Dialog "IDE Options"
( CheckControl
[("Switch windows",Nothing,iniSWMark,noLS switchSW)
......@@ -39,13 +47,6 @@ ddef
,("Verbose diagnostics",Nothing,iniBVMark,noLS switchBV)
,("AltGr workaround",Nothing,iniAWMark,noLS switchAW)
] (Columns 1) []
/*
:+: CheckControl
[("Enable Theorem Prover",Nothing,iniTPMark,id)
] (Columns 1)
[ControlSelectState Unable
,ControlPos (Left,zero)]
*/
:+: TextControl "Newline Handling"
[ControlPos (Left,zero)]
:+: RadioControl
......@@ -66,6 +67,16 @@ ddef
(Rows 1)
(iniCVIndex)
[ControlPos (Left,zero)]
:+: TextControl "Time Profiler:" [ControlPos (Left,zero),ControlWidth (ContentWidth "Theorem Prover:")]
:+: EditControl iniTPString (PixelWidth 300) 1 [ControlId tpId,ControlSelectState Unable]
:+: ButtonControl "Select..." [ControlFunction (noLS (setTP tpId))]
:+: TextControl "Heap Profiler:" [ControlPos (Left,zero),ControlWidth (ContentWidth "Theorem Prover:")]
:+: EditControl iniHPString (PixelWidth 300) 1 [ControlId hpId,ControlSelectState Unable]
:+: ButtonControl "Select..." [ControlFunction (noLS (setHP hpId))]
:+: TextControl "Theorem Prover:" [ControlPos (Left,zero),ControlWidth (ContentWidth "Theorem Prover:")]
:+: EditControl iniPRString (PixelWidth 300) 1 [ControlId prId,ControlSelectState Unable]
:+: ButtonControl "Select..." [ControlFunction (noLS (setPR prId))]
:+: ButtonControl "Clear Registry" [ControlPos (Left,zero),ControlFunction (noLS clearRegistry)]
:+: ButtonControl "OK" [ControlPos (Right,zero), ControlFunction (noLS (closeWindow wId)), ControlId okId]
) [WindowClose (noLS (closeWindow wId)), WindowId wId, WindowOk okId, WindowCancel okId]
......@@ -104,3 +115,72 @@ changeCV cv ps
(AlwaysUse _) -> AlwaysUse cv
}
= setPrefs prefs ps
//import dodebug
import first_run, UtilIO
setTP tpId ps
# (prefs,ps) = getPrefs ps
# (result,ps) = selectOutputFile "Select time profiler" "*.exe" ps
| isNothing result = ps
# full = fromJust result
# name = GetFileName full
# short = case GetShortPathName full of
(True,short) -> short
_ -> full
# path = GetFilePath short
# ps = appPIO (setControlText tpId (path +++ name)) ps
# prefs = {prefs & reg_prefs.tp_name = name, reg_prefs.tp_path = path}
# ps = setPrefs prefs ps
# (ide_name,ide_path,ide_vers,errs)
= get_ide_from_registry
| not (isEmpty errs) || ide_name == "" || ide_path == "" || ide_vers == "" = ps
# errs = change_pcl_registry_fun ide_name ide_path name path
| errs == [] = ps
= ps
setHP hpId ps
# (prefs,ps) = getPrefs ps
# (result,ps) = selectOutputFile "Select heap profiler" "*.exe" ps
| isNothing result = ps
# full = fromJust result
# name = GetFileName full
# short = case GetShortPathName full of
(True,short) -> short
_ -> full
# path = GetFilePath short
# ps = appPIO (setControlText hpId (path +++ name)) ps
# prefs = {prefs & reg_prefs.hp_name = name, reg_prefs.hp_path = path}
# ps = setPrefs prefs ps
# (ide_name,ide_path,ide_vers,errs)
= get_ide_from_registry
| not (isEmpty errs) || ide_name == "" || ide_path == "" || ide_vers == "" = ps
# errs = change_hcl_registry_fun ide_name ide_path name path
| errs == [] = ps
= ps
setPR prId ps
# (prefs,ps) = getPrefs ps
# (result,ps) = selectOutputFile "Select theorem prover" "*.exe" ps
| isNothing result = ps
# full = fromJust result
# name = GetFileName full
# short = case GetShortPathName full of
(True,short) -> short
_ -> full
# path = GetFilePath short
# ps = appPIO (setControlText prId (path +++ name)) ps
# prefs = {prefs & reg_prefs.pr_name = name, reg_prefs.pr_path = path}
= setPrefs prefs ps
clearRegistry ps
# (errs,ps) = uninstall ps
| errs == [] = ps
# (okId,ps) = openId ps
# (dlogId,ps) = openId ps
# (_,ps) = openModalDialog Void (Dialog "Clear Registry errors"
( TextControl "Clear Registry produced an error:" []
:+: TextControl (hd errs) [ControlPos (Left,zero)]
:+: ButtonControl "OK" [ControlId okId,ControlFunction (noLS (closeWindow dlogId))])
[WindowOk okId,WindowId dlogId]) ps
= ps
definition module messwin
// Display PmDriver messages...
import StdPSt
from IdeState import :: General
// Display PmDriver messages...
:: Info // message levels
= Level1 String
| Level2 String
......
......@@ -36,18 +36,10 @@ showInfoInteractive info ps
# (buttonId,ps) = openId ps
#! ok = ButtonControl "Cancel" [ControlId buttonId, ControlPos (Right,zero), ControlFunction (noLS (closeWindow dlogId))]
content = (texts text1Id text2Id) :+: ok
// (size,ps) = controlSize content False Nothing Nothing Nothing ps
#! (err,ps) = openDialog Void // modal?
#! (err,ps) = openDialog Void
(Dialog "Messages" content
[ WindowId dlogId
, WindowPos (Fix,OffsetVector {vx = 200, vy = 200})
/* , WindowPos (Fix,OffsetFun 1
(\(dm,ps)->
{vx = (size.w + dm.corner2.x - dm.corner1.x) >> 1
,vy = (size.Size.h + dm.corner2.y - dm.corner1.y) >> 1
}
))
*/
, WindowClose (noLS (closeWindow dlogId))
, WindowOk buttonId
, WindowCancel buttonId
......
implementation module prefix
import StdOverloaded, StdString, StdArray, StdClass, StdInt, StdEnum
//import shift
import EdSelection, EdMonad, EdClient, EdVisualText, EdVisualCursor
import menubar
import EdCommon
......
......@@ -23,11 +23,6 @@ pm_menu_add path ps
// do Project menu...
# (prefs,ps) = getPrefs ps
# projIds = removeAt 9 projIds // Disable theorem prover module...
/*
# projIds = case prefs.enable_prover of
True -> removeAt 9 projIds
False -> removeAt 8 (removeAt 9 projIds)
*/
# ps = appPIO (enableMenuElements projIds) ps
// do Module menu...
# moduleIds = [mn_sav,mn_sva,md_cmp,md_chk,md_gen,md_cst,md_est]
......@@ -97,11 +92,6 @@ where
# ({projIds},ps) = getMenuIds ps
# (prefs,ps) = getPrefs ps
# projIds = removeAt 9 projIds // disable module theorem proving...
/*
# projIds = case prefs.enable_prover of
True -> removeAt 9 projIds
False -> removeAt 8 (removeAt 9 projIds)
*/
// if projwin or editwin active disable moduleIds...
// not necessary here because only called from active dialog...
# ps = setModuleIds [] ps
......
......@@ -8,7 +8,6 @@ import PmProject, PmFiles, UtilStrictLists, PmPath
import edfiles, messwin, errwin
import PmDialogues, PmDriver
import PmCleanSystem
//import ProverOptions
import flextextcontrol
import ioutil, morecontrols, colorpickcontrol
import projmen, menubar, colourclip
......@@ -520,28 +519,10 @@ pm_set ps
= ps // this should not occur
# pos = fromJust pos
# (siz,ps) = accPIO (getWindowViewSize win) ps
// # (fnt,ps) = sendToActiveWindow msgGetFont ps
// | isNothing fnt
// = ps // this should not occur
// # fnt = fromJust fnt
// # fnt = getFontDef fnt
// # (tbs,ps) = sendToActiveWindow msgGetTabs ps
// | isNothing tbs
// = ps // this should not occur
// # tbs = fromJust tbs
// # (lns,ps) = sendToActiveWindow getLineNumbers ps
// | isNothing lns
// = ps // this should not occur
// # lns = fromJust lns
# (nlc,ps) = sendToActiveWindow getNewlineConvention ps
| isNothing nlc
= ps // this should not occur
# nlc = fromJust nlc
// # (sci,ps) = sendToActiveWindow getFontInfo ps
// | isNothing sci
// = ps // this should not occur
// # {showSyntax} = fromJust sci
# pos_size = {posx = pos.vx,posy=pos.vy,sizex=siz.w,sizey=siz.Size.h}
# eo = {newlines = nlc}
# weo = {eo = eo,pos_size = pos_size}
......@@ -607,11 +588,9 @@ where
# (app_path,ps) = getStup ps
# prj_path` = RemoveFilename prj_path
# execpath = fulPath app_path prj_path` execpath
//*
| lo.method == LM_Dynamic
# execpath = (RemoveSuffix` execpath) +++. ".bat"
= RunProgram execpath ps
//*/
= RunProgram execpath ps
pm_run :: !*(PSt *General) -> *PSt *General;
......@@ -622,11 +601,9 @@ pm_run ps
# prj_path` = RemoveFilename prj_path
# execpath = fulPath app_path prj_path` execpath
# (lo,ps) = accProject (\project->(PR_GetLinkOptions project,project)) ps
//*
| lo.method == LM_Dynamic
# execpath = (RemoveSuffix` execpath) +++. ".bat"
= RunProgram execpath ps
//*/
= RunProgram execpath ps
//--
......@@ -758,33 +735,6 @@ pm_save_common pathname project ps
] ps
= (project,ps)
# (prefs,ps) = getPrefs ps
/*
| not prefs.enable_prover
= (project,ps)
# (syspaths,ps) = getCurrentPaths ps
# prjpaths = PR_GetPaths project
# srcpaths = AppendLists prjpaths syspaths
# stuff = PR_GetModuleStuff project
# dclstuff = StrictListToList (Map (\(m,d,_,_)->(GetModuleName m,d)) stuff)
# iclstuff = StrictListToList (Map (\(_,_,m,d)->(GetModuleName m,d)) stuff)
# [(rootname,rootpath) : iclstuff]
= iclstuff
# proveropts =
{ project_name = RemoveSuffix (RemovePath prjpath)
, project_paths = StrictListToList srcpaths
, main_module_name = rootname
, main_module_path = rootpath
, icl_modules = iclstuff
, dcl_modules = dclstuff
}
# (ok,ps) = accFiles (WriteProverOptions (make_prover_name pathname) proveropts) ps
| not ok
# ps = okNotice
[ "The prover file for "+++RemovePath prjpath+++" could not be saved because"
, "of a file I/O error."
] ps
= (project,ps)
*/
= (project,ps)
pm_maybe_save :: !Id !*(PSt *General) -> (Bool,*PSt *General)
......@@ -801,14 +751,6 @@ pm_set_window_title pathname ps
# name = RemovePath pathname
= appPIO (setWindowTitle wId (name+++" - "+++pathname)) ps
/*
make_prover_name name
# name = MakeProjectPathname name
# name = RemoveSuffix name
# name = name +++ ".pr_"
= name
*/
pm_get_projwin_possiz :: *(PSt *General) -> *(.(Vector2,Size),*PSt *General);
pm_get_projwin_possiz ps
# (wId,ps) = getPWW ps
......
......@@ -121,7 +121,6 @@ fi_messagebox info=:{cleanid,dlogId,stringId,msgId,kind,closeId} pstate
= pstate
# pstate = closeWindow dlogId pstate
(_,pstate) = openModalDialog info dialog pstate
// (_,pstate) = openDialog info dialog pstate // check if the modality triggers win activation bug...
= pstate
where
dialog = Dialog
......@@ -140,6 +139,7 @@ where
:+: EditControl (hd cleanid) (PixelWidth 300) 1
[ ControlPos (Left,zero)
, ControlId stringId
, ControlActivate (noLS (appPIO (setEditControlSelection stringId 1 0)))
]
:+: ButtonControl "Close"
[ ControlFunction closefun
......
......@@ -265,7 +265,9 @@ newNameDialog ininame cont (ls,ps)
# ((err,en),ps) = openModalDialog Nothing
(Dialog "Environment Name"
( EditControl ininame (PixelWidth 150) 1
[ControlId editId]
[ ControlId editId
, ControlActivate (noLS (appPIO (setEditControlSelection editId 1 0)))
]
:+: ButtonControl "OK"
[ControlPos (Right,zero),ControlFunction (okfun editId windId),ControlId okId]
:+: ButtonControl "Cancel"
......@@ -524,15 +526,30 @@ title
toolpane tg compId cgenId linkId dynlId versId methId
= TextControl "Compiler: " [ControlWidth textWidth]
:+: EditControl tg.target_comp (PixelWidth 250) 1 [ControlId compId]
:+: EditControl tg.target_comp (PixelWidth 250) 1
[ ControlId compId
, ControlActivate (noLS (appPIO (setEditControlSelection compId 1 0)))
]
:+: TextControl "Generator: " [ControlPos (Left,zero),ControlWidth textWidth]
:+: EditControl tg.target_cgen (PixelWidth 250) 1 [ControlId cgenId]
:+: EditControl tg.target_cgen (PixelWidth 250) 1
[ ControlId cgenId
, ControlActivate (noLS (appPIO (setEditControlSelection cgenId 1 0)))
]
:+: TextControl "Static Linker: " [ControlPos (Left,zero),ControlWidth textWidth]
:+: EditControl tg.target_link (PixelWidth 250) 1 [ControlId linkId]
:+: EditControl tg.target_link (PixelWidth 250) 1
[ ControlId linkId
, ControlActivate (noLS (appPIO (setEditControlSelection linkId 1 0)))
]
:+: TextControl "Dynamic Linker: " [ControlPos (Left,zero),ControlWidth textWidth]
:+: EditControl tg.target_dynl (PixelWidth 250) 1 [ControlId dynlId]
:+: EditControl tg.target_dynl (PixelWidth 250) 1
[ ControlId dynlId
, ControlActivate (noLS (appPIO (setEditControlSelection dynlId 1 0)))
]
:+: TextControl "ABC version: " [ControlPos (Left,zero),ControlWidth textWidth]
:+: EditControl (toString tg.target_vers) (PixelWidth 250) 1 [ControlId versId]
:+: EditControl (toString tg.target_vers) (PixelWidth 250) 1
[ ControlId versId
, ControlActivate (noLS (appPIO (setEditControlSelection versId 1 0)))
]
:+: CheckControl [("Console in IDE",Nothing,toMark tg.target_redc,redcfun)] (Columns 1) [ControlPos (Left,zero)]
:+: RadioControl
[("Sync",Nothing,methfun 1)
......@@ -552,10 +569,11 @@ toolpane tg compId cgenId linkId dynlId versId methId
_ -> "1"
)
(PixelWidth 250) 1
[ControlId methId
,case tg.target_meth of
[ ControlId methId
, case tg.target_meth of
(CompileAsync _) -> ControlSelectState Able
_ -> ControlSelectState Unable
, ControlActivate (noLS (appPIO (setEditControlSelection methId 1 0)))
]
where
textWidth = ContentWidth "Dynamic Linker: "
......
......@@ -5,23 +5,14 @@ import ExtNotice, StdPathname
import IdeState, UtilIO
//-- call out to supporting applications...
//-- should make these settable in the ide...
//-- ahhh... problem is then how to inform the change_registry
//-- application of their new location...
timepsuf =: " Time Profile.pcl"
timepdir =: applicationpath "Tools\\TimeProfiler"
timepapp =: quoted_string (MakeFullPathname timepdir "ShowTimeProfile.exe")
timeparg =: " -h 4M "
heappsuf =: " Heap Profile0.hcl"
heappdir =: applicationpath "Tools\\HeapProfiler"
heappapp =: quoted_string (MakeFullPathname heappdir "ShowHeapProfile.exe")
heapparg =: " -h 4M "
proofsuf =: ".prj"
proofdir =: applicationpath "Tools\\Sparkle"
proofapp =: quoted_string (MakeFullPathname proofdir "Sparkle.exe")
proofarg =: " "
shoprofun :: !*(PSt General) -> *PSt General
......@@ -29,9 +20,10 @@ shoprofun ps
# (prj,ps) = getProject ps
# execpath = PR_GetExecPath prj
// approximate name mangling done by RTE
//--> expand pathname...
// should still take into account max filename length
# profpath = quoted_string (RemoveSuffix` execpath +++ timepsuf)
# (prefs,ps) = getPrefs ps
# timepapp = quoted_string (prefs.reg_prefs.tp_path +++ prefs.reg_prefs.tp_name)
# sp = timepapp +++ timeparg +++ profpath
# stup = RemoveFilename execpath
# (ok,ps) = accFiles (FExists stup) ps
......@@ -48,6 +40,8 @@ shoheapfun ps
// approximate name mangling done by RTE
// should still take into account max filename length
# profpath = quoted_string (RemoveSuffix` execpath +++ heappsuf)
# (prefs,ps) = getPrefs ps
# heappapp = quoted_string (prefs.reg_prefs.hp_path +++ prefs.reg_prefs.hp_name)
# sp = heappapp +++ heapparg +++ profpath
# stup = RemoveFilename execpath
# (ok,ps) = accFiles (FExists stup) ps
......@@ -61,6 +55,8 @@ provefun :: !*(PSt General) -> *PSt General
provefun ps
# (pathname,ps) = getPath ps
# pr_path = quoted_string (RemoveSuffix` pathname +++. proofsuf)
# (prefs,ps) = getPrefs ps
# proofapp = quoted_string (prefs.reg_prefs.pr_path +++ prefs.reg_prefs.pr_name)
# cps = proofapp +++ proofarg +++ pr_path
# stup = RemoveFilename pathname
# (ok,ps) = accFiles (FExists stup) ps
......
definition module typewin
// Types window
import StdPSt, StdId, StdWindowDef
from UtilStrictLists import :: List
from EdMonad import :: EditState, :: EditMonad, :: StateM
from PmPrefs import :: TypPrefs
//--- Types window
from EdMessage import :: EditId
iniTypeWinInfo :: !Id !Id ![Id] !TypPrefs !*a -> *(.TypeWinInfo,*a) | Ids, accScreenPicture a
// initialise type window info
......@@ -22,10 +23,6 @@ tw_maybe_close :: !Id !*(PSt *l) -> *(Bool,*(PSt *l)) | Typer l
tw_safe_close :: !*(PSt *l) -> *PSt *l | Typer l
// tw_safe_close :: close types window
//-
from EdMessage import :: EditId
class Typer env
where
getTypeWinInfo :: !*env -> *(!TypeWinInfo, !*env)
......
......@@ -9,6 +9,8 @@ from StrictList import slFromList
from UtilStrictLists import StrictListToList,:: List(:!),IsEmptyList
import IDE,IdeState,IdePlatform
import morecontrols, colorpickcontrol, ioutil, colourclip
import StdClipboard
//--
......@@ -68,7 +70,6 @@ getTypeWinInf ps = accPLoc getTypeWinInfo ps
setTypeWinInf :: .TypeWinInfo *(PSt *b) -> *PSt *b | Typer b
setTypeWinInf twi ps = appPLoc (setTypeWinInfo twi) ps
//--- Types window
iniTypeWinInfo :: !Id !Id ![Id] !TypPrefs !*a -> *(.TypeWinInfo,*a) | Ids, accScreenPicture a
......@@ -98,7 +99,7 @@ updateTypeWindow interact name atts message ps // fun to update type info in typ
# (iswin,ps) = isWindow wId ps
# textfrag = slFromList message
| iswin
// alleen update
// only update
#! (_,ps) = type_message eId (vAppendLines textfrag) ps
= ps
// open & update
......@@ -153,8 +154,8 @@ openTypeWindow twi text atts ps
, WindowId windowId
, WindowViewDomain viewDomain
, WindowLook True editLook
, WindowHScroll (hScrollFun fontInfo)
, WindowVScroll (vScrollFun fontInfo)
, WindowHScroll (altScrollFunction Horizontal fontInfo.metrics.fMaxWidth)
, WindowVScroll (alignScrollFunction Vertical fontInfo.FontInfo.lineHeight)
, WindowPos (Fix, OffsetVector twi.tpos)
, WindowClose (noLS (tw_close o tw_deactivate)) // be more careful if editable...
, WindowActivate (noLS (tw_activate))
......@@ -211,18 +212,7 @@ tw_deactivate ps
# io = enableMenuElements twi.ids io
= {ps & io = io}
/**********************
* SCROLLBAR HANDLING *
**********************/
hScrollFun fontInfo
:== altScrollFunction Horizontal fontInfo.metrics.fMaxWidth
vScrollFun fontInfo
:== alignScrollFunction Vertical fontInfo.FontInfo.lineHeight
//-- type win options...
import morecontrols, colorpickcontrol, ioutil, colourclip
import StdClipboard
lisFixedWidth :: .FontName *Picture -> (Bool,*Picture)
lisFixedWidth fontname env
......@@ -502,7 +492,7 @@ where
# (twi,ps) = accPLoc getTypeWinInfo ps
# sync = TW_GetSync twi
# sync = sc_update sync
# (font,ps) = safeOpen {fName = fn, fSize = fs, fStyles = []} ps
# (font,ps) = safeOpenFont {fName = fn, fSize = fs, fStyles = []} ps
# twi = TW_SetSync sync twi
# twi = TW_SetFnt font twi
# ps = appPLoc (setTypeWinInfo twi) ps
......@@ -523,10 +513,3 @@ where
, stringColour = mod
, backgroundColour = bck
}
safeOpen fdef ps
# ((ok,font),ps) = accScreenPicture (openFont fdef) ps
| not ok
= accScreenPicture openDefaultFont ps
= (font,ps)
implementation module linkargs
//import StdEnv
import StdArray, StdBool, StdChar, StdFile, StdFunc, StdInt
import StdMaybe
import UtilOptions, UtilStrictLists
......@@ -36,7 +35,7 @@ emptyLinkInfo` =
, object_paths = Nil
, dynamic_libs = Nil
, static_libs = Nil
, stack_size = 0x100000 // 1MB oude linker default
, stack_size = 0x100000 // 1MB old linker default
, gen_dll = False
, dll_names = ""
, dynamics_path = ""
......@@ -73,7 +72,8 @@ ReadLinkOpts linkargsPath ps
linkargs = RLO options
(closed, ps) = fclose file ps
| not closed
= ((linkargs, True,"The file \"" +++ linkargsPath +++ "\" clould not be closed."), ps) // warning genereren of zo?
// generate warning?
= ((linkargs, True,"The file \"" +++ linkargsPath +++ "\" clould not be closed."), ps)
= ((linkargs, True,""), ps)
WLO :: !LinkInfo` -> [Option]
......@@ -109,11 +109,8 @@ instance fromString Int where fromString s = toInt s
//-- link errors
//from StdSystem import applicationpath
ReadLinkErrors :: !String !*Files -> ((Maybe [String],[String]),*Files)
ReadLinkErrors errors_path files
// # (ok,file,files) = fopen (applicationpath "linkerrs") FReadText files
# (ok,file,files) = fopen errors_path FReadText files
| not ok
= ((Just ["Fatal read link errors..."],[]),files)
......@@ -144,7 +141,6 @@ where