Chris Pickett wrote:
> On 7/25/09, Garrett D'Amore <gdamore at sun.com> wrote:
>   
>> Chris Pickett wrote:
>>
>>     
>>> On 7/25/09, Garrett D'Amore <gdamore at sun.com> wrote:
>>>
>>>
>>>       
>>>> My main concern here is the integration of manual page functionality
>>>>         
>> into
>>     
>>>> the commands themselves.  I see both benefits and costs.  The benefit is
>>>> that the documentation is more likely to match the actual command.  But
>>>>         
>> part
>>     
>>>> of the cost is a much higher cost to perform localization for these, and
>>>> (depending on implementation) a potentially larger minimum size of the
>>>> binaries.  (I'm assuming for the moment that the documentation is stored
>>>>         
>> in
>>     
>>>> the binary, and the command is doing more than just executing some
>>>>         
>> pipeline
>>     
>>>> to access the manual content from /usr/share/man or whatever.)
>>>>
>>>>  Personally, I think --man, --html and --nroff and such is a dangerous
>>>> precedent to set.
>>>>
>>>>
>>>>         
>>> What about --help and --version? Do you object to those options, too?
>>> Would you drop your concerns if Roland would rename --man to
>>> --extended-help?
>>>
>>>
>>>       
>>  When the --man output really is a manual page, I still object.  It doesn't
>> matter what you call it -- the problem is that we have two copies of the
>> same information, the on-line manual page and the bits in the binary.
>>
>>  Actually, if --man were to generate an actual man page by reading the man
>> text from the on-disk file that is formatted by man(1) itself, then I would
>> probably answer all (or very nearly so) of my concerns about this.
>>     
>
> If you would've ever researched the implementation you would come to
> the conclusion that this is not possible. The same string used for
> argument parsing is the same string used to generate the help,
> version, man, nroff and html output. There is no space wasted
> *anywhere*.
>   

That's unfortunate... there is a lot of text in the output from some of 
this man output... its pretty obvious to me that the "SEE ALSO", 
"IMPLEMENTATION",  and "DESCRIPTION" sections of the --man output are 
not actually *required* for option parsing.  It may be that the text is 
embedded in a way that makes it difficult or impossible to remove.  At 
some level that's an implementation detail, but it is one that the 
committee will have to consider when the vote is taken.

But I also think you might well be wrong.  For example, consider the 
following in builtins.c (for sleep):

*const* *char* sh_optsleep 
<http://src.opensolaris.org/source/s?refs=sh_optsleep&project=/onnv>[] =
   1478 "[-1c?\n@(#)$Id: sleep (AT&T Research) 1999-04-07 $\n]"
   1479 USAGE_LICENSE 
<http://src.opensolaris.org/source/s?defs=USAGE_LICENSE&project=/onnv>
   1480 "[+NAME?sleep - suspend execution for an interval]"
   1481 "[+DESCRIPTION?\bsleep\b suspends execution for at least the time 
specified "
   1482         "by \aseconds\a or until a \bSIGALRM\b signal is received.  "
   1483         "\aseconds\a can be specified as a floating point number but 
the "
   1484         "actual granularity depends on the underlying system, normally "
   1485         "around 1 millisecond.]"
   1486 "\n"
   1487 "\nseconds\n"
   1488 "\n"
   1489 "[+EXIT STATUS?]{"
   1490         "[+0?The execution was successfully suspended for at least 
\atime\a "
   1491         "seconds, or a \bSIGALRM\b signal was received.]"
   1492         "[+>0?An error occurred.]"
   1493 "}"
   1494 "[+SEE ALSO?\btime\b(1), \bwait\b(1)]"
   1495 ;


Why couldn't I have simply #ifdef'd out lines 1479-1488, and 1489-1494?

None of that text looks (at least to me) to be intrinsically necessary 
as part of the options parser.

>   
>>  If you read my architectural concerns about this, then you'd understand why
>> I have problems with it.  (Right now it looks like I'm very much in the
>> minority
>>     
>
> Yes, you are.
>   

Well, we'll see.  I'll be satisfied if the the committee takes a vote, 
no matter how the vote turns out.  At least then I'll know that the 
concerns I've raised were properly considered.  It may be that the 
concerns are no longer relevant, in which case I'll happily stand 
aside.   So my requesting a vote on the issue (and pointing out the 
concerns) should not be a problem for folks convinced that none of my 
concerns matter anymore and that the other PSARC members will see the 
foolishness of my thinking.

>   
>> -- maybe a minority of one on this -- but if so then a vote on the
>> issue will be easy for the project team to achieve, and costs nobody
>> anything except me -- and the cost to me is that I'll have to write the
>> resulting opinion.)
>>     
>
> Where and when is such a vote done? Where can I vote?
>   


On Wednesday at the PSARC meeting.  Only regular PSARC members can vote.

     - Garrett


Reply via email to