Jump to content

Sky Slate Blueberry Blackcurrant Watermelon Strawberry Orange Banana Apple Emerald Chocolate
Photo

AutoHotkey_L v1.0.92.02


  • Please log in to reply
18 replies to this topic
Lexikos
  • Administrators
  • 9844 posts
  • AutoHotkey Foundation
  • Last active:
  • Joined: 17 Oct 2006
1.0.92.00 - January 13, 2011
Added support for compound assignments with objects, such as x.y += z.
Improved IniWrite in Unicode builds to prevent an empty line from appearing at the top of each new file.
Improved the parser to be more permissive about what can follow {/}/Else, especially when combined.

1.0.92.01 - January 18, 2011
Changed: FileCreateDir now sets A_LastError.
Fixed: GuiControl() or similar was sometimes misinterpreted as a command.

1.0.92.02 - January 19, 2011
Fixed a memory leak which occurred when the return value of an object invocation or built-in function was not used, such as file.ReadLine() or SubStr(x,y,z) alone on a line.
Replaced the fix from v1.0.92.01 with a better fix, which also fixes k::MsgBox(),x:=y and doesn't break if().

Downloads and More

Carrozza
  • Members
  • 214 posts
  • Last active: Mar 02 2016 09:51 AM
  • Joined: 05 Jul 2009
Thank you, Lexikos!

fragman
  • Members
  • 1591 posts
  • Last active: Nov 12 2012 08:51 PM
  • Joined: 13 Oct 2009
Very nice!

Frankie
  • Members
  • 2930 posts
  • Last active: Feb 05 2015 02:49 PM
  • Joined: 02 Nov 2008

Added support for compound assignments with objects, such as x.y += z.

I've been wanting this for a while. Thank you!
aboutscriptappsscripts
Request Video Tutorials Here or View Current Tutorials on YouTube
Any code ⇈ above ⇈ requires AutoHotkey_L to run

HotKeyIt
  • Moderators
  • 7439 posts
  • Last active: Jun 22 2016 09:14 PM
  • Joined: 18 Jun 2008
That is great :)
How about
obj.1++
obj.1--
Does not work currently

Lexikos
  • Administrators
  • 9844 posts
  • AutoHotkey Foundation
  • Last active:
  • Joined: 17 Oct 2006

Compound Assignments [v1.0.92+]

Compound assignments behave like their more verbose counterparts. For example, x.y += 1 is equivalent to x.y := x.y + 1 and therefore may trigger the __Get and __Set meta-functions. Note that the parameters are evaluated only once; for instance, arr[i++] *= 2 will only increment i once, whereas arr[i++] := arr[i++] * 2 would increment it twice.

Currently the increment and decrement operators are not supported. Instead of ++x.y, use x.y += 1.

Source: Objects



HotKeyIt
  • Moderators
  • 7439 posts
  • Last active: Jun 22 2016 09:14 PM
  • Joined: 18 Jun 2008
I see, thanks.

jethrow
  • Moderators
  • 2854 posts
  • Last active: May 17 2017 01:57 AM
  • Joined: 24 May 2009
Thanks for the continued work/updates Lexikos :D . Is it fair to say you're working toward object (values) operating like variables? I ask partially in regards to the future of auto-concat. If an object value contains a string, would this still auto-concat?
str := obj[key] 2+3 ; ???
str := var 2+3 ; this still will - correct?
str := "string" 2+3 ; this will
These updates are great - I'm highly anticipating json syntax :) .

Lexikos
  • Administrators
  • 9844 posts
  • AutoHotkey Foundation
  • Last active:
  • Joined: 17 Oct 2006

Is it fair to say you're working toward object (values) operating like variables?

No.

I ask partially in regards to the future of auto-concat.

Does that mean you also ask partially in regards to something else?

If an object value contains a string, would this still auto-concat?

As a wise man once said, I am not able rightly to apprehend the kind of confusion of ideas that could provoke such a question. I have three possible futures in mind for auto-concat:
[*:1car3jma]It is eliminated entirely, as suggested in the AutoHotkey v2 document.
[*:1car3jma]It is allowed only if one of the operands is a "literal string", as stated in the roadmap document.
[*:1car3jma]It is left as-is.Variables and objects don't enter into the equation.

jethrow
  • Moderators
  • 2854 posts
  • Last active: May 17 2017 01:57 AM
  • Joined: 24 May 2009

Variables and objects don't enter into the equation

OK - I was thinking a variable containing a "literal string" would also qualify in possible futures #2.

Does that mean you also ask partially in regards to something else?

Yes

