Dnia 2013-06-02, o godz. 03:09:31 Mike Frysinger napisał(a): > On Sunday 02 June 2013 02:51:34 Michał Górny wrote: > > Dnia 2013-06-01, o godz. 23:03:20 Mike Frysinger napisał(a): > > > simple set of helpers to save/restore a variable in a limited section of > > > code > > > > > > you can see an example of it in action at the end of the file where i > > > need to tweak epatch (and no, doing `LC_COLLATE=C set -- ....` does not > > > work). > > > > Why the ugly hackery instead of proper 'local' scope? > > there's no way to undo the local thus it affects the rest of the func. this > makes sure the change is actually localized to where it is needed. By use of global variables and a bunch of additional code and evals. Is: local _epatch_foo=${foo} local foo ... foo=${_epatch_foo} really that hurtful? Also, do you really want the collation to be changed only in this one place? This looks weird to me. Much like fixing tiny bug and trying to avoid checking whether anything else is affected. -- Best regards, Michał Górny