Use of the information contained in this unapproved document is at your own risk
.Last update: 20 April,2001
1003.2 #179
_____________________________________________________________________________
Interpretation Number: xxxx
Topic: mailx, SHELL environment variable
Relevant Sections: 1003.2 4.40.5.3, P 340, L 6229
PASC Interpretation Request: (Defect Report)
----------------------------
Date: 2000 June 16
Ref: XCU.129
------------------------------------------------------------------------
7 Defect Report concerning (number and title of International Standard
or DIS final text, if applicable):
IEEE Std 1003.2-1992 (ISO 9945-2:1992).
------------------------------------------------------------------------
8 Qualifier (e.g. error, omission, clarification required):
3
Error=1 , Omission=2, Clarification=3
------------------------------------------------------------------------
9 References in document (e.g. page, clause, figure, and/or table
numbers):
P 340, L 6229
------------------------------------------------------------------------
10 Nature of defect (complete, concise explanation of the perceived
problem):
The purpose of this IR is to bring resolution of the
problem into scope for the Austin Group revision.
There is an unresolved ramification of two potentially conflicting
statements.
Problem: on 6229, the variable SHELL is defined as the preferred
command interpreter. However, it is also implied on 6219 that
PAGER is executed using a "sh -c". Consider the situation where
the user is (e.g.) a csh user, and has his environment set up so
that his default pager is an alias (or function, or whatever) and
he has set PAGER to that value. Because sh -c is (implicitly)
required, the SHELL environment variable must be ignored, and the
user will not get his desired pager (because sh will not be able
to interpret the csh alias, even if it even sees it). (If csh
isn't an extreme enough example, allow for a user using some other
homebrew shell, possibly a front end to PERL.)
If the intent is to require the moral equivalent of
$SHELL -c $PAGER
then it clearly isn't required by the current text.
------------------------------------------------------------------------
11 Solution proposed by the submitter (optional):
I don't have a preference here: if the "broken csh" behavior is what
is normal, that's fine. Just say so.
However, I'd suggest something more aesthetic than that, so that there's
less pressure to revise the standard to fix it. A suggestion:
"The pager is passed to the current command interpreter (specified
by the SHELL environment variable) using the -c option". But, again,
whatever makes the standard most viable is fine.
------------------------------------------------------------------------
Interpretation response
------------------------
The standard is clear (and explicit); sh -c should be used (for LISTER and
PAGER).
Rationale
-------------
While researching this issue, the interps committee noted that there was
differing wording for EDITOR and VISUAL, and this has been forwarded to
the sponsor for consideration.
Forwarded to Interpretations group: 19 June 2000
Proposed resolution: 25 July 2000
Finalised interpretation: 29 August 2000