Thanks for clearing that up, & thanks for the continued efforts :) .

Eedis
  • Members
  • 1775 posts
  • Last active: Aug 14 2015 06:33 PM
  • Joined: 12 Jun 2009
So is there some kind of updater/patch you can download and install instead of having to reinstall?
AutoHotkey state, the forum, Poly, and Drainx1. The short story.
I love my wife, my life, my atomic-match; for giving me the greatest gift a man could ask for, such a perfect and beautiful little girl.
9rjbjc.png

sinkfaze
  • Moderators
  • 6367 posts
  • Last active: Nov 30 2018 08:50 PM
  • Joined: 18 Mar 2008

So is there some kind of updater/patch you can download and install instead of having to reinstall?


You don't have to re-install, you can always get the zip files:

Binaries:

* Unicode x86 - recommended for new scripts.
* Unicode x64 - for increased performance on 64-bit systems.
* ANSI x86 - better compatibility with some older scripts.



Lexikos
  • Administrators
  • 9844 posts
  • AutoHotkey Foundation
  • Last active:
  • Joined: 17 Oct 2006

I was thinking a variable containing a "literal string" ...

I don't know why you'd ever call a variable's value a literal string. I meant a string written literally in the script itself, otherwise I would've just written "string" instead of "literal string". In the examples I gave, "x" y and x "y", it isn't known whether the variables x and y contain strings; the variable references could be replaced with any other expression.

So is there some kind of updater/patch you can download and install instead of having to reinstall?

What's the problem with reinstalling? You don't even need to uninstall first.

you can always get the zip files

Don't forget the Documentation... I might also update the Compiler, but that happens very rarely.

Lexikos
  • Administrators
  • 9844 posts
  • AutoHotkey Foundation
  • Last active:
  • Joined: 17 Oct 2006

1.0.92.01 - January 18, 2011
Changed: FileCreateDir now sets A_LastError.
Fixed: GuiControl() or similar was sometimes misinterpreted as a command.

I've also made some improvements to the installer and written an update script.

Installer Command-line Usage
[*:2cztwwnj]/S (silent) works as before, but now defaults to the Unicode build.
[*:2cztwwnj]/ANSI installs the ANSI build.
[*:2cztwwnj]/x64 installs the 64-bit build.
[*:2cztwwnj]/D=C:\Path to Install overrides the default path. This is a standard NSIS switch, but wasn't working with older versions of the installer.
[*:2cztwwnj]If /D isn't used and AutoHotkey is already installed, the path is retrieved from the registry.Run as administrator
The installer adds a "Run as administrator" option to the context menu for all scripts if UAC is enabled at the time of installation. Alternatively,
RegWrite REG_SZ, HKCR, AutoHotkeyScript\Shell\RunAs\Command,, "%A_AhkPath%" "`%1" `%*
Update Script
An update script is included in the installer and is accessible via "Check for updates" in the Start menu.
[*:2cztwwnj]It checks for updates to itself before doing anything else. This can be disabled in the script.
[*:2cztwwnj]It updates whichever AutoHotkey.exe was used to run it, so portable installations can be updated by dragging the script onto AutoHotkey.exe. AutoHotkey_Lw.zip, 'La.zip or 'Lw64.zip is chosen as appropriate.
[*:2cztwwnj]If the Compiler directory exists, AutoHotkeySC.bin is replaced with whatever version came in the zip.
[*:2cztwwnj]If Compiler\Ahk2Exe.exe exists, it is updated.
[*:2cztwwnj]If AutoHotkey.chm exists, it is updated.
[*:2cztwwnj]It can be run by a limited user, and will trigger a UAC prompt or Run As dialog only if and when necessary.
[*:2cztwwnj]If any scripts are still running with the old executable, it offers to automatically reload them.
[*:2cztwwnj]The old executable is renamed to AutoHotkey.exe.<version>.bak to allow the update to proceed even if the file is in use. It is deleted before the script exits if possible, otherwise it attempts to schedule the file for deletion on reboot. This can be disabled in the script by setting KeepBackup = 1.
[*:2cztwwnj]Passing SuppressUpToDate on the command-line suppresses the "AutoHotkey is up to date" message, i.e. for scheduling update checks.
[*:2cztwwnj]It requires Windows XP or later, to extract the zips.

IsNull
  • Moderators
  • 990 posts
  • Last active: May 15 2014 11:56 AM
  • Joined: 10 May 2007
<!-- m -->http://www.autohotke...pic.php?t=67453<!-- m --> :cry:

But thanks for the nice updates, there are some good syntax goodies more now :)