The :lockvar and :unlockvar commands fail when there is a recursive
references. E.g., try the below:
:let a = {}
:let b = {}
:let a.b = b
:let b:a = a
:lockvar! a
E743: variable nested too deep for (un)lock
You could of course end up with more complicated indirect recursive
references as well, so it should guard against it.
Also, just noticed that string() fails as well.
:echo string(a)
E724: variable nested too deep for displaying
There are probably others that would fail as well.
--
Thanks,
Hari
__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com