Hari Krishna Dara wrote:

> On Wed, 25 Oct 2006 at 9:16am, Nikolai Weibull wrote:
> 
> > On 10/25/06, Hari Krishna Dara <[EMAIL PROTECTED]> wrote:
> > >
> > > Here is a patch that adds set() function on the lines of existing get()
> > > for setting list elements by index or dict keys by name. The reason I
> > > wanted this is the lack of support to use :let for modifying the
> > > dictionary elements. E.g., the below will be an error:
> > >
> > > :let get_dict().key = 'val'
> > >
> > > The alternative is to use the new set() function as:
> > >
> > > :call set(get_dict(), 'key', 'val')
> >
> > Wouldn't it be better to allow the :let syntax you describe above?  It
> > shouldn't be impossible to parse that kind of expression.
> 
> - A set() function will be nice to have anyway (to balance out get())
> - Adding a function is much easier (at least for me as a newbie) and the
>   change is more isolated than changing the syntax of the :let command.
>   This also means better likely hood of getting incorporated sooner.
> - The last time the :let syntax was discussed, I don't think Bram agreed
>   to fix this issue, which indicates he is not in favor of that, and
>   so less likelyhood to get incorporated.
> 
> BTW, I noticed that I had the min args as 2 (copied from f_get) which is
> wrong, it should be 3. I can send another patch, again if Bram is OK
> with this change at all.

I would prefer the ":let" command to work.  It's not easy to implement
but would be good for consistency.

The main reason get() exists is to be able to handle non-existing keys
in a simple way.  That argument doesn't hold for set().

The dictionary was modelled after Python, and I don't think that Python
has set().

-- 
Corduroy pillows: They're making headlines!

 /// Bram Moolenaar -- [EMAIL PROTECTED] -- http://www.Moolenaar.net   \\\
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\        download, build and distribute -- http://www.A-A-P.org        ///
 \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

Reply via email to