On 7/2/06, Mikolaj Machowski <[EMAIL PROTECTED]> wrote:
Dnia niedziela, 2 lipca 2006 12:06, Nikolai Weibull napisaĆ: > On 7/1/06, justin constantino <[EMAIL PROTECTED]> wrote: > > E706: Variable type mismatch > > > > As a minor improvement, I think it would be nice if you could do: > > > > let foo = "one,two,three" > > let! foo = split(foo, ',') > > I think we should just remove the whole restriction. > Definitely not. I was thinking about suggestion of :let! few times before and each time I was throwing it away. For example :let allows to change settings. Silently dropping changing of option value or setting it to some absurd setting would be Bad Thing(tm).
I'd like to see how current :let is so super-intelligent so that it prevents assignment of what you call "absurd setting" to the &options. Consider string-to-number assignment rules. :let &readonly="abc" " silently allowed :let &shiftwidth="xyz" " silently allowed :let &statusline=123 " silently allowed Just normal silent string-to-nubmer (and number to string, whre applicable) conversion well-accepted in interpreted languages. Where did you see the "intelligent prevention of absurd values" in the existing :let ? If anything, it's boolean and numeric nature of some options that forces corresponsing conversion, or string nature of the other options. It forces :let into silent type conversion, right now. This is exactly what prompred Justin and Nikolai to ask for analogous silent type conversion between lists and strings. Yakov