AutoHotkey Community

It is currently May 26th, 2012, 5:08 pm

All times are UTC [ DST ]




Post new topic Reply to topic  [ 40 posts ]  Go to page 1, 2, 3  Next
Author Message
PostPosted: February 25th, 2009, 11:41 pm 
Offline

Joined: March 2nd, 2004, 3:36 pm
Posts: 10720
Here are the changes for v1.0.48:

Compatibility: The change most likely to affect backward compatibility is that floating point numbers stored in variables now have higher precision. Scripts that rely on tiny differences in precision would either need to be reviewed and updated, or have their compatibility improved by using "SetFormat Float" (e.g. SetFormat, Float, 0.6) anywhere in the script. "SetFormat Float" disables the higher precision, but gives up some of the new, faster floating point performance.

Performance: The main theme of this release is faster performance. Almost all scripts should run faster -- especially those that make heavy use of expressions and integer math/comparisons (which may run up to three times as fast). To achieve the full benefit, a script either should avoid using SetFormat or should use SetFormat's fast mode.


Performance improvements

Expressions and function calls are compiled more heavily, making them much faster (especially complex integer expressions, including those with commas).

Binary numbers are cached for variables to avoid conversions to/from strings. This makes numerical operations involving variables much faster.

Literal integers in expressions and math/comparison commands are replaced with binary integers, which makes them faster; e.g. X+5 and "if x > 5".

LOOPs, IFs, and ELSEs that have blocks (braces) are faster due to skipping the opening '{'. A side-effect is that the '{' is omitted from ListLines.

Thread-creation performance is improved, which should help rapid-fire threads in OnMessage(), RegisterCallback(), and GUI events.


Changes that might affect existing scripts (other than higher-precision floating point described at the top)

When "SetFormat, Integer, Hex" is in effect, assigning a literal decimal integer to a variable also converts it to hex. Usually this is only a display issue.

For OnMessage() performance, the message number and HWND arrive as standard numbers rather than appearing unconditionally as hex. Usually this is only a display issue.

To achieve various improvements in performance, scripts now use slightly more memory (proportionate to the number of variables and expressions).

Changed and fixed "if var is time" and other uses of YYYYMMDDHHMISS date-time stamps to recognize that months outside the range 1-12 are invalid. [thanks Nick]

Changed and improved dynamic function calling to allow passing more parameters than defined by a function, in which case the parameters are evaluated but discarded. [developed by Lexikos]


Other improvements

Added function IsFunc(), which indicates whether a function may be called dynamically. [developed by Lexikos]

Added the while-loop, which repeats its commands until its expression evaluates to false. [developed by Lexikos]

Added an assume-static mode for functions. [developed by Lexikos]

Added built-in variables A_IsPaused and A_IsCritical. [developed by Lexikos]

Improved NumPut() to support UInt64 like DllCall(). [thanks Sean]

Improved mouse wheel support by adding WheelLeft and WheelRight as hotkeys and supporting them in Send, Click, and related commands. However, WheelLeft/Right has no effect on operating systems older than Windows Vista. [developed by Lexikos]

Upgraded compiled script compressor from UPX 3.00 to 3.03.


Fixes

Fixed inability to use MsgBox's timeout parameter when the "Text" parameter had an expression containing commas.

Fixed "Menu, Delete, Item-that's-a-submenu" not to disrupt the associated submenu. [thanks animeaime & Lexikos]

Fixed the GUI Hotkey control to return usable hotkey names even for dead keys (e.g. "^" instead of Zircumflex). [thanks DerRaphael]

Fixed RegDelete so that it won't delete an entire root key when SubKey is blank. [thanks Icarus]

Fixed registry loops to support subkey names longer than 259 (rare). In prior versions, such subkeys would either be skipped or cause a crash. [thanks Krzysztof Sliwinski & Eggi]

Fixed FileSelectFolder by providing an option to make it compatible with BartPE/WinPE. [thanks markreflex]

Fixed window/control IDs (HWNDs), which in rare cases wrongly started with 0xFFFFFFFF instead of just 0x. [thanks Micahs]

Fixed inability of Send commands to use the Down/Up modifiers with the "}" character. [thanks neovars]


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: February 25th, 2009, 11:49 pm 
Offline

Joined: May 2nd, 2006, 11:16 pm
Posts: 800
Location: Greeley, CO
Yea!

_________________
Image
SoggyDog
Dwarf Fortress:
"The most intriguing game I've ever played."


Last edited by SoggyDog on February 26th, 2009, 2:43 am, edited 1 time in total.

Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: February 26th, 2009, 12:45 am 
Offline

Joined: October 7th, 2006, 4:50 pm
Posts: 3157
Location: MN, USA
Ditto!

