updated for version 7.3.943
Problem: Python: Negative indices were failing.
Solution: Fix negative indices. Add tests. (ZyX)
diff --git a/src/if_py_both.h b/src/if_py_both.h
index 681b7a1..eca07ae 100644
--- a/src/if_py_both.h
+++ b/src/if_py_both.h
@@ -2394,6 +2394,9 @@
if (end == -1)
end = self->buf->b_ml.ml_line_count;
+ if (n < 0)
+ n += end - start + 1;
+
if (n < 0 || n > end - start)
{
PyErr_SetString(PyExc_IndexError, _("line number out of range"));
@@ -2441,6 +2444,9 @@
if (end == -1)
end = self->buf->b_ml.ml_line_count;
+ if (n < 0)
+ n += end - start + 1;
+
if (n < 0 || n > end - start)
{
PyErr_SetString(PyExc_IndexError, _("line number out of range"));