Jump to content


Photo

AutoHotkey_L v1.1.05.05


  • Please log in to reply
30 replies to this topic

#1 Lexikos

Lexikos
  • Administrators
  • 8832 posts

Posted 08 October 2011 - 05:44 AM

1.1.05.00

Added Client coordinate mode.
Added object output mode for RegExMatch and RegEx callouts.
Added super-global declarations, which avoid the need to repeat global declarations.
Breaking change: Class declarations such as Class ClassName now create a super-global variable instead of an ordinary global.
Added more detail to unhandled exception error dialogs.

Changed Gui +Owner to work even after the GUI is created.
Changed instance var declarations in class definitions to avoid leaving empty key-value pairs in the class object.
Changed #Include to use standard error message formatting when it fails (more detail; also respects ErrorStdOut).
Changed Throw to throw an Exception object by default when its parameter is omitted.
Changed format of runtime error messages slightly to improve consistency and code size.
Modified PCRE to use UTF-16 for input on Unicode builds, for performance.
Upgraded PCRE to 8.13.

Fixed thread not exiting as intended when an assignment in an expression fails.
Fixed #MaxMem preventing assignments to variables which don't require expansion.
Fixed inability of Try/Catch to catch COM errors.
Fixed GuiControlGet incorrectly treating parameter #2 as invalid in some cases.
Fixed input vars being resolved too soon, allowing them to be invalidated by an expression later on the same line.
Fixed RegEx callouts not causing matching to abort when an exception is thrown.
Fixed DllCall setting ErrorLevel to -4 when it should be -3.
Fixed While appearing twice in ListLines for its first iteration.
Fixed Try/Catch to allow If/Loop/For/While with no enclosing block.
Fixed enumerator object not being released when Until is used to break a For-loop.
Fixed some other bugs specific to the beta release.

1.1.05.01

Fixed class declarations to allow directives such as #Include.

1.1.05.02

Fixed false detection of end-of-file when loading a compiled script in some cases.
Fixed SendInput to automatically release modifier keys when sending special characters or {U+xxxx} (which was broken by v1.1.00.01).
Fixed ComObjConnect to filter out non-dispatch interfaces instead of allowing the script to crash.
Fixed new %VarContainingClassName%().

1.1.05.03

Fixed Loop ... Until VarContainingObject.

1.1.05.04

Fixed: Selected sub-command of ControlGet was unreliable on x64.
Fixed: CPU was maxed out while waiting if an underlying thread displayed a dialog (and possibly in other cases).

1.1.05.05

Fixed continue n misbehaving when an inner loop has no braces.
Fixed RegExMatchObject[Name] to work correctly with duplicate names.
Fixed the installer to write to the correct section of the registry when installing 64-bit.
Fixed the installer to not write Ahk2Exe.exe into App Paths if the compiler is not installed.

Downloads (etc.)



#2 Learning one

Learning one
  • Members
  • 1292 posts

Posted 08 October 2011 - 06:57 AM

Great! I especially like the fact that now we can use classes from inside any other class or function without global declaration! :D :D
Client coord mode and object output mode for RegExMatch and RegEx callouts are also very nice!

Thank you! :D

#3 HotKeyIt

HotKeyIt
  • Fellows
  • 6119 posts

Posted 08 October 2011 - 08:17 AM

Great work, thank you very much ;)

#4 fincs

fincs
  • Fellows
  • 1528 posts

Posted 08 October 2011 - 09:58 AM

Great, keep up the hard work! :D

#5 Tuncay

Tuncay
  • Members
  • 1943 posts

Posted 08 October 2011 - 10:31 AM

Modified PCRE to use UTF-16

Good work!

Class ClassName now create a super-global

Really needed.

Fixed RegEx callouts not causing matching to abort when an exception is thrown.

Thanks.

AHK gets better and better.

#6 fragman

fragman
  • Members
  • 1591 posts

Posted 08 October 2011 - 11:57 AM

Very nice!