Edit: Is there a reason for the different syntax style of the While-Loop, as opposed to
Code:
Loop, While, Expression
...like the other loop commands?


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: February 26th, 2009, 1:28 am 
Offline

Joined: April 18th, 2008, 7:57 am
Posts: 1390
Location: The Interwebs
Great job, Chris! Not only a speed update but also quite a few good features from Lexikos' branch of AHK.

The only other thing from Lexikos' that I wish was in this one is the #If hotkey modifier, but it's still very nice to see an official update :D


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: February 26th, 2009, 1:50 am 
Offline

Joined: March 2nd, 2004, 3:36 pm
Posts: 10720
jaco0646 wrote:
Is there a reason for the different syntax style of the While-Loop, as opposed to
Code:
Loop, While, Expression
...like the other loop commands?
The main reason is that a simple While is used in many other languages, which cuts down the learning curve when going to or coming from other languages.

Krogdor wrote:
The only other thing from Lexikos' that I wish was in this one is the #If hotkey modifier, but it's still very nice to see an official update :D
Hopefully that and some of the other features will be added in the next major release, or maybe a sooner, minor one.


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: February 26th, 2009, 2:50 am 
Offline
User avatar

Joined: December 21st, 2007, 3:14 pm
Posts: 3826
Location: Louisville KY USA
jaco0646 wrote:
Edit: Is there a reason for the different syntax style of the While-Loop, as opposed to
Code:
Loop, While, Expression
...like the other loop commands?
Actually i find this more apporpriate
than
Code:
Loop, While, Expression
Tho i can see how your suggestion fits the rest of the ahk syntax scheme more.
but the
Code:
While Expression
syntax feels more natural comming from other languages

_________________
No matter what your oppinion Please join this discussion
Formal request to Polyethene
Image


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: February 26th, 2009, 8:29 am 
Offline
User avatar

Joined: December 29th, 2004, 1:28 pm
Posts: 2542
Thanks :) Time to play...


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: February 26th, 2009, 11:16 am 
Online
User avatar

Joined: May 5th, 2007, 7:24 pm
Posts: 1240
Location: Seville, Spain
Finally! :P :P :P

:D :) :shock: :P :o :lol:

A lot of emotions are running through my nerves!

_________________
fincs
Highly recommended: AutoHotkey_L (see why) (all my code snippets require it)
Formal request to polyethene - I support the unity of the AutoHotkey community
Get SciTE4AutoHotkey v3.0.00 (Release Candidate)
[My project list]


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: February 26th, 2009, 1:05 pm 
Offline

Joined: February 12th, 2007, 7:54 am
Posts: 2462
Long awaited! All my scripts are now fully functional with the new build.


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: February 26th, 2009, 2:42 pm 
Offline

Joined: October 17th, 2006, 4:15 pm
Posts: 7502
Location: Australia
Thanks Chris. I've brought AutoHotkey_L in line with the new version. :)


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: February 26th, 2009, 5:02 pm 
Offline

Joined: January 31st, 2005, 9:50 am
Posts: 3910
Location: Bremen, Germany
Thank you Chris and Lexikos, much appreciated.

_________________
Ciao
toralf
Image


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: February 26th, 2009, 7:49 pm 
Offline

Joined: February 5th, 2007, 3:37 pm
Posts: 31
Thank you! Much appreciated :D


Top
 Profile  
Reply with quote  
 Post subject: Thanks a lot
PostPosted: February 26th, 2009, 10:34 pm 
Offline

Joined: November 24th, 2005, 8:16 am
Posts: 851
Chris,

Thanks a lot for this release and thanks for implementing the RegDelete fix.
I can sleep a little better now.

Even though I am not following the Lexikos branch, it is obvious that it has great contribution to the official build as well - so thanks a lot for that Lexikos.

AHK forever. (t-shirt? :) )

_________________
Sector-Seven - Freeware tools built with AutoHotkey


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: February 27th, 2009, 10:57 am 
Offline

Joined: July 15th, 2005, 3:19 pm
Posts: 140
Location: Denmark
Great work Chris and Lexikos! Big thanks also to Sean, Nick, Icarus, DerRaphael, Animeaime, Markreflex, Krzysztof Sliwinski, Eggi, Micahs and Neovars for contributing!


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: February 27th, 2009, 7:56 pm 
Offline

Joined: November 7th, 2006, 9:47 pm
Posts: 1934
Location: Germany
Thanks Chris, thats a great update. And thank you to Lexikos, who has developed some of the new elements like While Expression.


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 40 posts ]  Go to page 1, 2, 3  Next

All times are UTC [ DST ]


Who is online

Users browsing this forum: No registered users and 4 guests


You cannot post new topics in this forum
You can reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Powered by phpBB® Forum Software © phpBB Group