#1029 Locating External Files inconsistency


In Version 4.1.0, it appears that the search order as defined in the Rexx Reference Manual Section "Locating External Files",page 376, was partially implemented. In previous versions of rexx, all the way down to PC-DOS Rexx, the search order began in the current directory. Now "CALL" works as defined in list item 1. The search for a direct invocation of the external .rex program still begins in the current directory. If there are 2 .rex programs with the same name in 2 different directories a CALL to the .rex program invokes the rexx program that was in the directory that the calling program called it. Even if I change directories, I still get the version of the program from the original directory. On the other hand if I do a direct invocation of the program I get the version of the program for the current directory. There are side effects of this. Doing a "CALL" invokes the program as a SUBROUTINE and a direct invocation causes the program to be treated as a "COMMAND". I have several programs that function differently based on how they were invoked.

I've included a sample to show the difference. Here is the console output:
Hello!!! <- This used to be "Hi!!!" prior to 4.1.0


If I had my druthers I would prefer to have the search the way it was prior to 4.1.0. That way, all I have to do is change directories to the version I want. This was a great development tool. I didn't have to modify the original code to begin development on a new level of the program.

Also, in Section there appears to be a couple of document problems that I picked up on:

The second and third list items are the same.

The paragraph below the first group of list items, beginning with the "The second element...", second sentence, has 2 "contains" in a row.

Operating environment is Windows XP Professional, SP1 32bit w/ ooRexx 4.1.0


  • Jerry Senowitz

    Jerry Senowitz - 2011-10-27

    Sample Demo of inconsistency

  • Mark Miesfeld

    Mark Miesfeld - 2012-02-03

    The behavior change is due to the implementation of an enhancement in 4.0.0 that did not completely follow the way it was documented. This was fixed prior to the release of 4.1.0 which is why you see the change in 4.1.0 rather than in 4.0.0

    We had a fairly long discussion concerning this on the developers list, and, while there was no consensus on how the enhancement was originally handled, there was a consensus in that this is currently working as intended and therefore not a bug.

    This is why the bug is being closed.

    Note that closing a bug closes comment posting in the tracker bug item. If you would like to discuss this further, you can at any time open up a discussion concerning it on the ooRexx developers mailing list. You can subscribe at this URL:




Cancel  Add attachments