I actually wrote code yesterday that depends on the empty keys of instance variables in the class object, but it shouldn't be an issue to rewrite it and it's much more consistent now.

Having (class names global / global var names) also made me need to rewrite some stuff as I used the same names in function parameters sometimes, but the advantages are much bigger!

#7 Lexikos

Lexikos
  • Administrators
  • 8832 posts

Posted 08 October 2011 - 01:16 PM

Having (class names global / global var names) also made me need to rewrite some stuff as I used the same names in function parameters sometimes,

Function parameters and explicitly declared locals take precedence over super-globals, so that should no more be a problem than it was when explicit global declarations were required. There was a bug which caused a function parameter to be seen as a "duplicate parameter" if a super-global was previously declared with that name, but that was fixed prior to this release.

#8 Frankie

Frankie
  • Members
  • 2930 posts

Posted 08 October 2011 - 01:19 PM

RE superglobals:
Now we can remove a few hacks from our code and make everything neater. (I had a function that returned a handle to a class, and another one that created a new instance... so sloppy.)

#9 nimda

nimda
  • Members
  • 4300 posts

Posted 08 October 2011 - 03:36 PM

I turned on my computer, and the update script notified me of 1.1.05! What a great start to the morning.

I really love the changes to RegExMatch, thanks! :D

#10 just me

just me
  • Members
  • 1173 posts

Posted 08 October 2011 - 08:28 PM

Super-global variables [v1.1.05+]: If a global declaration appears outside of any function, it takes effect for all functions by default. This avoids the need to redeclare the variable in each function. However, if a function parameter or local variable with the same name is declared, it takes precedence over the global variable. Variables created by the class keyword are also super-global.

I'd assume this means that there is no chance to declare super-globals within a class or function or to prevent a class from being super-global?

#11 fragman

fragman
  • Members
  • 1591 posts

Posted 08 October 2011 - 10:35 PM

Having (class names global / global var names) also made me need to rewrite some stuff as I used the same names in function parameters sometimes,

Function parameters and explicitly declared locals take precedence over super-globals, so that should no more be a problem than it was when explicit global declarations were required. There was a bug which caused a function parameter to be seen as a "duplicate parameter" if a super-global was previously declared with that name, but that was fixed prior to this release.

Yes that's what I meant, I didn't realize this was a bug. I started converting my code with the beta versions. It wasn't that bad though, because I could use it to find those potential naming conflicts.

#12 clackwell

clackwell
  • Guests

Posted 12 October 2011 - 10:44 PM

The link with the text...

Unicode x86 - recommended for new scripts.


...at http://www.autohotke...s/AutoHotkey_L/ goes to http://www.autohotke... ... 110401.zip.

Is this intended?



As a quick help for people, the download link for v1.1.5.0 x86 seems to be:

http://www.autohotke... ... 110500.zip



Thank you for AutoHotkey_L.



With best regards

clackwell

#13 Lexikos

Lexikos
  • Administrators
  • 8832 posts

Posted 13 October 2011 - 12:27 AM

The links shown on the AutoHotkey_L homepage are redirects to the downloads for the current version. These redirects are updated automatically whenever I release a new version; the problem is that your browser has cached the redirect.

#14 guest3456

guest3456
  • Members
  • 1324 posts

Posted 13 October 2011 - 03:11 PM

The links shown on the AutoHotkey_L homepage are redirects to the downloads for the current version. These redirects are updated automatically whenever I release a new version; the problem is that your browser has cached the redirect.


many ppl seem to have this problem

i'm not sure how this would work with a redirect, but surely theres gotta be a way

you can prevent client browsers from caching a file by setting some http headers either in the html or in the htaccess file. i don't know if you are able to modify the htaccess files on ahk.net hosting.

just a quick search for examples of headers to set:

<!-- m -->http://stackoverflow... ... h-htaccess<!-- m -->

#15 Lexikos

Lexikos
  • Administrators
  • 8832 posts

Posted 13 October 2011 - 09:51 PM

I've added nocache as per this blog post. Maybe that'll help.