Hello everyone!
Cross-platform support imho is not too necessary. AutoIt was designed as a Windows-oriented tool from the very start…
Multithreading? Easy to say but may take a long time and too much efforts to implement.
Other features:
Variables/constants must be pre-declared. Therefore no chances for a whole lot of nasty bugs caused by such undeclared ones.
Basic set of preprocessor capabilities as #define/#undefine, #if/#elseif/#endif might be useful.
At this moment, Local and Global declarations in main module are equivalent. I suggest Local declarations to be not accessible within functions, for example
Global $a
Local $b
; some code ....
Func Test()
ConsoleWrite($a) ; Ok
ConsoleWrite($b) ; should cause compile-time error
EndFunc
Introduce Scope/EndScope block for temporary local variables/constants, and declare own local ones like here
Local $a, $b, $c
; some code ....
Scope
Local $a ; not the same as $a declared above
Local $x, $y ; accessible within this block only
; some code ....
EndScope
ConsoleWrite($x) ; ERROR! $x is not declared at this point
While(True)
Local $x ; same behavior as within scope/endsope block above
; some code ....
WEnd
For $i = 1 to 10 ; if $i is not declared yet, it's declared and visible within For/Next only
Local $k ; same behavior as within scope/endsope block above
; some code ....
Next
; and so on
PS Sorry for my weak English