bug-bash
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Number with sign is read as octal despite a leading 10#


From: Isaac Marcos
Subject: Re: Number with sign is read as octal despite a leading 10#
Date: Sun, 12 Aug 2018 03:37:31 -0400

Chet Ramey (<address@hidden <mailto:address@hidden>>) 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 (<address@hidden>)
escribió:

> On 7/10/18 6:46 PM, Isaac Marcos wrote:
> > 2018-07-10 18:12 GMT-04:00 Eduardo Bustamante <address@hidden
> > <mailto:address@hidden>>:
> >
> >     On Tue, Jul 10, 2018 at 1:57 PM, Isaac Marcos
> >     <address@hidden <mailto:address@hidden>>
> wrote:
> >     > Chet Ramey (<address@hidden <mailto:address@hidden>>)
> 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    address@hidden    http://tiswww.cwru.edu/~chet/
>


-- 
Cases are always threesome:
Best case, Worst case, and Just in case


reply via email to

[Prev in Thread] Current Thread [Next in Thread]