Chet Ramey (<chet.ra...@case.edu <mailto:chet.ra...@case.edu>>) wrote: > It doesn't matter. Unary plus and minus are operators, not part of integer constants.
But you are confused, what is after the 10# is not an integer constant, it is an string. An string that is being parsed by bash C code and coerced into a sign operator and a string of digits. What causes the problem is that the sign breaks the effect of the 10#. But that is entirely the result of the chosen interpretation of the string. You claim that it should be as the c language does it. But that is in conflict with any common human interpretation, namely: A number is: An optional sign followed by one or more digits. If you don't want to agree then mark this bug as wont-fix. El mar., 10 jul. 2018 a las 23:31, Chet Ramey (<chet.ra...@case.edu>) escribió: > On 7/10/18 6:46 PM, Isaac Marcos wrote: > > 2018-07-10 18:12 GMT-04:00 Eduardo Bustamante <dual...@gmail.com > > <mailto:dual...@gmail.com>>: > > > > On Tue, Jul 10, 2018 at 1:57 PM, Isaac Marcos > > <isaacmarcos100...@gmail.com <mailto:isaacmarcos100...@gmail.com>> > wrote: > > > Chet Ramey (<chet.ra...@case.edu <mailto:chet.ra...@case.edu>>) > wrote: > > [..] > > > This is not a serious argument. > > [...] > > > I don't care. All other shells do this correctly. It makes you the > only one > > > wrong. > > > > > > This is not a serious discussion. > > > > Can you keep the discussion civil? > > > > > > No. > > > > > > I don't get why you feel compelled > > to qualify an argument from the main developer as "non serious". > > > > > > Because *he* qualified my comments as "non serious" in another email. > > I did. You wrote: > > "Are you saying that bash should reject the use of negative numbers? > And, If so, why bash does not raise an error? (as it is expected that it > must do on invalid input)." > > This is clearly a ridiculous strawman. > > The topic is whether or not a sign can appear in the middle of an integer > constant, even when that integer constant begins with the `base#' syntax. > > > Only bash prints 28. Why others can print 34 ? > > They extend the definition of an integer constant. It's perfectly > reasonable to do that. Bash sticks to the C definition. > > > > > What is odd in expecting that an string like `-00133` actually mean > `-133` > > in decimal? > > Why would that be reasonable? Integers beginning with `0' are octal > constants. > > > -- > ``The lyf so short, the craft so long to lerne.'' - Chaucer > ``Ars longa, vita brevis'' - Hippocrates > Chet Ramey, UTech, CWRU c...@case.edu http://tiswww.cwru.edu/~chet/ > -- Cases are always threesome: Best case, Worst case, and Just in case