The frequency is irrelevant, although there is a huge amount of REXX code that 
deals with the name of a variable. If you don't understand the language then 
you will inevitably shoot yourself in the foot, and that applies to more than 
REXX.


--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3

________________________________________
From: IBM Mainframe Discussion List [[email protected]] on behalf of 
Tony Thigpen [[email protected]]
Sent: Friday, June 5, 2020 2:29 PM
To: [email protected]
Subject: Re: Gratuitous EXECIO Documentation

No, the problem is not an understanding of how REXX evaluates expressions.

The problem is that EXECIO is one of the few places that a variable NAME
is an operand, not the variable CONTENTS.

Tony Thigpen

Seymour J Metz wrote on 6/5/20 2:11 PM:
>> Your statement implies that "sometimes" it is legitimate to not use quotes.
>
> In fact, sometimes it is mandatory to not use them.
>
> Your suggested wording has the same issue as what is in the manual; it 
> prescribes rules that aren't always appropriate. The REXX Reference manual 
> has a perfectly adequate description of how REXX evaluates expressions: refer 
> the reader to that. Don't invent rules that sometimes don't apply.
>
> The root problem is that someone is writing code without understanding the 
> language.
>
>
> --
> Shmuel (Seymour J.) Metz
> http://mason.gmu.edu/~smetz3
>
> ________________________________________
> From: IBM Mainframe Discussion List [[email protected]] on behalf of 
> Tony Thigpen [[email protected]]
> Sent: Friday, June 5, 2020 2:03 PM
> To: [email protected]
> Subject: Re: Gratuitous EXECIO Documentation
>
> Sorry, but I disagree.
>
> Your statement implies that "sometimes" it is legitimate to not use
> quotes. I would say that "sometimes you can get lucky and get away with
> not using quotes". :-)
>
> A very basic documentation statement would be:
>      Some formats of the EXECIO command may reference a variable
>      by the name of the variable. Such references should be
>      within quoted text. Such an example is the variable name
>      of a stem variable:
>      Correct:
>        'EXECIO 5 DISKW' ddname '(STEM MYSTEM.'
>      Incorrect:
>        'EXECIO 5 DISKW' ddname '(STEM' mystem.
>      Use without quotes can result in unpredictable results.
>
>
> I really think this is the root problem, not the fact that someone
> defined a variable with the same name as a common keyword, such as your
> example with "STEM". Such an example is just part of the language
> restriction and not directly related to EXECIO.
>
>
> Tony Thigpen
>
> Seymour J Metz wrote on 6/5/20 12:56 PM:
>> My problem with gratuitous documentation is that they invariably get it 
>> wrong. Describe the actual requirements and direct the reader to the 
>> appropriate places for details. In this case, something like:
>>
>>       As with any command issued to an external environment, ensure that the
>>       expression you use evaluates to the intended EXECIO command. In
>>       particular, it may be prudent to always quote keywords to avoid
>>       confusion with variables with the same name.  For example, if you 
>> assign
>>       the variable "stem" to a value other than 'STEM' and then use
>>
>>           EXECIO 5 DISKW ddname '(' STEM
>>
>>       instead of
>>
>>           EXECIO 5 DISKW ddname '( STEM'
>>
>>       in your code, you will not invoke the correct command.
>>
>> Would be reasonable if they have to spell it out.
>>
>>
>>
>> --
>> Shmuel (Seymour J.) Metz
>> http://mason.gmu.edu/~smetz3
>>
>> ________________________________________
>> From: IBM Mainframe Discussion List [[email protected]] on behalf of 
>> Paul Gilmartin [[email protected]]
>> Sent: Friday, June 5, 2020 11:29 AM
>> To: [email protected]
>> Subject: Gratuitous EXECIO Documentation
>>
>> In: 
>> https://www.ibm.com/support/knowledgecenter/SSLTBW_2.3.0/com.ibm.zos.v2r3.ikja300/dup0037.htm
>>
>> I see the verbiage:
>>       When you use EXECIO, you must ensure that you use quotation marks
>>       around any operands, such as DISKW, STEM, FINIS, or LIFO. Using
>>       quotation marks prevents the possibility of the operands being 
>> substituted
>>       as variables. For example, if you assign the variable stem to a value 
>> in
>>       the exec and then issue EXECIO with the STEM option, if STEM is not
>>       enclosed in quotation marks, it is substituted with its assigned value.
>>
>> Sheesh!  A similar caution might be included for any command in the Ref.,
>> but it doesn't belong.
>>
>> "must ensure"?  Well, not always.
>>
>> I infer the etiology: A troublesome user once coded:
>>       STEM=SKIP  /* perhaps */
>>       EXECIO ...
>> ... got astonishing results; went to SR; got fully proper "REJ; RTFM";
>> vindictively submitted RCF.  A feckless tech writer acceded and added
>> the paragraph.
>>
>> I strongly suspect the matter is covered properly earlier (citation needed)
>> in the Ref., which shouldn't be cluttered with such errant rubbish.
>>
>> (I was reading that Ref. to see whether EXECIO assembles segments
>> of V[B]S records.  Didn't find it.)
>>
>> -- gil
>>
>> ----------------------------------------------------------------------
>> For IBM-MAIN subscribe / signoff / archive access instructions,
>> send email to [email protected] with the message: INFO IBM-MAIN
>>
>> ----------------------------------------------------------------------
>> For IBM-MAIN subscribe / signoff / archive access instructions,
>> send email to [email protected] with the message: INFO IBM-MAIN
>>
>
> ----------------------------------------------------------------------
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to [email protected] with the message: INFO IBM-MAIN
>
> ----------------------------------------------------------------------
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to [email protected] with the message: INFO IBM-MAIN
>

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN

Reply via email to