A NOTE has been added to this issue. 
====================================================================== 
http://austingroupbugs.net/view.php?id=767 
====================================================================== 
Reported By:                dwheeler
Assigned To:                ajosey
====================================================================== 
Project:                    1003.1(2008)/Issue 7
Issue ID:                   767
Category:                   Shell and Utilities
Type:                       Enhancement Request
Severity:                   Objection
Priority:                   normal
Status:                     Under Review
Name:                       David A. Wheeler 
Organization:                
User Reference:              
Section:                    XCU 2.14 (local) 
Page Number:                2374 
Line Number:                75650 
Interp Status:              --- 
Final Accepted Text:         
====================================================================== 
Date Submitted:             2013-10-11 02:02 UTC
Last Modified:              2018-06-19 17:40 UTC
====================================================================== 
Summary:                    Add built-in "local"
======================================================================
Relationships       ID      Summary
----------------------------------------------------------------------
related to          0000771 Expose alternate shell function usage t...
related to          0000465 is the list of special built-ins exhaus...
related to          0001025 set description contains counterproduct...
related to          0001065 Clarification request on invocations
====================================================================== 

---------------------------------------------------------------------- 
 (0004046) kre (reporter) - 2018-06-19 17:40
 http://austingroupbugs.net/view.php?id=767#c4046 
---------------------------------------------------------------------- 
Also, the idea that "unset" should (ever) mean "unlocal" is just
mind boggling to me - an option to unset perhaps, but if an
unlocal, or upvar, or similar command is needed - just add it, don't
pervert something that already has meaning.

That is, I would summit, that anywhere, that is in any context
whatever, the sequence

       unset VAR && printf '%s\n' "${VAR:-OK}"

must *always* say "OK", or generate an error (if VAR is readonly)
with no exceptions permitted.

And incidentally, wrt readonly vars, what should happen when one is made
readonly is an interesting question (I mean here, what should happen, not
what we should write in a standard if it were to be written today).
I used to be of the opinion that once a var is readonly, it must stay that
way, and making it local in a function should be essentially a no-op
(or perhaps an error - especially in shells where unset is the default for
new local vars).   More recently I am shifting to the view that the
readonly attribute on the previous instance of the var should be
irrelevant.
While the local version is in scope, it should make no difference at all
what the attributes of the hidden one was.   Similarly if an exported var
is made local, but not then exported, the export attribute should be lost
while the local var remains in scope.   Of course, once the local var
vanishes, the previous one is restored, along with all attributes,
unchanged.

