Also would it be _recommended_ to ever use a window-local variable
without
the "w:" prefix? ... IMHO not.
Well, it would make it easier for the user to configure scripts. I'm
myself not convinced that it's a good idea to allow this for all
variables, though. But I think it could be useful in some situations
when you want the user to set a variable per buffer/window or use the
global value. I sometimes end up with code like this
if a:0 >= 1
let x = a:1
elseif exists('b:foo')
let x = b:foo
else
let x = g:foo
endif
The idea was to solve this with some magic.
Of course, with the exception of s:, a user-defined function could help
too, which probably is sufficient.
let x = a:0 >= 1 ? a:1 : GetValue('foo', 'bg')