Skip to content

Commit ace2522

Browse files
authored
Merge pull request #270 from cherti/fix-range
Raise end-index by 1 when setting parts of Range
2 parents 5d40785 + b533d8b commit ace2522

File tree

2 files changed

+9
-2
lines changed

2 files changed

+9
-2
lines changed

neovim/api/buffer.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -160,8 +160,8 @@ def __setitem__(self, idx, lines):
160160
if start is None:
161161
start = self.start
162162
if end is None:
163-
end = self.end + 1
164-
self._buffer[start:end] = lines
163+
end = self.end
164+
self._buffer[start:end + 1] = lines
165165

166166
def __iter__(self):
167167
for i in range(self.start, self.end + 1):

test/test_buffer.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -172,3 +172,10 @@ def test_get_exceptions():
172172
@with_setup(setup=cleanup)
173173
def test_contains():
174174
ok(vim.current.buffer in vim.buffers)
175+
176+
@with_setup(setup=cleanup)
177+
def test_set_items_for_range():
178+
vim.current.buffer[:] = ['a', 'b', 'c', 'd', 'e']
179+
r = vim.current.buffer.range(1, 3)
180+
r[1:3] = ['foo']*3
181+
eq(vim.current.buffer[:], ['a', 'foo', 'foo', 'foo', 'd', 'e'])

0 commit comments

Comments
 (0)