I'd also dispute the "break tons of existing scripts" assertion (for
making
the default for local either -I or -N to use the NetBSD sh options). 
There
are certainly scripts that would be affected, but the vast majority that I
have seen simply don't care - they assign a value to local vars before
any attempt is made to use them (partly I expect, because many sh
programmers
believe they are writing C ...(or similar)) 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2013-10-11 02:02 dwheeler       New Issue                                    
2013-10-11 02:02 dwheeler       Status                   New => Under Review 
2013-10-11 02:02 dwheeler       Assigned To               => ajosey          
2013-10-11 02:02 dwheeler       Name                      => David A. Wheeler
2013-10-11 02:02 dwheeler       Section                   => XCU 2.14 (local)
2013-10-11 02:02 dwheeler       Page Number               => 2374            
2013-10-11 02:02 dwheeler       Line Number               => 75650           
2013-10-11 08:31 geoffclare     Relationship added       related to 0000465  
2013-10-15 22:47 dwheeler       Note Added: 0001912                          
2013-10-17 05:52 ranjit         Note Added: 0001924                          
2013-10-20 05:00 shware_systems Note Added: 0001937                          
2013-11-14 16:08 geoffclare     Relationship added       related to 0000771  
2015-04-23 23:12 emaste         Issue Monitored: emaste                      
2016-07-05 09:35 joerg          Note Added: 0003285                          
2016-12-01 16:51 eblake         Relationship added       related to 0001025  
2017-05-19 21:39 mirabilos      Note Added: 0003699                          
2017-05-19 22:12 stephane       Note Added: 0003701                          
2017-05-22 11:19 joerg          Note Added: 0003702                          
2017-05-22 11:20 joerg          Note Edited: 0003702                         
2017-05-22 11:20 joerg          Note Edited: 0003702                         
2017-05-22 11:21 joerg          Note Edited: 0003702                         
2017-05-22 19:38 stephane       Note Added: 0003703                          
2017-05-22 23:06 shware_systems Note Added: 0003704                          
2017-05-23 03:41 kre            Note Added: 0003705                          
2017-05-23 10:47 shware_systems Note Added: 0003706                          
2017-05-23 11:07 shware_systems Note Edited: 0003706                         
2017-05-23 12:06 stephane       Note Added: 0003707                          
2017-05-23 13:08 joerg          Note Added: 0003708                          
2017-05-23 13:18 joerg          Note Added: 0003709                          
2017-05-23 13:19 joerg          Note Edited: 0003709                         
2017-05-23 13:41 chet_ramey     Note Added: 0003710                          
2017-05-23 13:47 joerg          Note Added: 0003711                          
2017-05-23 13:47 chet_ramey     Note Added: 0003712                          
2017-05-23 13:51 joerg          Note Added: 0003713                          
2017-05-23 14:00 chet_ramey     Note Added: 0003714                          
2017-05-23 14:05 chet_ramey     Note Added: 0003715                          
2017-05-23 14:11 stephane       Note Added: 0003716                          
2017-05-23 14:14 chet_ramey     Note Added: 0003717                          
2017-05-23 14:17 joerg          Note Added: 0003718                          
2017-05-23 14:19 stephane       Note Added: 0003719                          
2017-05-23 14:26 chet_ramey     Note Added: 0003720                          
2017-05-23 14:29 chet_ramey     Note Added: 0003721                          
2017-05-23 14:32 chet_ramey     Note Added: 0003722                          
2017-05-23 14:45 joerg          Note Added: 0003723                          
2017-05-23 15:16 chet_ramey     Note Added: 0003724                          
2017-05-23 15:29 stephane       Note Added: 0003725                          
2017-05-23 16:34 shware_systems Note Added: 0003726                          
2017-05-23 17:28 shware_systems Note Added: 0003727                          
2017-05-23 17:43 chet_ramey     Note Added: 0003728                          
2017-05-23 18:49 shware_systems Note Added: 0003729                          
2017-05-23 22:54 kre            Note Added: 0003730                          
2017-05-23 23:38 kre            Note Added: 0003731                          
2017-05-23 23:48 kre            Note Edited: 0003731                         
2017-05-23 23:57 kre            Note Edited: 0003731                         
2017-05-24 00:06 kre            Note Added: 0003732                          
2017-05-24 00:18 kre            Note Edited: 0003732                         
2017-05-24 00:40 kre            Note Edited: 0003732                         
2017-05-24 07:31 shware_systems Note Added: 0003733                          
2017-05-24 09:25 stephane       Note Added: 0003735                          
2017-05-24 09:53 kre            Note Added: 0003736                          
2017-05-24 10:37 kre            Note Added: 0003737                          
2017-05-24 10:38 kre            Note Edited: 0003737                         
2017-05-24 10:56 joerg          Note Added: 0003738                          
2017-05-24 11:24 stephane       Note Added: 0003739                          
2017-05-24 11:26 stephane       Note Edited: 0003739                         
2017-05-24 11:30 stephane       Note Edited: 0003739                         
2017-05-24 12:08 kre            Note Added: 0003740                          
2017-05-24 12:23 kre            Note Added: 0003741                          
2017-05-24 12:27 kre            Note Added: 0003742                          
2017-05-24 12:42 stephane       Note Added: 0003743                          
2017-05-24 12:59 kre            Note Added: 0003744                          
2017-05-24 13:02 joerg          Note Added: 0003745                          
2017-05-24 13:09 joerg          Note Edited: 0003745                         
2017-05-24 13:20 joerg          Note Edited: 0003745                         
2017-05-24 13:26 chet_ramey     Note Added: 0003746                          
2017-05-24 13:41 joerg          Note Edited: 0003745                         
2017-05-24 16:20 kre            Note Added: 0003747                          
2017-05-24 20:10 chet_ramey     Note Added: 0003748                          
2017-12-14 16:44 eblake         Relationship added       related to 0001065  
2018-06-19 15:45 mirabilos      Note Added: 0004043                          
2018-06-19 16:32 stephane       Note Added: 0004044                          
2018-06-19 16:33 stephane       Note Edited: 0004044                         
2018-06-19 17:25 kre            Note Added: 0004045                          
2018-06-19 17:40 kre            Note Added: 0004046                          
======================================================================


Reply via email to