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 <chet.ra...@case.edu> wrote: > On 5/31/16 2:08 PM, Grisha Levit wrote: > > On Wed, May 25, 2016 at 3:29 PM, Chet Ramey <chet.ra...@case.edu > > <mailto:chet.ra...@case.edu>> 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 c...@case.edu > http://cnswww.cns.cwru.edu/~chet/ >