Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
clean-and-itasks
clean-ide
Commits
f2e87cae
Commit
f2e87cae
authored
Dec 19, 2001
by
Diederik van Arkel
Browse files
Final? changes for Clean 2.0 release
parent
cf9c89f2
Changes
14
Hide whitespace changes
Inline
Side-by-side
Ed/EdVisualCursor.icl
View file @
f2e87cae
...
...
@@ -115,7 +115,7 @@ vShowCursor =
getFontInfo
>>>=
\
fontInfo
->
getText
>>>=
\
text
->
setCursorVisibility
True
>>>
vDraw
(
vDrawCursor
end
height
text
fontInfo
)
vDraw
(
vDrawCursor
True
end
height
text
fontInfo
)
)
)
ELSE
(
skip
)
...
...
@@ -131,7 +131,7 @@ vHideCursor =
getText
>>>=
\
text
->
getSelection
>>>=
\{
end
}
->
setCursorVisibility
False
>>>
vDraw
(
vDrawCursor
end
height
text
fontInfo
)
vDraw
(
vDrawCursor
False
end
height
text
fontInfo
)
)
ELSE
(
skip
)
...
...
@@ -157,14 +157,16 @@ vUpdateCursor visible end height fontInfo text viewFrame rectangles =
ELSE
id
vDrawCursor
::
Position
Int
Text
FontInfo
->
(*
Picture
->
*
Picture
)
vDrawCursor
end
cursorHeight
text
fontInfo
=
vDrawCursor
::
Bool
Position
Int
Text
FontInfo
->
(*
Picture
->
*
Picture
)
vDrawCursor
show
end
cursorHeight
text
fontInfo
=
let
p
=
positionToPoint
end
text
fontInfo
{
x
,
y
}
=
p
in
(
appXorPicture
(
seq
[
setPenColour
Black
// ( appXorPicture (seq
// [ setPenColour Black
(
(
seq
[
setPenColour
(
if
show
Black
fontInfo
.
syntaxColours
.
backgroundColour
)
,
drawLine
{
x
=
x
,
y
=
y
}
{
x
=
x
,
y
=
y
+
cursorHeight
-
1
}
])
...
...
Ide/IDE.icl
View file @
f2e87cae
...
...
@@ -112,7 +112,7 @@ Start world
=
Batch
stup
force_update
proj_path
pub
world
where
setupKeyMap
world
#
((
km
,
ok
,_),
world
)
=
accFiles
(
ReadKeyMapFile
(
applicationpath
"default.km"
))
world
#
((
km
,
ok
,_),
world
)
=
accFiles
(
ReadKeyMapFile
(
applicationpath
"
Config
\\
default.km"
))
world
#
keymap
=
if
ok
km
macKeyMapping
=
(
keymap
,
world
)
setupToolBar
show
world
// need to conditionalise for Mac...
...
...
@@ -190,20 +190,20 @@ where
]
ps
#
(
prefs
,
ps
)
=
getPrefs
ps
#
(
ide_vers
,
ide_name
,
ide_path
)
=
GetVNP
// <<< can move this into first_run module
// as function :: (reg_prefs,ps) -> (reg_prefs,ps)
#
pcl_name
=
prefs
.
reg_prefs
.
tp_name
#
pcl_path
=
prefs
.
reg_prefs
.
tp_path
#
hcl_name
=
prefs
.
reg_prefs
.
hp_name
#
hcl_path
=
prefs
.
reg_prefs
.
hp_path
#
flags
=
prefs
.
reg_prefs
.
rp_flags
#
(
res
,
ps
)
=
first_run
ide_vers
ide_name
ide_path
pcl_name
pcl_path
hcl_name
hcl_path
flags
ps
#
(
res
,
flag
,
ps
)
=
first_run
pcl_name
pcl_path
hcl_name
hcl_path
flags
ps
#
ps
=
case
res
of
True
#
flags
=
take
10
[
(
ide_name
,
ide_path
,
ide_vers
)
:
flags
]
True
#
flags
=
take
10
[
flag
:
flags
]
#
prefs
=
{
prefs
&
reg_prefs
.
rp_flags
=
flags
}
->
setPrefs
prefs
ps
_
->
ps
// >>>
#
(
fhRecId
,
ps
)
=
getFHI
ps
#
(
phRecId
,
ps
)
=
getPHI
ps
#
(
menuIds
,
ps
)
=
getMenuIds
ps
...
...
Ide/idehelp.icl
View file @
f2e87cae
...
...
@@ -10,7 +10,7 @@ import Directory, StdTuple
//-- export
IDE_VERSION
:==
"v2.0 build 2001-12-
07
"
:==
"v2.0 build 2001-12-
18
"
// want link(?) date/time to be automatically entered...
+++.
PLATFORM
+++.
CLEAN_VERSION
...
...
Ide/ideoptions.icl
View file @
f2e87cae
...
...
@@ -117,7 +117,7 @@ changeCV cv ps
=
setPrefs
prefs
ps
//import dodebug
import
first_run
,
UtilIO
import
first_run
,
UtilIO
,
PmPath
setTP
tpId
ps
#
(
prefs
,
ps
)
=
getPrefs
ps
...
...
@@ -128,14 +128,16 @@ setTP tpId ps
#
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
}
#
rpath
=
GetFilePath
short
#
(
app_path
,
ps
)
=
getStup
ps
#
spath
=
symAppPath
app_path
(
GetFilePath
full
)
#
ps
=
appPIO
(
setControlText
tpId
(
spath
+++
name
))
ps
#
prefs
=
{
prefs
&
reg_prefs
.
tp_name
=
name
,
reg_prefs
.
tp_path
=
spath
}
#
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
=
change_pcl_registry_fun
ide_name
ide_path
name
r
path
|
errs
==
[]
=
ps
=
ps
...
...
@@ -148,14 +150,16 @@ setHP hpId ps
#
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
}
#
rpath
=
GetFilePath
short
#
(
app_path
,
ps
)
=
getStup
ps
#
spath
=
symAppPath
app_path
(
GetFilePath
full
)
#
ps
=
appPIO
(
setControlText
hpId
(
spath
+++
name
))
ps
#
prefs
=
{
prefs
&
reg_prefs
.
hp_name
=
name
,
reg_prefs
.
hp_path
=
spath
}
#
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
=
change_hcl_registry_fun
ide_name
ide_path
name
r
path
|
errs
==
[]
=
ps
=
ps
...
...
@@ -168,9 +172,11 @@ setPR prId ps
#
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
}
#
rpath
=
GetFilePath
short
#
(
app_path
,
ps
)
=
getStup
ps
#
spath
=
symAppPath
app_path
(
GetFilePath
full
)
#
ps
=
appPIO
(
setControlText
prId
(
spath
+++
name
))
ps
#
prefs
=
{
prefs
&
reg_prefs
.
pr_name
=
name
,
reg_prefs
.
pr_path
=
spath
}
=
setPrefs
prefs
ps
clearRegistry
ps
...
...
Ide/tools.icl
View file @
f2e87cae
...
...
@@ -2,7 +2,7 @@ implementation module tools
import
StdBool
,
StdFunc
,
StdFile
,
StdPStClass
,
StdSystem
import
ExtNotice
,
StdPathname
import
IdeState
,
UtilIO
import
IdeState
,
UtilIO
,
PmPath
//-- call out to supporting applications...
...
...
@@ -23,7 +23,16 @@ shoprofun ps
// 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
)
#
pcl_path
=
prefs
.
reg_prefs
.
tp_path
#
(
app_path
,
ps
)
=
accFiles
GetFullApplicationPath
ps
#
app_path
=
GetLongPathName
app_path
#
pcl_path
=
fulAppPath
app_path
pcl_path
#
pcl_path
=
case
GetShortPathName
pcl_path
of
(
True
,
pcl_path
)
->
pcl_path
_
->
pcl_path
#
timepapp
=
quoted_string
(
pcl_path
+++
prefs
.
reg_prefs
.
tp_name
)
#
sp
=
timepapp
+++
timeparg
+++
profpath
#
stup
=
RemoveFilename
execpath
#
(
ok
,
ps
)
=
accFiles
(
FExists
stup
)
ps
...
...
@@ -41,7 +50,16 @@ shoheapfun ps
// 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
)
#
pcl_path
=
prefs
.
reg_prefs
.
hp_path
#
(
app_path
,
ps
)
=
accFiles
GetFullApplicationPath
ps
#
app_path
=
GetLongPathName
app_path
#
pcl_path
=
fulAppPath
app_path
pcl_path
#
pcl_path
=
case
GetShortPathName
pcl_path
of
(
True
,
pcl_path
)
->
pcl_path
_
->
pcl_path
#
heappapp
=
quoted_string
(
pcl_path
+++
prefs
.
reg_prefs
.
hp_name
)
#
sp
=
heappapp
+++
heapparg
+++
profpath
#
stup
=
RemoveFilename
execpath
#
(
ok
,
ps
)
=
accFiles
(
FExists
stup
)
ps
...
...
@@ -56,7 +74,16 @@ 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
)
#
pcl_path
=
prefs
.
reg_prefs
.
pr_path
#
(
app_path
,
ps
)
=
accFiles
GetFullApplicationPath
ps
#
app_path
=
GetLongPathName
app_path
#
pcl_path
=
fulAppPath
app_path
pcl_path
#
pcl_path
=
case
GetShortPathName
pcl_path
of
(
True
,
pcl_path
)
->
pcl_path
_
->
pcl_path
#
proofapp
=
quoted_string
(
pcl_path
+++
prefs
.
reg_prefs
.
pr_name
)
#
cps
=
proofapp
+++
proofarg
+++
pr_path
#
stup
=
RemoveFilename
pathname
#
(
ok
,
ps
)
=
accFiles
(
FExists
stup
)
ps
...
...
Pm/PmEnvironment.icl
View file @
f2e87cae
...
...
@@ -12,7 +12,7 @@ EnvsFileName :== "IDEEnvs"
emptyTargets
// = [t_StdEnv13,t_StdIO13] // 1.3
=
[
t_StdEnv20
]
// 2.0
=
[
t_StdEnv20
,
t_StdIO20
]
// 2.0
t_StdEnv
::
!
Target
t_StdEnv
...
...
@@ -180,32 +180,6 @@ t_StdEnv13 =
,
target_meth
=
CompileSync
}
t_StdEnv20
::
!
Target
t_StdEnv20
=
{
target_name
=
"StdEnv"
,
target_path
=
(
"{Application}
\\
StdEnv"
:!
Nil
)
,
target_libs
=
PlatformDependant
// ( "{Application}\\StdEnv\\Clean System Files\\user_library"
// :! "{Application}\\StdEnv\\Clean System Files\\gdi_library"
// :! "{Application}\\StdEnv\\Clean System Files\\comdlg_library"
// :! Nil
(
Nil
)
// Win
(
Nil
)
// Mac
,
target_objs
=
Nil
,
target_stat
=
Nil
,
target_comp
=
"cocl.exe"
,
target_cgen
=
"cg.exe"
,
target_link
=
"StaticLinker.exe"
,
target_dynl
=
"DynamicLinker.exe"
,
target_vers
=
916
,
target_redc
=
False
,
target_meth
=
CompilePers
}
t_StdIO13
=
{
target_name
=
"IO 0.8.2"
,
target_path
=
...
...
@@ -232,32 +206,39 @@ t_StdIO13 =
,
target_meth
=
CompileSync
}
t_StdIO20
=
{
target_name
=
"IO 0.8.2"
t_StdEnv20
::
!
Target
t_StdEnv20
=
{
target_name
=
"StdEnv"
,
target_path
=
(
"{Application}
\\
StdEnv"
:!
"{Application}
\\
IOInterface 0.8.2"
(
"{Application}
\\
Libraries
\\
StdEnv 2.0"
:!
Nil
)
,
target_libs
=
PlatformDependant
// ( "{Application}\\StdEnv\\Clean System Files\\user_library"
// :! "{Application}\\StdEnv\\Clean System Files\\gdi_library"
// :! "{Application}\\StdEnv\\Clean System Files\\comdlg_library"
// :! Nil
(
Nil
)
// Win
(
Nil
)
// Win
(
Nil
)
// Mac
,
target_objs
=
Nil
,
target_stat
=
Nil
,
target_comp
=
"
cocl
.exe"
,
target_cgen
=
"
cg
.exe"
,
target_link
=
"StaticLinker.exe"
,
target_dynl
=
"DynamicLinker.exe"
,
target_comp
=
"
Tools
\\
Clean System 2.0.0
\\
CleanCompiler200
.exe"
,
target_cgen
=
"
Tools
\\
Clean System 2.0.0
\\
CodeGenerator200
.exe"
,
target_link
=
"
Tools
\\
Clean System 2.0.0
\\
StaticLinker
11
.exe"
,
target_dynl
=
"
Tools
\\
Clean System 2.0.0
\\
DynamicLinker
11
.exe"
,
target_vers
=
916
,
target_redc
=
False
,
target_meth
=
CompilePers
}
t_StdIO20
=
{
t_StdEnv20
&
target_name
=
"Object IO"
,
target_path
=
(
"{Application}
\\
Libraries
\\
StdEnv 2.0"
:!
"{Application}
\\
Libraries
\\
StdLib 2.0"
:!
"{Application}
\\
Libraries
\\
ObjectIO 1.2.2"
:!
"{Application}
\\
Libraries
\\
ObjectIO 1.2.2
\\
OS Windows"
:!
Nil
)
}
//--
...
...
Pm/PmPrefs.icl
View file @
f2e87cae
...
...
@@ -137,13 +137,13 @@ emptyPrefs =
emptyRegPrefs
=
{
rp_flags
=
[]
,
tp_name
=
"ShowTimeProfile.exe"
,
tp_path
=
"
C:
\\
CLEAN
\\
TOOLS
\\
TIMEPR~1
\\
"
,
tp_path
=
"
{Application}
\\
Tools
\\
Time Profiler 2.0
\\
"
,
hp_name
=
"ShowHeapProfile.exe"
,
hp_path
=
"
C:
\\
CLEAN
\\
TOOLS
\\
HEAPPR~1
\\
"
,
hp_path
=
"
{Application}
\\
Tools
\\
Heap Profiler 2.0
\\
"
,
pr_name
=
"Sparkle.exe"
,
pr_path
=
"
C:
\\
CLEAN
\\
TOOLS
\\
SPARKLE
\\
"
,
ve_name
=
""
,
ve_path
=
""
,
pr_path
=
"
{Application}
\\
Tools
\\
Sparkle 0.0.2a
\\
"
,
ve_name
=
"
VisualEditor.exe
"
,
ve_path
=
"
{Application}
\\
Tools
\\
Visual Editor
\\
"
}
emptyTypPrefs
=
...
...
Registry/first_run.dcl
View file @
f2e87cae
...
...
@@ -2,7 +2,7 @@ definition module first_run
from
StdPSt
import
::
PSt
first_run
::
!
String
!
String
!
String
!
String
!
String
!
String
!
String
![(
String
,
String
,
String
)]
!(
PSt
.
ls
)
->
(!
Bool
,!
PSt
.
ls
)
first_run
::
!
String
!
String
!
String
!
String
![(
String
,
String
,
String
)]
!(
PSt
.
ls
)
->
(!
Bool
,
(
String
,
String
,
String
),
!
PSt
.
ls
)
change_hcl_registry_fun
::
!
String
!
String
!
String
!
String
->
[
String
]
change_pcl_registry_fun
::
!
String
!
String
!
String
!
String
->
[
String
]
GetVNP
::
(
String
,
String
,
String
)
...
...
Registry/first_run.icl
View file @
f2e87cae
...
...
@@ -3,7 +3,7 @@ implementation module first_run
import
StdEnv
,
StdMaybe
import
StdDebug
import
registry
,
version
import
UtilIO
import
UtilIO
,
PmPath
//==
...
...
@@ -26,7 +26,7 @@ where
app_vers
=
ReadVersionInfo
//==
/*
Start`` w = startIO NDI Void pinit [ProcessClose closeProcess] w
pinit ps
...
...
@@ -49,7 +49,7 @@ where
pcl_path = "C:\\CLEAN\\TOOLS\\TIMEPR~1\\"
hcl_name = "ShowHeapProfile.exe"
hcl_path = "C:\\CLEAN\\TOOLS\\HEAPPR~1\\"
*/
GetFileName
::
!
String
->
String
;
GetFileName
path
|
found
=
(
path
%
(
inc
position
,
dec
(
size
path
)));
...
...
@@ -144,37 +144,49 @@ where
|
No
|
Never
first_run
::
!
String
!
String
!
String
!
String
!
String
!
String
!
String
![(
String
,
String
,
String
)]
!(
PSt
.
ls
)
->
(!
Bool
,!
PSt
.
ls
)
first_run
ide_vers
ide_name
ide_path
pcl_name
pcl_path
hcl_name
hcl_path
flags
ps
first_run
::
!
String
!
String
!
String
!
String
![(
String
,
String
,
String
)]
!(
PSt
.
ls
)
->
(!
Bool
,(
String
,
String
,
String
),!
PSt
.
ls
)
first_run
pcl_name
pcl_path
hcl_name
hcl_path
flags
ps
#
(
ide_vers
,
ide_name
,
ide_path
)
=
GetVNP
#
(
app_path
,
ps
)
=
accFiles
GetFullApplicationPath
ps
#
app_path
=
GetLongPathName
app_path
#
pcl_path
=
fulAppPath
app_path
pcl_path
#
pcl_path
=
case
GetShortPathName
pcl_path
of
(
True
,
pcl_path
)
->
pcl_path
_
->
pcl_path
#
hcl_path
=
fulAppPath
app_path
hcl_path
#
hcl_path
=
case
GetShortPathName
hcl_path
of
(
True
,
hcl_path
)
->
hcl_path
_
->
hcl_path
#
(
run
,
ps
)
=
check_flags
ide_vers
ide_path
ide_name
flags
ps
|
not
run
=
(
False
,
ps
)
=
(
False
,
(
ide_name
,
ide_path
,
ide_vers
),
ps
)
#
(
res
,
ps
)
=
check_registry
ide_name
ide_path
ide_vers
ps
=
case
res
of
MyEntry
->
(
False
,
ps
)
MyEntry
->
(
False
,
(
ide_name
,
ide_path
,
ide_vers
),
ps
)
NoEntry
#
(
res
,
ps
)
=
init_dialog
ps
->
case
res
of
Yes
#
(
err
,
ps
)
=
set_registry
ide_vers
ide_name
ide_path
pcl_name
pcl_path
hcl_name
hcl_path
ps
|
err
<>
""
#
ps
=
err_dialog
False
err
ps
=
(
False
,
ps
)
=
(
False
,
ps
)
No
->
(
False
,
ps
)
Never
->
(
True
,
ps
)
->
(
False
,
(
ide_name
,
ide_path
,
ide_vers
),
ps
)
->
(
False
,
(
ide_name
,
ide_path
,
ide_vers
),
ps
)
No
->
(
False
,
(
ide_name
,
ide_path
,
ide_vers
),
ps
)
Never
->
(
True
,
(
ide_name
,
ide_path
,
ide_vers
),
ps
)
DiffEntry
#
(
res
,
ps
)
=
delta_dialog
ps
->
case
res
of
Yes
#
(
err
,
ps
)
=
set_registry
ide_vers
ide_name
ide_path
pcl_name
pcl_path
hcl_name
hcl_path
ps
|
err
<>
""
#
ps
=
err_dialog
False
err
ps
=
(
False
,
ps
)
=
(
False
,
ps
)
No
->
(
False
,
ps
)
Never
->
(
True
,
ps
)
->
(
False
,
(
ide_name
,
ide_path
,
ide_vers
),
ps
)
->
(
False
,
(
ide_name
,
ide_path
,
ide_vers
),
ps
)
No
->
(
False
,
(
ide_name
,
ide_path
,
ide_vers
),
ps
)
Never
->
(
True
,
(
ide_name
,
ide_path
,
ide_vers
),
ps
)
ErrEntry
err
#
ps
=
err_dialog
True
err
ps
=
(
False
,
ps
)
->
(
False
,(
ide_name
,
ide_path
,
ide_vers
),
ps
)
uninstall
::
!(
PSt
.
ls
)
->
(![
String
],!
PSt
.
ls
)
uninstall
ps
...
...
Win/Platform.dcl
View file @
f2e87cae
...
...
@@ -8,6 +8,7 @@ initPlatformCommandLine :: !*(PSt .l) -> (![String],!*PSt .l)
installPlatformEventHandlers
::
!*(
PSt
.
l
)
->
*(
PSt
.
l
)
openPlatformWindowMenu
::
!*(
PSt
.
l
)
->
*(
PSt
.
l
)
ToolsDir
::
String
TooltempDir
::
String
EnvsDir
::
String
PrefsDir
::
String
Win/Platform.icl
View file @
f2e87cae
...
...
@@ -69,20 +69,30 @@ inifilename
=:
apppath
%(
0
,
s
-4
)
+++.
"ini
\0
"
section
=:
"Paths
\0
"
toolkey
=:
"tooltemp
\0
"
toolkey
=:
"tooldir
\0
"
tooltempkey
=:
"tooltemp
\0
"
envskey
=:
"envsdir
\0
"
prefskey
=:
"prefsdir
\0
"
tooldefault
=:
StartUpDir
+++.
"
\\
Temp
\0
"
tooldefault
=:
StartUpDir
+++.
"
\\
Tools
\0
"
tooltempdefault
=:
StartUpDir
+++.
"
\\
Temp
\0
"
envsdefault
=:
StartUpDir
+++.
"
\\
Config
\0
"
prefsdefault
=:
StartUpDir
+++.
"
\\
Config
\0
"
ToolsDir
::
String
ToolsDir
=:
let
(
has_arg
,
arg
)
=
get_arg
"-tooldir"
(
has_env
,
env
)
=
get_env
"TOOLDIR"
ini
=
get_ini
inifilename
section
toolkey
tooldefault
in
if
has_arg
arg
(
if
has_env
env
ini
)
TooltempDir
::
String
TooltempDir
=:
let
(
has_arg
,
arg
)
=
get_arg
"-tooltemp"
(
has_env
,
env
)
=
get_env
"TOOLTEMP"
ini
=
get_ini
inifilename
section
toolkey
tooldefault
ini
=
get_ini
inifilename
section
tool
temp
key
tool
temp
default
in
if
has_arg
arg
(
if
has_env
env
ini
)
EnvsDir
::
String
...
...
Win/UtilIO.icl
View file @
f2e87cae
...
...
@@ -259,14 +259,23 @@ GetLongPathName short_path = expand_8_3_names_in_path short_path;
GetShortPathName
::
!
String
->
(!
Bool
,!
String
);
GetShortPathName
long_path
#!
s_short_path
=
GetShortPathName_
long_path
"
\0
"
0
;
#!
short_path
=
createArray
s_short_path
'\0'
;
#!
result
=
GetShortPathName_
long_path
short_path
s_short_path
;
#!
long_path
=
if
null_terminated
long_path
(
long_path
+++.
"
\0
"
)
#!
(
result
,
short_path
)
=
Helper
long_path
#!
short_path
=
if
null_terminated
short_path
(
short_path
%(
0
,
size
short_path
-
2
))
=
(
result
<>
0
,
short_path
);
where
lsize
=
size
long_path
null_terminated
=
long_path
.[
lsize
-1
]
==
'\0'
Helper
long_path
#!
s_short_path
=
GetShortPathName_
long_path
"
\0
"
0
;
#!
short_path
=
createArray
s_short_path
'\0'
;
#!
result
=
GetShortPathName_
long_path
short_path
s_short_path
;
=
(
result
,
short_path
)
GetShortPathName_
::
!
String
!
String
!
Int
->
!
Int
;
GetShortPathName_
long_path
short_path
s_short_path
=
code {
...
...
Win/dodebug.dcl
View file @
f2e87cae
...
...
@@ -36,3 +36,4 @@ listToString :: [x] -> String | toString x
//instance toString (WItemHandle .ls .ps)
instance
toString
WElementHandle`
instance
toString
WItemHandle`
instance
toString
UpdateInfo
\ No newline at end of file
Win/dodebug.icl
View file @
f2e87cae
...
...
@@ -190,3 +190,10 @@ instance toString WRecursiveKind where
toString
IsWListLSHandle
=
"IsWListLSHandle"
toString
IsWExtendLSHandle
=
"IsWExtendLSHandle"
toString
IsWChangeLSHandle
=
"IsWChangeLSHandle"
instance
toString
UpdateInfo
where
toString
info
=
"{"
+++
toString
info
.
updWIDS
.
wPtr
+++
","
+++
toString
info
.
updWindowArea
+++
// "," +++ toString info.updControls+++
","
+++
toString
info
.
updGContext
+++
"}"
\ No newline at end of file
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment