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 

Reply via email to