bug-bash
[Top][All Lists]
Advanced

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

Re: declare checks on valid nameref names don't account for +=


From: Grisha Levit
Subject: Re: declare checks on valid nameref names don't account for +=
Date: Thu, 2 Jun 2016 03:46:33 -0400

Maybe this is fixed now, but the latest devel went a little overboard :)

$ declare a=a
bash: a: nameref variable self references not allowed

On Wed, Jun 1, 2016 at 9:45 AM, Chet Ramey <address@hidden> wrote:
On 5/31/16 2:08 PM, Grisha Levit wrote:
> On Wed, May 25, 2016 at 3:29 PM, Chet Ramey <address@hidden
> <mailto:address@hidden>> wrote:
>
>
>     Thanks for the report.  Both of these cases should be caught
>
> Is it deliberate that with the latest changes a faulty += RHS causes an
> existing valid nameref to be unset?

The code has always done that.  With more error checking happening at
assignment time instead of on reference, it's more apparent.  I'm working
on it.

> |$ declare -n ref=re $ declare -n ref+=f bash: ref: nameref variable self
> references not allowed $ declare -p ref bash: declare: ref: not found $
> declare -n ref=X $ declare -n ref+=/ bash: declare: `/': not a valid
> identifier $ *declare* -p ref bash: declare: ref: not found|
>
> Also, this still seems to miss some stuff that would normally be caught:
>
> |$ declare -n ref=ref[0] bash: declare: ref: nameref variable self
> references not allowed $ declare -n ref=re ref+=f[0] $ declare -p ref
> declare -n ref="ref[0]" |

Yes, though you still can't use it.

--
``The lyf so short, the craft so long to lerne.'' - Chaucer
                 ``Ars longa, vita brevis'' - Hippocrates
Chet Ramey, ITS, CWRU    address@hidden    http://cnswww.cns.cwru.edu/~chet/


reply via email to

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