Activity for Rick McGuire

  • Rick McGuire Rick McGuire posted a comment on ticket #1505

    Not really confident that this will fix the problem, but i cleaned up a few things. This is really just a Windows only problem because of the special way semaphores are handled there.

  • Rick McGuire Rick McGuire posted a comment on ticket #1505

    both of these stack traces indicate you have an issue with guarded methods, not a problem in the interpreter.

  • Rick McGuire Rick McGuire posted a comment on ticket #1505

    Another attempt. This one definitely needs a complete regression test before committing.

  • Rick McGuire Rick McGuire posted a comment on ticket #1505

    Oops, missed one crucial update. I added a method to handle the situation, but forgot to call it!

  • Rick McGuire Rick McGuire posted a comment on ticket #1505

    ok, i think i have the deque error fixed. The other stack trace looks like it is from an unpatched run. The source code line numbers don't line up with the patched code. However, I believe I understand what was going on. Here's another attempt.

  • Rick McGuire Rick McGuire posted a comment on ticket #1505

    A bit of a dicey situation caused by the way the Windows version of SysSemaphore also processes the Windows message queue to keep ooRexx threads from causing hangs with ooDialog and ole. This patch is totally untested in this situation, but I think it should clear up this particular hang. This needs a complete regression test before committing.

  • Rick McGuire Rick McGuire posted a comment on ticket #1503

    On Sun, Nov 5, 2017 at 2:03 PM, Rony G. Flatscher orexx@users.sf.net wrote: The third block, which blocks the JVM thread is the main Rexx program (fxml_pb.rex) that implements the abstract Application class method "start" in Rexx which sets up the GUI and then with "stage~show" gets blocked until the JavaFX GUI gets ended by the user (closing the window or causing issuing a Platform.exit()). The GUI thread is maintained by the JavaFX. The GUI's Rexx controller (fxml_pb_controller.rex) will be used...

  • Rick McGuire Rick McGuire posted a comment on ticket #1503

    The first two threads are blocked trying to get a guard lock on an object, so some calls to unguarded methods are still in there. You can determined the methods from the activation object that is doing the reserve. It is likely the same object that is running a method on the third thread. The third thread appears to be blocking in the JVM code, not Rexx code, so it is probably waiting for something to happen on one of the blocked threads. Rick On Sun, Nov 5, 2017 at 11:21 AM, Rony G. Flatscher orexx@users.sf.net...

  • Rick McGuire Rick McGuire posted a comment on ticket #1501

    Yes, it is working differently because the most recent versions of ooRexx have implemented the ANSI standard of including horizontal tabs as white space in comparisons.

  • Rick McGuire Rick McGuire posted a comment on ticket #1501

    This is working correctly. d2c() is returning in the correct result, but the "=" operator performs the comparison by stripping leading and trailing whitespace, which includes tab characters. So the test If key_pressed = D2C(9) When key_pressed has the value of a space ends up comparing two null strings for equality. For these types of tests, you should be using the "==" operator.

  • Rick McGuire Rick McGuire posted a comment on discussion Developers

    Feature requests can be made by opening a feature request ticket using the project tracker: https://sourceforge.net/p/oorexx/feature-requests/?source=navbar Please only include one feature per ticket as these are used for tracking/discussion purposes. Rick On Mon, Oct 23, 2017 at 4:51 PM, Mark Harsen mharsen@users.sf.net wrote: I've written a fairly large network management system in OOREXX that masks differences in a multi-vendor environment to users of the system besides providing for some cool...

  • Rick McGuire Rick McGuire posted a comment on ticket #1313

    The datetime instances should be performing arithmetic using a timestamp that has been adjusted to UTC time, so objects for the same UTC in different timezones should be considered equal.

  • Rick McGuire Rick McGuire posted a comment on ticket #1499

    Since this crash happens outside of the interpreter code, it is not possible for the interpreter to raise a control stack error at that point.

  • Rick McGuire Rick McGuire posted a comment on ticket #1499

    That is the right line number. The error is occurring in the REXX package code line 356. Portions of the runtime are written in Rexx and errors can occur there too.

  • Rick McGuire Rick McGuire posted a comment on ticket #1449

    Something a little more subtle. The exception occurs because an error occurs in an uninit method. While building the stack trace, if is picking up the stack frame of the just completed method that initiated the uninit processing. Because execution of that activation is complete, a lot of the information (in this case, the current instruction) is not valid. I believe this patch should fix the problem (untested in this scenario).

  • Rick McGuire Rick McGuire posted a comment on ticket #1450

    Erich, did you apply the third patch I provided yesterday? There was a small bug in the 1450a patch that I fixed and I added an additional mutex that should ensure this type of hang can't occur in the future. On Thu, Oct 19, 2017 at 9:36 AM, Erich erich_st@users.sf.net wrote: status: accepted --> pending Comment: Closing as per request [bugs:#1450] Performance drops suddenly (once even a crash) Status: pending Group: 5.0.0 Created: Wed May 17, 2017 12:05 PM UTC by Rony G. Flatscher Last Updated:...

  • Rick McGuire Rick McGuire posted a comment on ticket #1450

    I found one small bug with my prior patch, plus I was not comfortable that I had closed all of the windows where a similar deadlock could occur. By using an additional mutex for the activity dispatcher, I'm confidant that particular problem can no longer occur.

  • Rick McGuire Rick McGuire posted a comment on ticket #1450

    Ok, I see where the deadlock is happening. Attaching a new thread is a fairly complicated process because synchronization required. The two semaphores involved got acquired in the wrong order, leading to a deadlock on the dispatcher. I'm a little nervous about the one place where I had to remove a ResourceLock, but on careful inspection, things look clean. This patch also closes a small hole where a GC problem could have arisen. I have not testing this beyond just simple launch a Rexx program. This...

  • Rick McGuire Rick McGuire posted a comment on ticket #1450

    Unless you are going to include the stack traces (complete traces, not just the top entries), including the programs is not useful. In the hang trace that Moritz posted, The program did not terminate because there were multiple threads waiting for a a guard lock and one thread in a guard wait, but with nested calls on the same object. Without access to the actual debugger, the choice of the wait/busy methods seemed a reasonable guess. If you look at these in the debugger, you should be able to determine...

  • Rick McGuire Rick McGuire posted a comment on ticket #1450

    As I noted in my earlier reply to Moritz, this appears to be a guarded method problem in your code. The main thread is still holding the guard lock on the object through the nested guarded method call to terminate and wait. All the rest of the methods are blocked trying to set the busy attribute because the main thread still holds the guard. The easy solution is to make the busy attribute UNGUARDED. Rick On Tue, Oct 17, 2017 at 2:20 PM, Rony G. Flatscher orexx@users.sf.net wrote: Here my findings:...

  • Rick McGuire Rick McGuire posted a comment on ticket #1450

    Was able to look at the tracebacks. All of the threads but one are blocked trying to cal a guarded method on the same object. The remaining thread is in a guard wait obviously waiting for something to happen that will not occur because all of the threads are blocked.

  • Rick McGuire Rick McGuire posted a comment on ticket #1450

    On Mon, Oct 16, 2017 at 7:51 AM, Moritz Hoffmann antiguru@users.sf.net wrote: It seems to have fixed the memory corruption issue. Now it's getting stuck in phthread_cond_wait, but that might be a problem of the example. Nevertheless, attached are the stack traces. I suspect it is. I noticed that several threads were in a guard wait state in the hang trace. Rick [bugs:#1450] Performance drops suddenly (once even a crash) Status: open Group: 5.0.0 Created: Wed May 17, 2017 12:05 PM UTC by Rony G. Flatscher...

  • Rick McGuire Rick McGuire posted a comment on ticket #1450

    We may have a winner. The hang trace pinpointed a place where objects were being allocated without holding the lock. This patch might fix the problem.

  • Rick McGuire Rick McGuire posted a comment on ticket #1450

    Oops, strike that, I was looking at the segv trace, not the hang.

  • Rick McGuire Rick McGuire posted a comment on ticket #1450

    Hmmmm, the hang traces likely point to a bug in the TableIterator class. This iterator is used when traversing the uninit table and is intended to allow iteration with the ability to delete items without affecting the iteration. It looks like it is stuck in an infinite loop. If that occurs again, you might be able to figure out what sort of condition caused that failure. The rest of the threads look like they are in good places.

  • Rick McGuire Rick McGuire posted a comment on ticket #1450

    Oops, didn't notice I wasn't logged in. This was from Rick.

  • Rick McGuire Rick McGuire posted a comment on ticket #1488

    There should be a tab for each thread, which allows you to look at the stack traces and other particulars. Rick On Wed, Oct 4, 2017 at 1:11 PM, Rony G. Flatscher orexx@users.sf.net wrote: Unfortunately, it cannot be recreated at will. This cause of the crash occurs from time to time. So I will not apply the fix in order to have a chance to get this crash again and will copy the stack trace. The only question I would have is how to get the stack traces of all threads running Rexx code with Visual...

  • Rick McGuire Rick McGuire posted a comment on ticket #1488

    Hmmm, looking back at the original email on this, the reason this bug has remained undetected for so long is because this code should never have been getting called in this situation. The caller is the Rexx digits instruction, which should be calling the method in a RexxActivaiton object, not a NativeActivation. If this can be recreated the full stack traces for all threads running Rexx code might give a clue as to where the problem is. My first guess would be that somehow a Rexx method is getting...

  • Rick McGuire Rick McGuire posted a comment on ticket #668

    This is not a good idea. Since the stack frames are included in condition objects, this would mean the stack frame would be referencing a no longer active context object if you tried to access this after a condition is tripped. This also will create a massive memory leak if conditions are trapped since this could pin a lot of no longer active variables into storage. I'd prefer that this request be rejected rather than implemented this way. On Sun, Oct 1, 2017 at 1:05 PM, Erich erich_st@users.sf.net...

  • Rick McGuire Rick McGuire posted a comment on ticket #668

    That's not the parent I had intended. I was looking for the context object of the caller, if this exists. This would correspond to the previous stack frame as determined by the stackFrames() method. Should return .nil of the calling stack frame is not Rexx code. Rick On Tue, Sep 12, 2017 at 1:14 PM, Erich erich_st@users.sf.net wrote: This patch should add a parent() method. It gives access to the Activity's parent, but I dont't think this makes much sense, as the parent is .nil except in very specific...

  • Rick McGuire Rick McGuire posted a comment on ticket #1482

    That is the correct result. Files on a stream based file system are just a sequence of bytes. There's not facility to replace a record. The line data is written out followed by the appropriate line separator, which may have the side effect of splitting off part of the old line if they are not the same length. Rick On Mon, Sep 11, 2017 at 4:54 PM, Walter walter-pachl@users.sf.net wrote: The ref says Note that, unlike CHAROUT, you cannot specify a position beyond the end of the stream for non-binary...

  • Rick McGuire Rick McGuire modified ticket #1481

    array~append overwrites existing items

  • Rick McGuire Rick McGuire posted a comment on ticket #1481

    This is working correctly. The append method just appends the single object to the array. So after the first append, arr_a holds just a single object reference to arr_b. You then change the contents of arr_b. If you add an additional call to showarray() before the second append, you'll see the new values displayed. The second append just adds a second reference to arr_b to arr_a. It now has two items, both being references to arr_b which now contains two occurrences of the string "222". If you are...

  • Rick McGuire Rick McGuire posted a comment on ticket #1472

    I think this fix is a little cleaner. It processes the \r up front rather than after a \n is read.

  • Rick McGuire Rick McGuire posted a comment on ticket #1472

    Hmmm, I swear I had replied to this earlier, but my post does not seem to be there. The reason why it does use the last buffer position is because gets() is supposed to return null terminated strings, so the last position is reserved for the null terminator, although the current code does not appear to be doing that. Going one additional character will only move the boundary condition where this fails. The real cause of the problem is the deferred check for the \r character until the \n is located....

  • Rick McGuire Rick McGuire posted a comment on ticket #1472

    The gets() being used there is the gets() mythod in SysFile.cpp (the Windows version) not the gets() system call.

  • Rick McGuire Rick McGuire posted a comment on discussion Help

    On Sun, Jul 23, 2017 at 5:08 AM, Per Olov Jonsson perolovjonsson@users.sf.net wrote: I found out the answer myself Rick, you do not need to reply. Alt. = MB Did not do what I thought it did. I though a was creating a classic stem (with Alt.1, Alt.2 etc being text strings but Instead I created, by mistake, a stem with mutable buffer objects. I am on top of it now. Not strictly correct. A stem VARIABLE merely holds a reference to a backing stem OBJECT. This stem OBJECT is created for you automatically...

  • Rick McGuire Rick McGuire posted a comment on discussion Help

    On Sat, Jul 22, 2017 at 5:45 PM, Per Olov Jonsson perolovjonsson@users.sf.net wrote: Hello, I have a problem with my mutable buffers. I have made a simple test case, I just want to add to a mutable buffer a fixed part, a varying part and a fixed part. The varying part I have worked on in the buffer and I am reusing the buffer, erasing it in-between runs. Here is the test case MB = .mutableBuffer~new MB~append('inthemiddle') say 'MB in :'MB':' startpart = 'a' alt = MB When you do this, alt is now...

  • Rick McGuire Rick McGuire posted a comment on discussion Help

    That's working correctly. The fill method just sets each of the array slots to the object reference you provide, it does not make copies. This is really intended for uses with immutable objects such as strings. For example, a~fill(0) -- set all of the counters to zero.

  • Rick McGuire Rick McGuire modified ticket #692

    Add a version of GetCSelf API that can retrieve data from another object.

  • Rick McGuire Rick McGuire posted a comment on ticket #692

    Oops, this already exists in the form of the ObjectToCSelf() and ObjectToCSelfScoped() thread context APIs.

  • Rick McGuire Rick McGuire created ticket #692

    Add a version of GetCSelf API that can retrieve data from another object.

  • Rick McGuire Rick McGuire modified ticket #1470

    array~remove changes array size

  • Rick McGuire Rick McGuire posted a comment on ticket #1470

    Array objects can be sparse, so the size is not necessarily the same as the number of items in the array. Add "say arr~size" and you'll see that the size is still unchanged. All you've done is change the number of items stored in the array because you've removed a reference from one slot.

  • Rick McGuire Rick McGuire posted a comment on ticket #1468

    I committed the revision directly as [r112569]

  • Rick McGuire Rick McGuire modified ticket #1468

    IdentityTable appears to be operating as a normal table.

  • Rick McGuire Rick McGuire posted a comment on ticket #1468

    Ok, I finally figured out why the index hashing needs to be the way it is and added some commentary to make sure it is clearer.

  • Rick McGuire Rick McGuire committed [r11269]

    Add some code to assist in debugging GC problems and also document why identity tables use the hash values it does.

  • Rick McGuire Rick McGuire posted a comment on ticket #1468

    Is this with just the patch, or the patch plus the change to the HashContents hashIndex() method? On Thu, Jul 6, 2017 at 12:18 PM, Erich erich_st@users.sf.net wrote: Rick, if I apply your patch, our test suite stops with an error because .CircularQueue~new(5) fails: ~~~~ 1963 - Method INIT with scope "CircularQueue" in package "REXX" - Compiled method "NEW" with scope "Queue". .. Error 97 running REXX line 1963: Object method not found. Error 97.1: Object "a CircularQueue" does not understand message...

  • Rick McGuire Rick McGuire posted a comment on ticket #1468

    Yes, those are correct. While seeing if I could figure out the array append issue in the debugger yesterday, I traced into the put() method call on an IdentityTable instance and was shocked to discover it was using the wrong means of obtaining the hashCode for an identity table (it should be using the identity hash). When I investigated why, I discovered the IdentityHashContents class did not override the index/item methods and were just inheriting from the default. My patch fixes this. Today, it...

  • Rick McGuire Rick McGuire posted a comment on ticket #1468

    It turns out IdentityTable was only partially incorrect. It was using the correct item and index comparisons, but the bucket index method was obtaining the hashcode the wrong way, which was what I had spotted during debugging. So this would pass the test, but probably was using a non-optional hash. The patch I provided fixes this and also makes it clearer how the IdentityHashContents is supposed to work.

  • Rick McGuire Rick McGuire posted a comment on ticket #1467

    This small patch appears to make a significant improvement.

  • Rick McGuire Rick McGuire created ticket #1468

    IdentityTable appears to be operating as a normal table.

  • Rick McGuire Rick McGuire posted a comment on ticket #1466

    On Wed, Jul 5, 2017 at 3:58 PM, Rick McGuire object.rexx@gmail.com wrote: On Wed, Jul 5, 2017 at 3:36 PM, Erich erich_st@users.sf.net wrote: Thanks, I'll add your explanation as a comment to the code. Let me add some questions, please: So, we've got two mechanisms to temporarily protect an object: Protected<RexxInternalObject> name instead of RexxInternalObject *name and e. g. ArrayClass *args = new_array(programName); `ProtectedObject p(args); ProtectedObject p(args) form was the original method...

  • Rick McGuire Rick McGuire posted a comment on ticket #1466

    On Wed, Jul 5, 2017 at 3:36 PM, Erich erich_st@users.sf.net wrote: Thanks, I'll add your explanation as a comment to the code. Let me add some questions, please: So, we've got two mechanisms to temporarily protect an object: Protected<RexxInternalObject> name instead of RexxInternalObject *name and e. g. ArrayClass *args = new_array(programName); `ProtectedObject p(args); ProtectedObject p(args) form was the original method I first implemented in 4.0.0. This provides a generic anchor point for the...

  • Rick McGuire Rick McGuire posted a comment on discussion Help

    ERROR! The markdown supplied could not be parsed correctly. Did you forget to surround a code snippet with "~~~~"?On Tue, Jul 4, 2017 at 9:42 AM Rick McGuire <bigrixx@users.sf.net> wrote: > On Tue, Jul 4, 2017 at 9:29 AM AvdP <avanderputten@users.sf.net> wrote: > > > Rick, > > > > Thanks for the explanation. > > > > I changed the sub_b code so that the arrayin goes to a temporary array > > (btmp). > > And then copy contents of 'btmp' to 'b' and return from the subroutine. > > > There's no reason...

  • Rick McGuire Rick McGuire posted a comment on discussion Help

    ERROR! The markdown supplied could not be parsed correctly. Did you forget to surround a code snippet with "~~~~"?On Tue, Jul 4, 2017 at 9:29 AM AvdP <avanderputten@users.sf.net> wrote: > Rick, > > Thanks for the explanation. > > I changed the sub_b code so that the arrayin goes to a temporary array > (btmp). > And then copy contents of 'btmp' to 'b' and return from the subroutine. There's no reason to do that if you're not passing anything in using the array argument...just return the new array...

  • Rick McGuire Rick McGuire posted a comment on discussion Help

    ERROR! The markdown supplied could not be parsed correctly. Did you forget to surround a code snippet with "~~~~"?On Tue, Jul 4, 2017 at 8:16 AM AvdP <avanderputten@users.sf.net> wrote: > My config: v5.0.0 / build date May 17 2017 / 32-bit > > I am busy learning to pass arrays as arguments. > > In the attached example code, after sub_a I can access the array that has > 1 item (as expected). > But after sub_b I see 0 items, while expecting 34 (number of lines in my > example file). > > What am I missing?...

  • Rick McGuire Rick McGuire posted a comment on ticket #1466

    Oops, picked up more changes than intended

  • Rick McGuire Rick McGuire posted a comment on ticket #1466

    I was just writing a long post about why I didn't understand why the fix you committed fixed the problem, but figured it out mid post. You might want to include something like this to explain why this is needed: During the merge operation, this object may be temporarily out of both the source and working arrays, so it is vulnerable to garbage collection during subsequent compare operations. We need to give an extra layer of protection here. Also, the following patch adds to GC debugging code that...

  • Rick McGuire Rick McGuire posted a comment on ticket #1460

    how is this different from the other ticket you opened on this?

  • Rick McGuire Rick McGuire posted a comment on discussion Help

    Since the part of the algorithm is testing whether an element exists in b, you can probably speed things up by using a set for the tests. c = .set~new c~putall(b) loop i over a if c~hasindex(i) then ... end The set class uses a hash lookup for the table, so the number of comparisons for each item of array a will be much smaller. Rick On Sat, Jun 10, 2017 at 7:13 AM, Per Olov Jonsson perolovjonsson@users.sf.net wrote: Dear all, I have stored data in two arrays a and b as follows: a eene ein meene...

  • Rick McGuire Rick McGuire posted a comment on ticket #1455

    The routines loaded from the library are in a different part of the search order that's global to the process. They should not be there either. Rick On Sun, Jun 4, 2017 at 1:53 PM, Erich erich_st@users.sf.net wrote: Should routines imported from an external native library show up in the importedRoutines() list of a package? On Sun, Jun 4, 2017 at 6:47 PM, Rick McGuire bigrixx@users.sf.net wrote: This is not a bug. Loaded libraries do not create package objects or have the same namespace behavior...

  • Rick McGuire Rick McGuire posted a comment on ticket #1455

    This is not a bug. Loaded libraries do not create package objects or have the same namespace behavior that required packages do. They are NOT packages.

  • Rick McGuire Rick McGuire posted a comment on ticket #689

    I'm not really sure it's a good idea tying things to SVN. There has already been talk around moving things to Git, which might required a different approach. There are already problems building from a Git mirror because the build tries to get the SVN revision number. Those issues need to be sorted out.,

  • Rick McGuire Rick McGuire posted a comment on ticket #1445

    Thanks for the test program. That helped a lot with figuring out the issues with this. Here is a patch that makes sure that a DetachThread() does appropriate cleanup in this scenario. This needs a complete regression run.

  • Rick McGuire Rick McGuire posted a comment on ticket #1445

    100 objects is unlikely enough to result in a GC event before returning to the initial call.

  • Rick McGuire Rick McGuire posted a comment on ticket #1444

    This is the correct result. In the Rexx language, a string or symbol token in an expresion immediately followed by a "(" token is a function call. It has been this way since the language was invented in 1979. As you observed, the || operator gives you a bypass.

  • Rick McGuire Rick McGuire posted a comment on ticket #1442

    This patch should fix the problem. Definitely should add tests to the rouitine and method tests to verify that the default context is getting picked up.

  • Rick McGuire Rick McGuire modified ticket #1442

    Dynamically created routine no longer inherits parent context

  • Rick McGuire Rick McGuire posted a comment on ticket #1442

    The 5.0.0 cleanup lost the code that picks up the current context as a parent context if one is not explicitly specified.

  • Rick McGuire Rick McGuire posted a comment on ticket #1442

    Looks like another user error to me. Dynamically created routines do not appear anywhere in the external call search order, so it should not be located. If you wish to call it recursively, then it needs to be done via dynamic means (i.e., obtaining the executable from the context).

  • Rick McGuire Rick McGuire posted a comment on ticket #1434

    Ah, sorry. I missed that this search was being performed using the table rather than...

  • Rick McGuire Rick McGuire posted a comment on ticket #1434

    The lookup of the entry point is handled using OS APIs. Trying to do this in a cross...

  • Rick McGuire Rick McGuire posted a comment on ticket #1434

    This is working correctly. Since the token used to specify the name is a symbol token,...

  • Rick McGuire Rick McGuire posted a comment on ticket #1428

    I don't recall why this was returning a copy of the object nor can I think of any...

  • Rick McGuire Rick McGuire posted a comment on discussion Help

    There's a SysSetFileDateTime() rexxutil function. Rick On Tue, Feb 14, 2017 at 11:33...

  • Rick McGuire Rick McGuire modified ticket #1427

    Sending "upper" to result of TRANSLATE()-BIF does not work

  • Rick McGuire Rick McGuire posted a comment on ticket #1427

    It works just fine if you bother spelling UPPER correctly.

  • Rick McGuire Rick McGuire posted a comment on ticket #1426

    The lineout message with no argument is a close operation, so it should not be writing...

  • Rick McGuire Rick McGuire created ticket #682

    Provide a mechanism for resetting the current condition

  • Rick McGuire Rick McGuire posted a comment on discussion Help

    ERROR! The markdown supplied could not be parsed correctly. Did you forget to surround...

  • Rick McGuire Rick McGuire posted a comment on discussion Help

    ERROR! The markdown supplied could not be parsed correctly. Did you forget to surround...

  • Rick McGuire Rick McGuire posted a comment on ticket #1412

    Ok, here is a working version of your program. But let me explain what's going on....

  • Rick McGuire Rick McGuire posted a comment on ticket #1412

    Nope, still a user error. Inorder for an object to be used as an index in a Map collection...

  • Rick McGuire Rick McGuire posted a comment on ticket #1412

    Additionally, identityHash is not really a method you can override. The identityHash...

  • Rick McGuire Rick McGuire posted a comment on ticket #1412

    Looks like a user error to me. Because your pair class does not override the "=="...

  • Rick McGuire Rick McGuire posted a comment on ticket #1406

    Hmmm, I see. I think some documentation is warranted for the Orderable class outlining...

  • Rick McGuire Rick McGuire posted a comment on ticket #1406

    This is exactly related to the fixes for 1365 and is also a reason why it is a bad...

  • Rick McGuire Rick McGuire posted a comment on ticket #1404

    This patch should fix the makeArray issues. makeString still needs to be added to...

  • Rick McGuire Rick McGuire posted a comment on ticket #1404

    There are multiple problems here, not of which actually have anything to do with...

  • Rick McGuire Rick McGuire posted a comment on ticket #1404

    Ok, that makes a LOT more sense now. Yes, MutableBuffer has a String method, but...

  • Rick McGuire Rick McGuire posted a comment on ticket #1404

    I don't understand why you are expecting REQUEST('STRING') for mutablebuffer to require...

  • Rick McGuire Rick McGuire posted a comment on ticket #1404

    Ok, you're right about the REQUEST('STRING'). However, you probably should not open...

  • Rick McGuire Rick McGuire posted a comment on ticket #1404

    Method arguments do not do the request(string) thing. That is something defined for...

  • Rick McGuire Rick McGuire modified ticket #1403

    Parsing error with if-keyword statement

  • Rick McGuire Rick McGuire posted a comment on ticket #1403

    This is the correct result. IF is not a sub-keyword of the IF instruction, so using...

  • Rick McGuire Rick McGuire posted a comment on ticket #1402

    I already wrote a long description of it in the fix patch. It was a problem with...

  • Rick McGuire Rick McGuire posted a comment on ticket #1402

    The bug had absolutely nothing to do with SIGNAL ON ANY. I'm no aware of any known...

  • Rick McGuire Rick McGuire posted a comment on ticket #1402

    Wow, an extremely subtle bug. This patch should fix the problem, but it should probably...

1 >