On 2013-08-22, Nikolay Pavlov wrote:

> No, this is not a bug. Index of buffer within vim.buffers used to be an 
> unknown
> integer: it was index of underlying C linked list of buffers. I changed the
> code to make it more meaningful: now this index is buffer number. But there is
> no buffer number zero.
> 
> Guess it was better to make it more like vim.windows for such cases (index in
> vim.windows is window number-1). To get first buffer regardless of what vim
> version is one has to use next(iter(vim.buffers)).
> 
> Note that the following code (it is the one that raises an exception) is
> incorrect in any vim:
> 
> class Buffer(object):
>     def __init__(self, i):
>         self.number = i + 1
>         self._buffer = vim.buffers[i]
>         self.name = self._buffer.name
> 
> : buffer number was NEVER equal to buffer index in vim.buffers incremented by
> 1. It may be eventually equal, but only until you delete some buffer that was
> created earlier then the buffer you seek. To make it work correctly before and
> after my change one should write
> 
>     for b in vim.buffers:
>         if b.number == self.number:
>             self._buffer = b
>             break
> 
> in place of the second line in __init__.

Thank you!  That works great.  I applied your change right away,
then had to wait for an opportunity to test it.

Regards,
Gary

-- 
-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.

Raspunde prin e-mail lui