From: SourceForge.net <no...@so...> - 2008-12-21 04:07:44
|
Documentation item #2455439, was opened at 2008-12-21 05:07 Message generated for change (Tracker Item Submitted) made by Item Submitter You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=1001880&aid=2455439&group_id=119701 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: Programmer's Guide Group: 4.0.0 Status: Open Resolution: None Priority: 5 Private: No Submitted By: jfaucher (jfaucher) Assigned to: Nobody/Anonymous (nobody) Summary: About changes to the process environment Initial Comment: I did not find in the documentation a description of this interesting behavior : some commands like 'cd' or 'set' (and 'unset', 'export' on Unix) may have a direct side effect on the ooRexx process. The condition is that the command is simple, without redirection and without pipe. Useful when you use ooRexx as a command window. I propose a patch to update the Note about changes to the process environment, in section "How to Issue Commands" of Programming Guide. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=1001880&aid=2455439&group_id=119701 |
From: SourceForge.net <no...@so...> - 2008-12-21 07:20:16
|
Documentation item #2455439, was opened at 2008-12-20 20:07 Message generated for change (Comment added) made by miesfeld You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=1001880&aid=2455439&group_id=119701 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: Programmer's Guide Group: 4.0.0 Status: Open Resolution: None Priority: 5 Private: No Submitted By: jfaucher (jfaucher) Assigned to: Nobody/Anonymous (nobody) Summary: About changes to the process environment Initial Comment: I did not find in the documentation a description of this interesting behavior : some commands like 'cd' or 'set' (and 'unset', 'export' on Unix) may have a direct side effect on the ooRexx process. The condition is that the command is simple, without redirection and without pipe. Useful when you use ooRexx as a command window. I propose a patch to update the Note about changes to the process environment, in section "How to Issue Commands" of Programming Guide. ---------------------------------------------------------------------- >Comment By: Mark Miesfeld (miesfeld) Date: 2008-12-20 23:20 Message: You're right that section in the doc is not really correct. Your patch is okay, but I think the note would still need some rewording. It doesn't make sense in the first paragraph of the note to say: When the host command returns, any changes to the process environment, such as changing the directory, are not passed back to the process running the Rexx program. and then say right after that: On Windows, the command CD is handled in the calling process ... Maybe you could just reword the whole note so that it was accurate and submit the patch again. -- Mark Miesfeld ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=1001880&aid=2455439&group_id=119701 |
From: SourceForge.net <no...@so...> - 2008-12-21 17:26:40
|
Documentation item #2455439, was opened at 2008-12-20 20:07 Message generated for change (Comment added) made by miesfeld You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=1001880&aid=2455439&group_id=119701 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: Programmer's Guide Group: 4.0.0 Status: Open Resolution: None Priority: 5 Private: No Submitted By: jfaucher (jfaucher) Assigned to: Nobody/Anonymous (nobody) Summary: About changes to the process environment Initial Comment: I did not find in the documentation a description of this interesting behavior : some commands like 'cd' or 'set' (and 'unset', 'export' on Unix) may have a direct side effect on the ooRexx process. The condition is that the command is simple, without redirection and without pipe. Useful when you use ooRexx as a command window. I propose a patch to update the Note about changes to the process environment, in section "How to Issue Commands" of Programming Guide. ---------------------------------------------------------------------- >Comment By: Mark Miesfeld (miesfeld) Date: 2008-12-21 09:26 Message: jfaucher, Below is a rough draft of rewording the whole note. Feel free to edit it as you would like. I would strongly encourage you to resubmit your patch with the whole note reworded. You would gain lots of points with me, and I'm sure all the developers, for submitting document patches. Note: Usually, when executing a host command addressed to the Windows or Unix/Linux command shell, that is, an expression that is passed to the system by address CMD as described above, a new process is created in the system command handler to execute the command. Changes in a child process environment do not effect, do not change, the parent process environment. Therefore, any change in the environment, such as a directory change, made by a host command executed in a child process would not be reflected in the process running the Rexx program. The interpreter attempts to mitigate this to some extent by executing some host commands in the process running the Rexx program, rather than in a child process. This is done so that changes to the environment made by executing the host command are visible in the process running the Rexx program. This is only done when the host command line is simple. That is, the command line must contain a single command, without redirection and without pipe. On Windows this applies to the CD and SET commands. On Unix-like systems, including Linux, this applies to cd, set, unset, and export. Rather than remembering the rules, it may be easier to avoid a potential problem by using the built in directory() or value() functions rather than issuing a host command for cd, set, etc. Some examples: 'cd c:\tmp' /* executed in Rexx program process */ 'cd /tmp' /* executed in Rexx program process */ 'cd "c:\R&D (secret)"' /* executed in Rexx program process */ 'cd c:\windows && dir c:' /* executed in child process (2 commands) */ 'cd /tmp && pwd' /* executed in child process (2 commands) */ 'd:' /* executed in Rexx program process */ 'set myvar=my value' /* executed in Rexx program process */ ---------------------------------------------------------------------- Comment By: Mark Miesfeld (miesfeld) Date: 2008-12-20 23:20 Message: You're right that section in the doc is not really correct. Your patch is okay, but I think the note would still need some rewording. It doesn't make sense in the first paragraph of the note to say: When the host command returns, any changes to the process environment, such as changing the directory, are not passed back to the process running the Rexx program. and then say right after that: On Windows, the command CD is handled in the calling process ... Maybe you could just reword the whole note so that it was accurate and submit the patch again. -- Mark Miesfeld ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=1001880&aid=2455439&group_id=119701 |
From: SourceForge.net <no...@so...> - 2008-12-22 02:20:07
|
Documentation item #2455439, was opened at 2008-12-21 05:07 Message generated for change (Comment added) made by jfaucher You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=1001880&aid=2455439&group_id=119701 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: Programmer's Guide Group: 4.0.0 Status: Open Resolution: None Priority: 5 Private: No Submitted By: jfaucher (jfaucher) Assigned to: Nobody/Anonymous (nobody) Summary: About changes to the process environment Initial Comment: I did not find in the documentation a description of this interesting behavior : some commands like 'cd' or 'set' (and 'unset', 'export' on Unix) may have a direct side effect on the ooRexx process. The condition is that the command is simple, without redirection and without pipe. Useful when you use ooRexx as a command window. I propose a patch to update the Note about changes to the process environment, in section "How to Issue Commands" of Programming Guide. ---------------------------------------------------------------------- Comment By: jfaucher (jfaucher) Date: 2008-12-22 03:20 Message: Mark, Thanks for having provided the updated note. Here is a new patch V2 which contains your text. I made two changes : - "do not effect, do not change" replaced by "do not change". - The examples are splitted in two parts : Windows, Unix. Some examples for Unix depend on another patch I submitted today. ---------------------------------------------------------------------- Comment By: Mark Miesfeld (miesfeld) Date: 2008-12-21 18:26 Message: jfaucher, Below is a rough draft of rewording the whole note. Feel free to edit it as you would like. I would strongly encourage you to resubmit your patch with the whole note reworded. You would gain lots of points with me, and I'm sure all the developers, for submitting document patches. Note: Usually, when executing a host command addressed to the Windows or Unix/Linux command shell, that is, an expression that is passed to the system by address CMD as described above, a new process is created in the system command handler to execute the command. Changes in a child process environment do not effect, do not change, the parent process environment. Therefore, any change in the environment, such as a directory change, made by a host command executed in a child process would not be reflected in the process running the Rexx program. The interpreter attempts to mitigate this to some extent by executing some host commands in the process running the Rexx program, rather than in a child process. This is done so that changes to the environment made by executing the host command are visible in the process running the Rexx program. This is only done when the host command line is simple. That is, the command line must contain a single command, without redirection and without pipe. On Windows this applies to the CD and SET commands. On Unix-like systems, including Linux, this applies to cd, set, unset, and export. Rather than remembering the rules, it may be easier to avoid a potential problem by using the built in directory() or value() functions rather than issuing a host command for cd, set, etc. Some examples: 'cd c:\tmp' /* executed in Rexx program process */ 'cd /tmp' /* executed in Rexx program process */ 'cd "c:\R&D (secret)"' /* executed in Rexx program process */ 'cd c:\windows && dir c:' /* executed in child process (2 commands) */ 'cd /tmp && pwd' /* executed in child process (2 commands) */ 'd:' /* executed in Rexx program process */ 'set myvar=my value' /* executed in Rexx program process */ ---------------------------------------------------------------------- Comment By: Mark Miesfeld (miesfeld) Date: 2008-12-21 08:20 Message: You're right that section in the doc is not really correct. Your patch is okay, but I think the note would still need some rewording. It doesn't make sense in the first paragraph of the note to say: When the host command returns, any changes to the process environment, such as changing the directory, are not passed back to the process running the Rexx program. and then say right after that: On Windows, the command CD is handled in the calling process ... Maybe you could just reword the whole note so that it was accurate and submit the patch again. -- Mark Miesfeld ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=1001880&aid=2455439&group_id=119701 |
From: SourceForge.net <no...@so...> - 2008-12-22 03:39:42
|
Documentation item #2455439, was opened at 2008-12-20 20:07 Message generated for change (Comment added) made by miesfeld You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=1001880&aid=2455439&group_id=119701 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: Programmer's Guide Group: 4.0.0 >Status: Pending >Resolution: Accepted Priority: 5 Private: No Submitted By: jfaucher (jfaucher) >Assigned to: Mark Miesfeld (miesfeld) Summary: About changes to the process environment Initial Comment: I did not find in the documentation a description of this interesting behavior : some commands like 'cd' or 'set' (and 'unset', 'export' on Unix) may have a direct side effect on the ooRexx process. The condition is that the command is simple, without redirection and without pipe. Useful when you use ooRexx as a command window. I propose a patch to update the Note about changes to the process environment, in section "How to Issue Commands" of Programming Guide. ---------------------------------------------------------------------- >Comment By: Mark Miesfeld (miesfeld) Date: 2008-12-21 19:39 Message: Committed revision 3800. Thanks again. ---------------------------------------------------------------------- Comment By: jfaucher (jfaucher) Date: 2008-12-21 18:20 Message: Mark, Thanks for having provided the updated note. Here is a new patch V2 which contains your text. I made two changes : - "do not effect, do not change" replaced by "do not change". - The examples are splitted in two parts : Windows, Unix. Some examples for Unix depend on another patch I submitted today. ---------------------------------------------------------------------- Comment By: Mark Miesfeld (miesfeld) Date: 2008-12-21 09:26 Message: jfaucher, Below is a rough draft of rewording the whole note. Feel free to edit it as you would like. I would strongly encourage you to resubmit your patch with the whole note reworded. You would gain lots of points with me, and I'm sure all the developers, for submitting document patches. Note: Usually, when executing a host command addressed to the Windows or Unix/Linux command shell, that is, an expression that is passed to the system by address CMD as described above, a new process is created in the system command handler to execute the command. Changes in a child process environment do not effect, do not change, the parent process environment. Therefore, any change in the environment, such as a directory change, made by a host command executed in a child process would not be reflected in the process running the Rexx program. The interpreter attempts to mitigate this to some extent by executing some host commands in the process running the Rexx program, rather than in a child process. This is done so that changes to the environment made by executing the host command are visible in the process running the Rexx program. This is only done when the host command line is simple. That is, the command line must contain a single command, without redirection and without pipe. On Windows this applies to the CD and SET commands. On Unix-like systems, including Linux, this applies to cd, set, unset, and export. Rather than remembering the rules, it may be easier to avoid a potential problem by using the built in directory() or value() functions rather than issuing a host command for cd, set, etc. Some examples: 'cd c:\tmp' /* executed in Rexx program process */ 'cd /tmp' /* executed in Rexx program process */ 'cd "c:\R&D (secret)"' /* executed in Rexx program process */ 'cd c:\windows && dir c:' /* executed in child process (2 commands) */ 'cd /tmp && pwd' /* executed in child process (2 commands) */ 'd:' /* executed in Rexx program process */ 'set myvar=my value' /* executed in Rexx program process */ ---------------------------------------------------------------------- Comment By: Mark Miesfeld (miesfeld) Date: 2008-12-20 23:20 Message: You're right that section in the doc is not really correct. Your patch is okay, but I think the note would still need some rewording. It doesn't make sense in the first paragraph of the note to say: When the host command returns, any changes to the process environment, such as changing the directory, are not passed back to the process running the Rexx program. and then say right after that: On Windows, the command CD is handled in the calling process ... Maybe you could just reword the whole note so that it was accurate and submit the patch again. -- Mark Miesfeld ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=1001880&aid=2455439&group_id=119701 |
From: SourceForge.net <no...@so...> - 2010-02-26 16:59:42
|
Documentation item #2455439, was opened at 2008-12-20 20:07 Message generated for change (Settings changed) made by miesfeld You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=1001880&aid=2455439&group_id=119701 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: Programmer's Guide Group: 4.0.0 >Status: Closed Resolution: Accepted Priority: 5 Private: No Submitted By: jfaucher (jfaucher) Assigned to: Mark Miesfeld (miesfeld) Summary: About changes to the process environment Initial Comment: I did not find in the documentation a description of this interesting behavior : some commands like 'cd' or 'set' (and 'unset', 'export' on Unix) may have a direct side effect on the ooRexx process. The condition is that the command is simple, without redirection and without pipe. Useful when you use ooRexx as a command window. I propose a patch to update the Note about changes to the process environment, in section "How to Issue Commands" of Programming Guide. ---------------------------------------------------------------------- Comment By: Mark Miesfeld (miesfeld) Date: 2008-12-21 19:39 Message: Committed revision 3800. Thanks again. ---------------------------------------------------------------------- Comment By: jfaucher (jfaucher) Date: 2008-12-21 18:20 Message: Mark, Thanks for having provided the updated note. Here is a new patch V2 which contains your text. I made two changes : - "do not effect, do not change" replaced by "do not change". - The examples are splitted in two parts : Windows, Unix. Some examples for Unix depend on another patch I submitted today. ---------------------------------------------------------------------- Comment By: Mark Miesfeld (miesfeld) Date: 2008-12-21 09:26 Message: jfaucher, Below is a rough draft of rewording the whole note. Feel free to edit it as you would like. I would strongly encourage you to resubmit your patch with the whole note reworded. You would gain lots of points with me, and I'm sure all the developers, for submitting document patches. Note: Usually, when executing a host command addressed to the Windows or Unix/Linux command shell, that is, an expression that is passed to the system by address CMD as described above, a new process is created in the system command handler to execute the command. Changes in a child process environment do not effect, do not change, the parent process environment. Therefore, any change in the environment, such as a directory change, made by a host command executed in a child process would not be reflected in the process running the Rexx program. The interpreter attempts to mitigate this to some extent by executing some host commands in the process running the Rexx program, rather than in a child process. This is done so that changes to the environment made by executing the host command are visible in the process running the Rexx program. This is only done when the host command line is simple. That is, the command line must contain a single command, without redirection and without pipe. On Windows this applies to the CD and SET commands. On Unix-like systems, including Linux, this applies to cd, set, unset, and export. Rather than remembering the rules, it may be easier to avoid a potential problem by using the built in directory() or value() functions rather than issuing a host command for cd, set, etc. Some examples: 'cd c:\tmp' /* executed in Rexx program process */ 'cd /tmp' /* executed in Rexx program process */ 'cd "c:\R&D (secret)"' /* executed in Rexx program process */ 'cd c:\windows && dir c:' /* executed in child process (2 commands) */ 'cd /tmp && pwd' /* executed in child process (2 commands) */ 'd:' /* executed in Rexx program process */ 'set myvar=my value' /* executed in Rexx program process */ ---------------------------------------------------------------------- Comment By: Mark Miesfeld (miesfeld) Date: 2008-12-20 23:20 Message: You're right that section in the doc is not really correct. Your patch is okay, but I think the note would still need some rewording. It doesn't make sense in the first paragraph of the note to say: When the host command returns, any changes to the process environment, such as changing the directory, are not passed back to the process running the Rexx program. and then say right after that: On Windows, the command CD is handled in the calling process ... Maybe you could just reword the whole note so that it was accurate and submit the patch again. -- Mark Miesfeld ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=1001880&aid=2455439&group_id=119701 |