------ art_17418_18296238.1145905430552 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline On 4/24/06, pb <posterboy / resalehost.networksolutions.com> wrote: > > pb wrote: > > Oops, spoke too soon. When I actually try this suggestion I get a > 'unknown variable or method' error at the "use_posix" line. The code > (minus use_posix) returns the original error: 'option -dv unknown'. > > I understand the difference between POSIX & GNU option styles but > CommandLine's documentation states > > "The Gnu and the Unix option types can be mixed on the same commandline. > The following are equivalent: > > app -a -b --with-c > app -ab --with-c > app -ba --with-c > app --with-c -ab" > > I've yet to find a way to accomplish this claim within the example > above. > Did I misunderstand the reply? I know I'm doing something wrong since > CommandLine is established code. Where did I wander off the path? Nope. You understood correctly. I am afraid that you have found the soft underbelly of CommandLine. That behavior used to be supported, but was removed. So, in short, the documentation has lied to you. The problem comes about from trying to support too many different option types, so at the time, they were removed so we could make a timely release. So far, you are the first that wanted to mix the two. There shouldn't be a problem adding this feature, but we would need to add a check to test for legal combinations. If you want to provide a patch I am more that willing to add it in. Or, you can wait on me. :) Not sure when I can get around to this, but I think it should be done. Let me provide a little history of the problem. The three option styles are Gnu, XTools and Posix. Other than syntax, there is also functional features of each. Gnu and XTools can always be abbreviated. That is, the option "--fred" can be represented as "--fre", "--fr", or "--f", if any of those are unique. The same holds for XTools, "-fred" can be represented as "-fre", "-fr" or "-f". This feature is always on and cannot be turned off. The functional feature of Posix is that the options "-a" and "-b" can be written as "-ab" or as "-ba". Supporting this with XTools could get confusing, so we have opted not to support this. If the Posix functional feature of combining options is turned off, then all three may be combined in the same set of options. CommandLine prefers this since it doesn't want to limit how you define options. But, if we turn the Posix combining feature on, we have the following possible combinations: gnu, xtools - ok gnu, posix - ok posix, xtools - illegal gnu, posix, xtools - illegal To implement this change, application.rb and optionparser.rb will need to be modified (and possibly option.rb). So, please help me out here on the interface. Most people will use gnu style options with the posix style short options. If the options list only contains gnu and posix style options, should posix be on by default? How should posix be turned on and off? -- Jim Freeze ------ art_17418_18296238.1145905430552--