Timeline



Nov 15, 2023:

9:27 AM Ticket #3980 (Hexadecimal notation in the range 0x80000000 to 0xFFFFFFFFFF) updated by AspirinJunkie
I have compared the behaviour with other dynamically typing languages and none of these languages (Python, Javascript and Ruby) show the same behaviour as AutoIt. The number range is correctly converted into the corresponding variable value. AutoIt does its own thing here and the behaviour is not documented anywhere. The user simply cannot expect this behaviour beforehand.

Nov 14, 2023:

12:01 PM Ticket #3980 (Hexadecimal notation in the range 0x80000000 to 0xFFFFFFFFFF) updated by AspirinJunkie
Yes, it is obvious that it chooses the smallest possible coding. However, this is not the smallest possible coding for the number range in question, which can be recognised by the fact that a completely different number is coded than was specified. 0xffffffffff cannot be coded as Int32 but only as UInt32. The hexadecimal number 0xffffffffff is different from the binary Int32 coding 0xffffffffff. One represents the number 4294967295 and the other the number -1. However, the AutoIt help indicates that the former is meant. Once again: at this point you enter numbers - regardless of their coding. AutoIt then has to select the correct coding for this number. And it fails in this number range. If you enter the number in decimal form, the behaviour does not occur either. The numerical value remains correct and the correct encoding has been selected. Only in hexadecimal notation (which we said is only a mathematical notation and independent of a later encoding) is the wrong encoding selected. A bug is a deviation from the expected or documented behaviour. The AutoIt help clearly states that integer numbers can also be defined in hexadecimal. (Negative via the sign). There is no mention of any restriction of the number range. The behaviour therefore corresponds to a bug by definition.
8:50 AM Ticket #3980 (Hexadecimal notation in the range 0x80000000 to 0xFFFFFFFFFF) closed by J-Paul Mesnage
Rejected: Hi, AutoIt try to fit hex value to minimum variable size So 0xffffffff can be stored in an Int32 If You really wants to take care of a non negative value, as you point out, use 0x0ffffffff Cheers

Nov 12, 2023:

9:51 AM Ticket #3970 (Macro @IsConsole) updated by anonymous
Ok, let there be built-in function IsConsole(), why no? As for examples above I've got my own functions which are almost th same :)

Nov 8, 2023:

12:09 AM Ticket #3979 (APIShellExConstants.au3 : missing entry concerning FOLDERID_Desktop) updated by mLipok
Description changed

Nov 6, 2023:

5:50 PM Ticket #3970 (Macro @IsConsole) updated by jchd18
Yes that, or simpler: always use CW() in place of ConsoleWrite() like this: […] Works for CUI or GUI, compiled or not.

Nov 5, 2023:

1:00 PM Ticket #3981 (Mention Multidimensional Associative Arrays in the wiki) updated by TicketCleanup
Version changed
Automatic ticket cleanup.
12:59 PM Ticket #3981 (Mention Multidimensional Associative Arrays in the wiki) created by lwc
[https://www.autoitscript.com/wiki/Associative_Arrays The wiki's …
12:53 PM Ticket #3964 (Allow EnvGet to support whole strings like _WinAPI_ExpandEnvironmentStrings) updated by lwc
Please don't close like that. In some cases one may want to preserve % in strings and only sometimes convert them. For example, when saving your script's settings you might want to save a parameter called $path as literally %appdata% instead of hardcoding it due to Opt(), so it will fail in another computer. Why not just supporting the aforementioned $full variable?

Nov 3, 2023:

8:39 PM Ticket #3970 (Macro @IsConsole) updated by Andreik
Now we need macros for everything. This can be achieved easily without any macro. […]
10:53 AM Ticket #3980 (Hexadecimal notation in the range 0x80000000 to 0xFFFFFFFFFF) created by AspirinJunkie
In AutoIt, numerical values in the source code can be defined in …
Note: See TracTimeline for information about the timeline view.