*Synopsis*: [ku1]Can't append to nodes of an array of compound vars if addressing them via nameref
CR 6805797 changed on Oct 28 2009 by <User 1-5HNZ8F> === Field ============ === New Value ============= === Old Value ============= Commit to Fix in Build snv_128 snv_127 Fixed in Build snv_128 Status 8-Fix Available 7-Fix in Progress ====================== =========================== =========================== *Change Request ID*: 6805797 *Synopsis*: [ku1]Can't append to nodes of an array of compound vars if addressing them via nameref Product: solaris Category: shell Subcategory: korn93 Type: Defect Subtype: Status: 8-Fix Available Substatus: Priority: 3-Medium Introduced In Release: solaris_nevada Introduced In Build: snv_72 Responsible Engineer: <User 1-7MTUEB> Keywords: opensolaris, oss-request, oss-sponsor === *Description* ============================================================ Category shell Sub-Category korn Description (bug title should be "Can't append to nodes of an array of compound variables when addressing them via nameref ..." but bugs.opensolaris.org doesn't allow longer bug titles) While searching for the problem with the filetree demo I found another bug: When I try to append compound variable data to an element of an associative array of compound variables where the element is referenced via a nameref the content doesn't get added... ;-( See further details in the testcase. Frequency Always Regression No Steps to Reproduce Run testcase. Expected Result Testcase should work. Actual Result Test case prints an error. Error Message(s) None. Test Case ----- snip ----- typeset -C -A foo1 typeset -C -A foo2 function add_one { nameref left_op=$1 typeset -C info info.hello="world" nameref x=info left_op+=x return 0 } foo1[1234]=( abc="alphabet" ) foo2[1234]=( abc="alphabet" ) # tree one gets additional content via nameref'ed name nameref node1="foo1[1234]" add_one "node1" # tree two gets additional content using it's direct indexed name add_one "foo2[1234]" [[ "${foo1[1234]}" == "${foo2[1234]}" ]] || print -u2 "test failed\n$(diff -u <(print -r -- "${foo1[1234]}") <(print -r -- "${foo2[1234]}"))." exit 0 ----- snip ----- Workaround None known. Additional configuration information Solaris 11/B106 *** (#1 of 1): 2009-02-16 03:20:28 GMT+00:00 <User 1-F4SZV> === *Public Comments* ======================================================== === *Workaround* ============================================================= === *Additional Details* ===================================================== Targeted Release: solaris_nevada Commit To Fix In Build: snv_128 Fixed In Build: snv_128 Integrated In Build: Verified In Build: See Also: 6437624, 6793763 Duplicate of: Hooks: Hook1: Hook2: Hook3: Hook4: Hook5: <email address omitted> Hook6: <email address omitted> Program Management: Root Cause: Insufficient Testing Fix Affects Documentation: No Fix Affects Localization: No === *History* ================================================================ Date Submitted: 2009-02-16 03:20:28 GMT+00:00 Submitted By: <User 1-F4SZV> Status Changed Date Updated Updated By 3-Accepted 2009-02-24 14:01:38 GMT+00:00 <User 1-1SURPB> 6-Fix Understood 2009-06-16 15:35:25 GMT+00:00 <User 1-1SURPB> 7-Fix in Progress 2009-10-23 18:13:11 GMT+00:00 <User 1-7MTUEB> 8-Fix Available 2009-10-28 18:23:34 GMT+00:00 <User 1-5HNZ8F> === *Service Request* ======================================================== Impact: Significant Functionality: Secondary Severity: 3 Product Name: solaris Product Release: solaris_nevada Product Build: snv_106 Operating System: solaris_nevada Hardware: generic Submitted Date: 2009-02-16 03:20:29 GMT+00:00 === *Multiple Release (MR) Cluster* - 0 ======================================