Olaf Dabrunz wrote: > Fix summary: > ------------ > > Some commands and functions interpret user locks (:lockvar) or internal > locks (fixed / readonly vars as in the v: scope) differently than others > or ignore some of them, so that a locked variable could be changed or > deleted, or a variable that should be deletable is not deleted. > > The following fixes make this more consistent with the docs in > ':he :lockvar' and with other expectations. > > 1. Fix :unlet removing items in locked dictionaries and lists. > > This also fixes user locks failing to protect a variable scope > against variable deletion, as in ':lockvar 1 b:'. > > 2. Fix :unlet not removing locked items in unlocked user dicts or > lists. > > 3. Fix extend() overwriting locked dictionary items. > > 4. Fix remove() deleting a fixed scope-level variable, such as > a:<var> and l:self, which may crash vim. > > 5. Fix filter() deleting a fixed scope-level variable, such as > l:self, which is likely to crash vim. > > 6. Fix extend() and map() overwriting a write-protected scope-level > variable, such as a:this_is_a_loooooooooong_parameter_name. > > 7. Review, but do not change the partial implementation around > internal flag DI_FLAGS_LOCK, which apparently was meant as a > means for the user to protect scope-level variables individually > against deletion.
[...] Thanks! That looks like a solid analysis. I'll check out the patch soon. -- The MS-Windows registry is no more hostile than any other bunch of state information... that is held in a binary format... a format that nobody understands... and is replicated and cached in a complex and largely undocumented way... and contains large amounts of duplicate and obfuscated information... (Ben Peterson) /// Bram Moolenaar -- [email protected] -- http://www.Moolenaar.net \\\ /// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ \\\ an exciting new programming language -- http://www.Zimbu.org /// \\\ help me help AIDS victims -- http://ICCF-Holland.org /// -- -- You received this message from the "vim_dev" maillist. Do not top-post! Type your reply below the text you are replying to. For more information, visit http://www.vim.org/maillist.php --- You received this message because you are subscribed to the Google Groups "vim_dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
