Timeline
Jun 19, 2014:
- 7:07 PM Ticket #2756 (FileCreateShortcut function is not working properly in Windows 2008 R2) created by
- FileCreateShortcut function is not working properly in Windows 2008 …
- 2:27 PM Ticket #2755 (SetError - Description) closed by
- Fixed: Fixed by revision [10231] in version: 3.3.13.0
Jun 17, 2014:
- 11:21 AM Ticket #2755 (SetError - Description) created by
- in description there is: […] It is not complementary. Please …
Jun 13, 2014:
- 5:04 PM Ticket #2733 (WM_SETCURSOR doesn't pass $wParam as handle after using GUICtrlSetCursor) updated by
- I think the point being made was that when you don't use GUICtrlSetCursor in the exact same script, $wParam will return the label's handle when the cursor is over it. When you use GUICtrlSetCursor you never see that information.
- 1:41 PM Ticket #2754 (Bug in guiSetState( @SW_RESTORE, $gui ) ....) closed by
- No Bug: No bug - just use […] to prevent the default Windows code running as well as your own. M23
- 1:16 PM Ticket #2731 (AU3Check error on objects that contain properties with name (.To)) updated by
- sorry all is fine in this script i was used: […]
- 10:31 AM Ticket #2731 (AU3Check error on objects that contain properties with name (.To)) updated by
- cramp see what the problem why if I use CTRL+F5 in SciTE4AutoIt then Beta version of Au3Check is running ? […]
- 10:27 AM Ticket #2731 (AU3Check error on objects that contain properties with name (.To)) updated by
- no I download it today (again to be sure) […]
- 6:51 AM Ticket #2754 (Bug in guiSetState( @SW_RESTORE, $gui ) ....) created by
- I basicly just redefine Minize, Maximize, Restore and Close ... …
Jun 11, 2014:
- 8:38 AM Ticket #2752 (AutoIt Help omits the precedence of the ternary operator) updated by
- Want it or not the OP is right and ?: is indeed an operator which currently has a too high precedence. It is also not listed in precedence.
- 6:01 AM Ticket #2731 (AU3Check error on objects that contain properties with name (.To)) updated by
- I hope the beta .exe is OK for everybody. Cheers
- 6:00 AM Ticket #2731 (AU3Check error on objects that contain properties with name (.To)) closed by
- Fixed
- 4:33 AM Ticket #2752 (AutoIt Help omits the precedence of the ternary operator) updated by
- Replying to lcofresi: > It is listed as a "Conditional Operator" in the help page mentioned. As for the tickets, check recent tickets in bugs refused and features requested. Out of 4 tickets regarding the ternary operator, 3 of them were from you. I still don't see anyone but yourself being confused.
- 1:51 AM Ticket #1946 (_WordCreate Error?) updated by
- This information save me a lot. But it's very hard find out the latest version of word.au3. I had download the latest version of AutoIt, after install, there is no word.au3 module at all. I got one from an old version of AutoIt install, and modify it based on this information. It works on my Win7 now. Thanks!
- 1:51 AM Ticket #1946 (_WordCreate Error?) updated by
- This information save me a lot. But it's very hard find out the latest version of word.au3. I had download the latest version of AutoIt, after install, there is no word.au3 module at all. I got one from an old version of AutoIt install, and modify it based on this information. It works on my Win7 now. Thanks!
- 12:37 AM Ticket #2750 (Ternary Operator Should Have the Lowest Precedence) updated by
- Replying to Melba23: > Furthermore, I fail to see why not having parentheses would produce "less confusion" - to my mind it is very likely to create more as the various elements of the ternary syntax become less distinct. Less confusion though less unexpected results. The documentation right now doesn't help. Most programmers will think, if they went as far as reading the page about the conditional operator: "Why should I use parentheses? I never did, and I can still understand it. There is no reason for me to respect that remark: It doesn't illustrate the necessarity (Who dares to criticize my programming style?), and I know the operator precedence of C and so many other languages, I won't even think about the possibility that somebody might risk changing it." Is it a good idea to irritate them with something so simple?
Jun 10, 2014:
- 7:23 PM Ticket #2731 (AU3Check error on objects that contain properties with name (.To)) updated by
- Beta available that fixes this issue: http://www.autoitscript.com/autoit3/scite/download/beta_SciTE4AutoIt3/Au3Check.exe
- 7:21 PM Ticket #2753 ("To" keyword incorrectly parsed in COM object) closed by
- Duplicate: Duplicate of #2731
- 6:14 PM Ticket #2729 (32-bit integers converted to doubles after division) updated by
- Perhaps someone should close this. I'm not always able to test stuff (temporary situation) and I keep misinterpreting what people say to me. Some things seem not to be working the way I expect and I'm not sure exactly what the problem is. Floor() was not the causing the problem I encountered.
- 1:45 PM Ticket #2752 (AutoIt Help omits the precedence of the ternary operator) closed by
- Rejected: Rejected - for explanation see http://www.autoitscript.com/trac/autoit/ticket/2750#comment:4
- 1:44 PM Ticket #2750 (Ternary Operator Should Have the Lowest Precedence) closed by
- Rejected: Much clearer thanks. Personally I do not regard the ternary operator as a true operator, more as a condensed If (in fact it replaced the _IIf UDF). So I not believe that it has a precedence as such and the use of parentheses to make sure that the various expressions within the ternary operator are correctly parsed is entirely proper and necessary. I would consider it a parallel with the requirement to use parentheses with Not on occasion to ensure that only the correct element is affected. We clearly say in the Help file: […] This remark was added to cater for cases where operator precedence needed to be specified - such as the one you have mentioned above. Furthermore, I fail to see why not having parentheses would produce "less confusion" - to my mind it is very likely to create more as the various elements of the ternary syntax become less distinct. So I am rejecting this request. M23
- 12:30 PM Ticket #2753 ("To" keyword incorrectly parsed in COM object) updated by
- Before post track ticket read forum and ask on forum for support http://www.autoitscript.com/forum/topic/161795-maybe-an-issue-on-au3check-with-autoit-v33120/
- 10:52 AM Ticket #2753 ("To" keyword incorrectly parsed in COM object) created by
- The "To" keyword is incorrectly parsed when used as a COM object …
- 9:18 AM Ticket #2729 (32-bit integers converted to doubles after division) updated by
- I have discovered Floor() is also returning doubles when it used to return 32-bit integers. I imagine Ceiling() will do the same. People seem to have either overlooked these apparently language-breaking alterations, or don't consider them a problem. I personally consider these changes to be major. Although I haven't upgraded, because it seems it will take me several months I tend to follow discussions. I never saw discussions about changes to the behavior of these functions.
- 6:08 AM Ticket #2752 (AutoIt Help omits the precedence of the ternary operator) updated by
- It is listed as a "Conditional Operator" in the help page mentioned. As for the tickets, check recent tickets in bugs refused and features requested.
- 1:59 AM Ticket #2752 (AutoIt Help omits the precedence of the ternary operator) updated by
- It's not really an operator though is it? It's more of a compact IF statement. BTW, how is it causing confusion and where are the tickets you mention?
- 1:26 AM Ticket #2741 (_WinAPI_DrawThemeEdge - $BDR_* , $EDGE_* , $BF_* constants) updated by
- The following function was updated as requested.
- 1:00 AM Ticket #2752 (AutoIt Help omits the precedence of the ternary operator) updated by
-
Version changed
Automatic ticket cleanup. - 12:17 AM Ticket #2752 (AutoIt Help omits the precedence of the ternary operator) created by
- The page "Language Reference - Operators" in the AutoIt Help fails to …
Jun 9, 2014:
- 10:47 PM Ticket #2750 (Ternary Operator Should Have the Lowest Precedence) updated by
-
Replying to Melba23:
> You can already use And & Or inside the first part of a ternary expression
Sorry for being inaccurate. It should have been: "That allows the use of an and-expression and or-expression as the first part of a conditional-operator-expression (without a wrapping parentheses-expression)." Better?
> So what exactly is your request?
A change of the operator precedence for less necessary parentheses and less confusion. The first part of a ternary expression would never need to be a parentheses expression (assuming the use of
==for comparison in some special cases). - 10:44 PM Ticket #2741 (_WinAPI_DrawThemeEdge - $BDR_* , $EDGE_* , $BF_* constants) updated by
- Please reply whether my changes in this regard were made directly or have some moderation, such as language ? I'm preparing another of this type (this time as a single Track Ticket - all in one zip file) but I would like to know to save you a possible correction.
- 10:38 PM Ticket #2749 (COM Object Examples - proposal / fixed / question) updated by
- Replying to Jpm: > The complete autoitscript web page is the site page I will correct also Sorry but, I do not understand to what you refering ?
- 10:03 PM Ticket #2751 (SampleControls.au3 - proposal) closed by
- Completed: Added by revision [10217] in version: 3.3.13.0
- 9:34 PM Ticket #2748 (_WinAPI_SaveHBITMAPToFile in WinAPIGdi.au3 is bugged) closed by
- Fixed: Fixed by revision [10211] in version: 3.3.13.0
- 9:34 PM Ticket #2751 (SampleControls.au3 - proposal) created by
- Proposal added #Region and GUICtrlSetTip() some other minior changes.
- 9:22 PM Ticket #2749 (COM Object Examples - proposal / fixed / question) closed by
- Fixed: Fixed by revision [10210] in version: 3.3.13.0
- 8:51 PM Ticket #2748 (_WinAPI_SaveHBITMAPToFile in WinAPIGdi.au3 is bugged) updated by
- The problem with the second part of the complaint (or at least with part of it) is in the _WinAPI_DrawBitmap() function. The line 1431, at the end of the function reads If Not $iError Then Return SetError(10, 0, 0) It should be of course If $iError Then Return SetError(10, 0, 0)
- 8:47 PM Ticket #2749 (COM Object Examples - proposal / fixed / question) updated by
- The complete autoitscript web page is the site page I will correct also
- 8:46 PM Ticket #2747 (Nested ternary operator returns incorrect results) updated by
- Replying to lcofresi: > Replying to anonymous: > > Replying to jchd18: > > > No bug here: you must use parenthesis to enclose the coumpound condition. > > Then the ternary operator has the wrong precedence. That operator should always have the lowest precedence. > > Can you see that parenthesis are being used ? > > This is what the interpreter should do: > > (1) First, solve the INNER parenthesis: > > ($v2 = 2 or $v2 = 3 ? 0 : 8) > > That should return 0 > > (2) Second, solve the OUTER parenthesis, using the value obtained in (1) > > ($v1 ? $v1 : 0) > > It then should return 0 RECTIFICATION AND MY APOLOGIES: Sorry guys, I made a mistake. My apologies, specially to jchd18. You are right, and I was wrong.
- 8:40 PM Ticket #2747 (Nested ternary operator returns incorrect results) updated by
- Replying to anonymous: > Replying to jchd18: > > No bug here: you must use parenthesis to enclose the coumpound condition. > Then the ternary operator has the wrong precedence. That operator should always have the lowest precedence. Can you see that parenthesis are being used ? This is what the interpreter should do: (1) First, solve the INNER parenthesis: ($v2 = 2 or $v2 = 3 ? 0 : 8) That should return 0 (2) Second, solve the OUTER parenthesis, using the value obtained in (1) ($v1 ? $v1 : 0) It then should return 0
- 8:24 PM Ticket #2750 (Ternary Operator Should Have the Lowest Precedence) updated by
- You can already use And & Or inside the first part of a ternary expression: […] So what exactly is your request? M23
- 7:00 PM Ticket #2750 (Ternary Operator Should Have the Lowest Precedence) updated by
-
Version changed
Automatic ticket cleanup. - 6:26 PM Ticket #2750 (Ternary Operator Should Have the Lowest Precedence) created by
- The ternary operator should have the lowest precedence in expressions. …
- 6:26 PM Ticket #2732 (ObjName - additional example proposal) closed by
- Completed: Added by revision [10208] in version: 3.3.13.0
- 5:53 PM Ticket #2749 (COM Object Examples - proposal / fixed / question) updated by
- I forgot to ask ;) Why in this script are still this kind remarks: […] I think I you want to leave this please correct to the closest release version […]
- 5:45 PM Ticket #2749 (COM Object Examples - proposal / fixed / question) created by
- in getHTMLsource.au3 there is: […] instead […] fixed in …
- 3:26 PM Ticket #2746 (IE6Example.htm - Refreshing) closed by
- Fixed: Fixed by revision [10205] in version: 3.3.13.0
- 2:21 PM Ticket #2745 (HelpFile <> Official Site - Windows Compability) closed by
- Fixed: Fixed by revision [10203] in version: 3.3.13.0
- 2:17 PM Ticket #2747 (Nested ternary operator returns incorrect results) updated by
- Then file a feature request for this precise reason. BTW I agree.
- 1:22 PM Ticket #2747 (Nested ternary operator returns incorrect results) updated by
- Replying to jchd18: > No bug here: you must use parenthesis to enclose the coumpound condition. Then the ternary operator has the wrong precedence. That operator should always have the lowest precedence.
- 12:28 PM Ticket #2738 (_WinAPI_ShellRestricted - $REST_ constants) closed by
- Fixed: Fixed by revision [10202] in version: 3.3.13.0
- 12:24 PM Ticket #2739 (_WinAPI_SetLocaleInfo - $LOCALE_ constants) closed by
- Fixed: Fixed by revision [10201] in version: 3.3.13.0
- 12:20 PM Ticket #2740 (_WinAPI_IsProcessorFeaturePresent - $PF_ constants) closed by
- Fixed: Fixed by revision [10200] in version: 3.3.13.0
- 12:16 PM Ticket #2741 (_WinAPI_DrawThemeEdge - $BDR_* , $EDGE_* , $BF_* constants) closed by
- Fixed: Fixed by revision [10199] in version: 3.3.13.0
- 12:11 PM Ticket #2744 (ToolTip and GUICtrlSetTip - Requires IE5+) closed by
- Fixed: Fixed by revision [10198] in version: 3.3.13.0
- 12:03 PM Ticket #2737 (_WinAPI_ShellGetStockIconInfo - $SIID_ constants) closed by
- Fixed: Fixed by revision [10197] in version: 3.3.13.0
- 11:51 AM Ticket #2736 (DriveGetType , _WinAPI_SetWindowPos - constatns defined in ..) closed by
- Fixed: Fixed by revision [10196] in version: 3.3.13.0
- 11:41 AM Ticket #2736 (DriveGetType , _WinAPI_SetWindowPos - constatns defined in ..) updated by
- Not really a bug as Constants.au3 refer to AutoItConstants.au3 But well more precise
- 10:17 AM Ticket #2742 (#Au3Stripper_Parameters=/RenameMinimum doesn't work) closed by
- Fixed: The indicated version is for AutoIt3 and there is no relation to the version of au3stripper. When running your script through Au3Stripper in SciTE, I got the following console output: […] This shows the error and the version. Anyway, there was indeed a typo in the lexing of the commandline which is now fixed in the current Beta version of Au3Stripper. Thanks for the report, Jos
- 8:48 AM Ticket #2742 (#Au3Stripper_Parameters=/RenameMinimum doesn't work) updated by
- Dear Jos, I've specified "Version: 3.3.12.0" in this ticket's settings because that's what I use. Original script: […] Stripped script: […]
- 8:04 AM Ticket #2747 (Nested ternary operator returns incorrect results) closed by
- No Bug: No bug here: you must use parenthesis to enclose the coumpound condition. […] Next time, please ask on the General Help forum to confirm bug status.
- 5:59 AM Ticket #2748 (_WinAPI_SaveHBITMAPToFile in WinAPIGdi.au3 is bugged) created by
- _WinAPI_SaveHBITMAPToFile may break as reported by SciTE's console: …
- 4:54 AM Ticket #2747 (Nested ternary operator returns incorrect results) created by
- This very simple code show the problem: Local $v1 = 0, $v2 = 2 Local …
Jun 8, 2014:
- 10:25 PM Ticket #2746 (IE6Example.htm - Refreshing) created by
- look in attachment
- 8:44 PM Ticket #2737 (_WinAPI_ShellGetStockIconInfo - $SIID_ constants) updated by
- new proposal $SIID_* , $SHGSI_* constants require #include <APIShellExConstants.au3> in attached txt file also changed "text formating" in description to parameter: $iFlags
- 8:26 PM Ticket #2745 (HelpFile <> Official Site - Windows Compability) created by
- http://www.autoitscript.com/site/autoit/ […] …
- 8:22 PM Ticket #2744 (ToolTip and GUICtrlSetTip - Requires IE5+) created by
- http://en.wikipedia.org/wiki/Windows_XP#Networking_and_internet_functio …
- 6:50 PM Ticket #2742 (#Au3Stripper_Parameters=/RenameMinimum doesn't work) updated by
- My crystal ball is broken so need more input. show the source at minimum and specify the release au3stripper you use. By the way: posting a question in the forum works better for questions unless it is a proven bug. Jos
- 5:27 PM Ticket #2743 (Hex($n, -1.#INF) crashes AutoIt) created by
- Reproducer is just the code: […] This is causing scripts to …
- 1:59 PM Ticket #2742 (#Au3Stripper_Parameters=/RenameMinimum doesn't work) created by
- I've tried the new Stripper and its /RenameMinimum parameter doesn't …
- 6:52 AM Ticket #2741 (_WinAPI_DrawThemeEdge - $BDR_* , $EDGE_* , $BF_* constants) created by
- in iFlag Parameters description please add $ before BF_* […] …
- 6:43 AM Ticket #2740 (_WinAPI_IsProcessorFeaturePresent - $PF_ constants) created by
- please add to remarks $PF_* constants require #include …
- 6:39 AM Ticket #2739 (_WinAPI_SetLocaleInfo - $LOCALE_ constants) created by
- please add to remarks $LOCALE_* constants require #include …
Jun 7, 2014:
- 5:47 PM Ticket #2738 (_WinAPI_ShellRestricted - $REST_ constants) created by
- please add to remarks $REST_* constants require #include …
- 5:43 PM Ticket #2737 (_WinAPI_ShellGetStockIconInfo - $SIID_ constants) created by
- please add to remarks $SIID_* constants require #include …
- 4:50 PM Ticket #2736 (DriveGetType , _WinAPI_SetWindowPos - constatns defined in ..) created by
- in _WinAPI_SetWindowPos.txt […] in DriveGetType.txt […] …
- 1:03 AM Ticket #2596 (TCPRecv not returning data, and setting @error to -1) updated by
- That don't answer anything about how jacked up the new TCPREcv is…
Jun 6, 2014:
- 3:30 PM Ticket #2642 (The function Hex() returns the wrong value) closed by
- No Bug: I am closing this ticket as there is no problem with Hex - the seemingly invalid returns are caused by the inadvertent use of doubles instead of integers as the argument. That is covered by this ticket: http://www.autoitscript.com/trac/autoit/ticket/2729 M23
- 6:15 AM Ticket #2733 (WM_SETCURSOR doesn't pass $wParam as handle after using GUICtrlSetCursor) closed by
- No Bug: In fact it does. But if you rad the MSDN doc it is the handle to the Windows not to the control
- 1:42 AM Ticket #2734 (_GUICtrlListView_GetGroupRect setting wrong member) updated by
- Awesome, thanks!
Jun 5, 2014:
- 11:26 PM Ticket #2735 (Error in helpfile) closed by
- Fixed: Fixed by revision [10192] in version: 3.3.13.0
- 9:49 PM Ticket #2735 (Error in helpfile) created by
- on page …
- 9:21 PM Ticket #2734 (_GUICtrlListView_GetGroupRect setting wrong member) closed by
- Fixed: Fixed by revision [10189] in version: 3.3.13.0
- 5:43 PM Ticket #2734 (_GUICtrlListView_GetGroupRect setting wrong member) created by
- _GUICtrlListView_GetGroupRect sets the member "Left" to $iGet. The …
Jun 4, 2014:
- 11:43 AM Ticket #2733 (WM_SETCURSOR doesn't pass $wParam as handle after using GUICtrlSetCursor) created by
- Here is an example that shows the problem: […] …
- 12:45 AM Ticket #2729 (32-bit integers converted to doubles after division) updated by
- No worries. I am grateful you responded here, I merely implied that the question was meant to be rhetorical.
Jun 3, 2014:
- 7:37 PM Ticket #2732 (ObjName - additional example proposal) created by
- […]
- 5:37 PM Ticket #2729 (32-bit integers converted to doubles after division) updated by
- Replying to anonymous: > The question did not really require a response. Then I will no longer provide any. M23
- 4:38 PM Ticket #2729 (32-bit integers converted to doubles after division) updated by
- As an afterthought, a compromise has to be made at some point and, either way, there is always going to be a down side. This much I do understand. Inconsistency is just such a hard pill to have to swallow. If I divide anything by one I expect no change to the input whatsoever. If it's too complicated to implement with the current AutoIt internals, then that's fair enough.
- 3:28 PM Ticket #2729 (32-bit integers converted to doubles after division) updated by
- Corrections to the above post: ... the circumference of a circle divided by its radius Author - czardas
- 3:24 PM Ticket #2729 (32-bit integers converted to doubles after division) updated by
- Well this is basic maths. The question did not really require a response. I was merely trying to illustrate the inconsistencies which have occurred with the changes made a while ago. I am of the opinion that corruption should be kept to a minimum, and that compatibility should always take precedence. Binary variants are complicated enough already. If division is not doing the exact opposite of multiplication, then I see only two alternatives: change one or the other to conform as closely as possible with the system of notation (in this case a programming language), or storage options (eg binary variants). Here some leeway is indicated because binary cannot possibly store the results of incommensurable divisions: eg the circumference of a circle divided into its radius. The question is how much compromise has to be made and what is the trade-off?
- 12:26 PM Ticket #2729 (32-bit integers converted to doubles after division) updated by
- Because multiplying 2 integers will always produce another integer, whereas dividing them will not in many (if not most) cases. From Wikipedia on "Integer" Algebraic properties [The integer set] Z is closed under the operations of addition and multiplication, that is, the sum and product of any two integers is an integer. However, with the inclusion of the negative natural numbers, and, importantly, 0, Z (unlike the natural numbers) is also closed under subtraction. [The integer set] Z is not closed under division, since the quotient of two integers (e.g., 1 divided by 2), need not be an integer. Although the natural numbers are closed under exponentiation, the integers are not (since the result can be a fraction when the exponent is negative). M23
- 9:38 AM Ticket #2729 (32-bit integers converted to doubles after division) updated by
- I have no problem if you decide not to revert back to the original behaviour of division on whole numbers. Although this change occurred a while ago, and clearly alters a core feature, there was originally a plan to address the return values according to what trancexx said. My first concern was that additional conversions (not dealt with internally) will incur a latency penalty, especially in tight loops. However my main concern is that mathematical operators now appear inconsistent. Why does the multiplication of integers not also produce a double?
- 6:35 AM Ticket #2596 (TCPRecv not returning data, and setting @error to -1) updated by
- the answer to all questions http://msdn.microsoft.com/en-us/library/windows/desktop/ms740668(v=vs.85).aspx
Jun 2, 2014:
- 10:31 PM Ticket #2731 (AU3Check error on objects that contain properties with name (.To)) updated by
-
Owner, Status changed
correct: http://www.autoitscript.com/forum/topic/161795-maybe-an-issue-on-au3check-with-autoit-v33120/?p=1174793 Jos - 9:06 PM Ticket #2731 (AU3Check error on objects that contain properties with name (.To)) created by
- We have a function that uses the object CDO.Message. The below …
- 5:55 PM Ticket #2729 (32-bit integers converted to doubles after division) updated by
- We have discussed this in the forum. As the vast majority of division operations return a value having a fractional component, I do not see how AutoIt can be expected to do other than convert the result into double format. The IsInt or IsFloat functions will determine if the result of the division has a fraction component and could be reconverted to integer format without problem. I agree it would be ideal if AutoIt did this internally, but at the moment it does not - perhaps you should perhaps create a feature request asking for this feature to be added. Furthermore, you only discovered this as a result of using Hex on the returned value. As the Help file makes it clear that Hex requires integer (or binary) arguments, I would argue that is incumbent on the coder to ensure that any value passed to that function is correctly typed. M23
- 2:19 PM Ticket #2730 (SetError - Return Value - undefined ?) closed by
- No Bug: This has been discussed before between Jon and myself, with the conclusion being it should remain as is. I am closing the ticket as "no bug".
- 8:57 AM Ticket #2730 (SetError - Return Value - undefined ?) updated by
-
Version changed
- 12:33 AM Ticket #2730 (SetError - Return Value - undefined ?) created by
- in parameters: […] This is no true or I personally do not …
Jun 1, 2014:
- 8:48 PM Ticket #2608 (COM Objects and Classes) updated by
- Could someone please comment on this?
- 8:29 PM Milestone 3.3.12.0 completed
- 6:38 PM Ticket #2729 (32-bit integers converted to doubles after division) updated by
- Some of what I have said here is actually misleading. It seems bitwise functions are accepting doubles. I didn't realise this. Sorry for this misinformation.
- 6:38 PM Ticket #2729 (32-bit integers converted to doubles after division) updated by
- Some of what I have said here is actually misleading. It seems bitwise functions are accepting doubles. I didn't realise this. Sorry for this misinformation.
- 6:55 AM Ticket #2729 (32-bit integers converted to doubles after division) updated by
- I feel some comments I made in chat need repeating here, because I consider this to be of paramount importance for the maintainability of AutoIt. Division ought to do EXACTLY the opposite of multiplication. With mixed data types I can see there being the need to make a choice about the data type of the return value - defaulting to double when FP is used as input seems natural. Arithmetic operators are no longer compatible with bitwise functions in the sense that they can no longer be nested. I can't possibly understate the complications this creates, nor condone the unwieldy patches required to do basic arithmetic using AutoIt. I am all for progress, but not if it goes against basic principles, or has a destructive effect on functionality.
May 31, 2014:
- 6:25 PM Ticket #2729 (32-bit integers converted to doubles after division) created by
- Perhaps not everyone will agree with me, but I consider this a bug: …
May 30, 2014:
May 29, 2014:
- 8:22 PM Ticket #2642 (The function Hex() returns the wrong value) updated by
- The following post by me appears to be related. http://www.autoitscript.com/forum/topic/161396-lamus/?p=1174073
May 26, 2014:
- 6:07 PM Ticket #2728 (Getting a window handle from PID for more advanced programs) closed by
- No Bug: Ask on the Forum if you don't understand AutoIt please. The example works as is intended.
- 3:59 PM Ticket #2728 (Getting a window handle from PID for more advanced programs) created by
- http://www.autoitscript.com/wiki/FAQ#How_can_I_get_a_window_handle_when …
May 24, 2014:
- 11:59 PM Ticket #2725 (Problem printing help file with multiple examples) closed by
- Fixed: Fixed by revision [10141] in version: 3.3.11.6
- 2:42 PM Ticket #2714 (Help for GUICtrlCreateGraphic omits info for dynamic graphics.) updated by
- The main point is that anyone trying to use this dynamically, will see the flicker and assume it's faulty. They may search the forum, find all the advice to use something more complicated, and give up. There is a simple fix, is it possible to get an example of the dynamic action in the help file without going 'way beyond'? Did you 'diff' the suggested new example v the current? The changes are + the bezier graphic from the GUICtrlSetGraphic help - this reduces the differences between the two help examples, which look like they started as one and diverged. 21 lines of code. (We could make it 14 lines but less pretty.) + a label by each graphic to make it easier to see which code makes each graphic. c. 6 lines of code. + a dynamic bar derived from Detefon's bar. - 21 lines of new code. You could miss out the first two changes, and only put the dynamic bar. The absolute minimum, would be to add the $WS_EX_COMPOSITED flag, then dynamic things will work correctly. Please consider doing this if nothing else.
May 22, 2014:
- 8:41 PM Ticket #2713 (ByRef Copy Bug) updated by
- Personally, I'm glad I know that. It is always better to know. Thanks for the info.
- 6:46 PM Ticket #2713 (ByRef Copy Bug) updated by
- I am sure it is possible to come up with a myriad scenarios where the interpreter does not do what someone thinks it should - just remember this is a free-to-use hobbyist language and you cannot expect perfection. Anyway, I am not getting into discussions in Trac - there is an open ticket which may, or may not, get fixed (it would not be high on my list for the next round of development work). Now you realise that the problem exists, I suggest you recast your code to get around it. :) M23
- 5:37 PM Ticket #2647 (Add line count of FileReadToArray to @extended) updated by
- Replying to anonymous: > If use FileSetPos and than pass file handle to FileReadToArray the @extended macro as count line would not make sense. I'm not looking to get the line count of the file, I'm looking to get the number of lines read into the array. FileSetPos has no effect on what I was asking about because you'd still be reading in a number of lines.
May 21, 2014:
- 7:36 PM Ticket #2713 (ByRef Copy Bug) updated by
-
Replying to Melba23:
> The comment:
>
> Should I do this every time I copy a variable that might be an array
>
> is nonsense as passing an array does not produce the error.
> […]
> Better still - pass the entire array rather then a single element and then the problem will never arise.
It doesn't matter that the
ByRefargument might be an array. Also, the following does exhibit the problem: […] > You can only pass an array element by using the [ # ] syntax, so you have an easy check on whether the problem will appear and can take measures to deal with it. I don't know if the function will be called with a reference to a "normal" variable or an "unnatural" array element. It's required that the argument is a reference, I need to modify it. The function also copies another argument (which may be an array). There are some possible solutions: 1. Duplicate the function and every function that forwards these two arguments: One version for "normal" variables and one version for "unnatural" array elements. If the other argument is an array, the second version forces AutoIt to copy the array, if the other argument really is an array. Then I will just need to call the adjusted function, if I use an "unnatural" array element. 2. Like the first with additional arguments indicating the kind of referenced object. 3. I could wrap the other argument to that function (and any other function like that) with a function like "identity" that simply returns the passed value when using an "unnatural" array element. 4. I could ensure that any copy of the other argument is a real copy, if that argument is an array. Again, I might use "identity". The first three are inacceptable, they would require the caller to do something which should be done automatically and reliably (by the interpreter), without needing to examine every single array access. The last two actually copy the other argument if it is an array, even when the copied array never contains the referenced object. - 2:15 PM Ticket #2727 (optional Datatypes) updated by
- Just to clarify (I am not on the forums): By "static" typing I meant that the type of every variable is known when the script is compiled/run and that errors are thrown when types don't match. This should then allow us to completely skip every check because it can be assumed that every variable already has the correct type, since the script wouldn't be running if that was not the case. But yes, I do understand why you are closing this.
- 12:32 PM Ticket #2690 (Win..... Return Value Proposal.) closed by
- Fixed: Fixed by revision [10136] in version: 3.3.11.6
- 8:44 AM Ticket #2713 (ByRef Copy Bug) updated by
- In my testing the problem only arises when you pass a single element of an array ByRef - passing the entire array produces what would be expected, regardless of whether the copy array is taken from the original or the passed array: […] The comment: Should I do this every time I copy a variable that might be an array is nonsense as passing an array does not produce the error. You can only pass an array element by using the [ # ] syntax, so you have an easy check on whether the problem will appear and can take measures to deal with it. Better still - pass the entire array rather then a single element and then the problem will never arise. M23
- 1:20 AM Ticket #2713 (ByRef Copy Bug) updated by
-
Replying to Mat:
> If you want to guard against this, then just force it to copy by writing to the array
That's an ugly hack. Should I do this every time I copy a variable that might be an array, if the function has a
ByRefargument (like$instance, the class generator creates countless arguments)?
May 20, 2014:
- 11:39 PM Ticket #2691 (Bitshift is returning incorect results) closed by
-
No Bug: Jchd is correct.
Of course if you want to get 52534 then you can just change it to
Int($number / 2^$bits) - 11:15 PM Ticket #2502 (COW optimization incorrect) updated by
- Further discussed in ticket #2713, and on the MVP forum here: http://www.autoitscript.com/forum/topic/161296-supposed-byref-bug/
- 11:13 PM Ticket #2713 (ByRef Copy Bug) closed by
- Duplicate: Replying to anonymous: > Is this connected to ticket 2502? Yes it is. I hadn't realised this had been looked at before (but it looks like the conclusion was similar (variable != r-value, and byref might use either, or might not). I'll close this as a duplicate. If you want to guard against this, then just force it to copy by writing to the array: […]
- 11:07 PM Ticket #2719 ("Misc. functions Reference" - table - Function list) updated by
- Just to keep everything tied together, this is being discussed in the MVP forum here: http://www.autoitscript.com/forum/topic/161503-2719-issue-with-the-build-scripts/ Issue has been confirmed (and partially fixed, possibly), but I can only take 10 minutes of reading the build scripts at a time before I feel the cone cells in my eyes melting.
- 11:02 PM Ticket #2727 (optional Datatypes) closed by
-
Wont Fix: You are correct that dynamic typing does incur a runtime overhead.
However, you are wrong that this would be "static" typing, and that they would perform any better. You'd still need to (at runtime) check the type of the variable and then do something different depending on the type. The only difference between that and a variant is that the explicitly typed case would result in errors, rather than casting.
I really like explicit typing. I am very fussy in compiled languages about type, you wouldn't even see me writing
float f = 4.0;in C++. But there really isn't any point in it, or need for it, in an interpreted langauge like AutoIt. I hope this explains why I'm closing this. If you still have any questions then feel free to PM me on the forums. - 9:42 PM Ticket #2727 (optional Datatypes) updated by
-
Replying to anonymous:
> If I remember it correctly then the variant datatype works by converting the content of the variables you are currently working with to the type that makes the most sense. If this is correct than it obviously has to be done every time the user works with a variable and therefore I guess that it slows AutoIt down a lot.
That wouldn't be a problem if the generated representation would be optimized. (I'm sure it isn't.)
> What I am asking for instead is a static type system that is completely optional, that works by adding new Keywords and that simply bypasses all the checks and conversions that are currently done.
[…]
That probably wouldn't help. Quite the contrary, the interpreter would need to check the types at every assignment.
Nevertheless I hope that one day static typing will be part of this language.
> Example:
> {{{
> Local $a, $b, $c ; no datatype specified -> Variant
> Local Int $i
> Local String $s
> Local Bool $f = ($a > $b)
> }}}
A trailing "
as" type qualifier works better with functions. That also requires only one new keyword. Example:func toString ($arg1 as int32) as stringIf I remember correctly, there is a project that tries to add this kind of static typing to the language, translating it into normal AutoIt. That reminds me of TypeScript… - 8:12 PM Ticket #2705 (ObjCreate - without register anything) updated by
- Approx. So I have a few questions: 1 because I just started to use it (Debenu .. UDF) I hope that it will be in the future an official part of AutoIt, not just experimental, and at the moment I understand that I can report any observed problems? 2 Since this function is experimental, it can just as in the case of: Volatile could be added to the documentation of some description, then the greater the number of developers having knowledge of it could to test it. Which in turn can accelerate change in the status of this functionality on STABLE.
- 8:04 PM Ticket #2727 (optional Datatypes) created by
- The fact that I could not even find one ticket about this probably …
- 7:37 PM Ticket #2713 (ByRef Copy Bug) updated by
- Replying to Mat: > The discussion was only among the MVPs, the developers have not yet commented. The majority of the conversation was about what actually caused the behaviour you were seeing. Is this connected to ticket 2502? > If by "language feature" you are asking whether you should rely on this behaviour in code, you definitely shouldn't. There are better ways to write your original code that avoid this issue. I may not even know that the argument is an element of the copied array (or object).
- 6:26 PM Ticket #2714 (Help for GUICtrlCreateGraphic omits info for dynamic graphics.) closed by
- Rejected: Please adhere to the AutoIt standards for example creation. As it stands the example which was suggested is way beyond the scope of what the help file is intended for. Thanks.
- 6:24 PM Ticket #2705 (ObjCreate - without register anything) closed by
- Rejected: The feature according to a former dev is experimental and thus has no place in the official documentation. If or when this feature is stable then the appropriate changes will be made.
- 6:21 PM Ticket #2721 (_Array... - proposal) updated by
- Slight modifications were made where applicable. Thanks mlipok.
- 6:20 PM Ticket #2721 (_Array... - proposal) closed by
- Fixed: Fixed by revision [10135] in version: 3.3.11.6
- 2:25 PM Ticket #2724 (_WinAPI_CreatePen - doc) updated by
- Those constants have nothing to do with CreatePen >> http://msdn.microsoft.com/en-us/library/dd162705(v=vs.85).aspx
- 2:24 PM Ticket #2724 (_WinAPI_CreatePen - doc) closed by
- Fixed: Fixed by revision [10134] in version: 3.3.11.6
- 12:42 PM Ticket #2726 (GUIListView, GUICtrlListView_GetGroupInfoByIndex) closed by
- Completed: Added by revision [10129] in version: 3.3.11.6
- 11:55 AM Ticket #2713 (ByRef Copy Bug) updated by
- The discussion was only among the MVPs, the developers have not yet commented. The majority of the conversation was about what actually caused the behaviour you were seeing. If by "language feature" you are asking whether you should rely on this behaviour in code, you definitely shouldn't. There are better ways to write your original code that avoid this issue. As to whether it's a bug, I don't know. I'd be inclined to say yes, other MVPs thought it wasn't though, so we'll leave it to Jon to decide.
- 11:28 AM Ticket #2726 (GUIListView, GUICtrlListView_GetGroupInfoByIndex) created by
- I use listview in my autoit projects and i need to know the GroupID …
- 9:51 AM Ticket #2647 (Add line count of FileReadToArray to @extended) updated by
- Why? It would more or less reflect the number of lines read and loaded.
- 8:58 AM Ticket #2647 (Add line count of FileReadToArray to @extended) updated by
- If use FileSetPos and than pass file handle to FileReadToArray the @extended macro as count line would not make sense.
Note:
See TracTimeline
for information about the timeline view.
