mirror of https://github.com/python/cpython.git
gh-125843: indicate which C function caused a `curses.error` (#125844)
- Rename error helpers with a `curses_set_error_*` prefix instead of `PyCurses*`. - Cleanly report both NULL and ERR cases. - Raise `curses.error` in `is_linetouched` instead of a `TypeError`.
This commit is contained in:
parent
c31547a591
commit
ee36db5500
|
@ -109,6 +109,13 @@ static void **PyCurses_API;
|
|||
static const char catchall_ERR[] = "curses function returned ERR";
|
||||
static const char catchall_NULL[] = "curses function returned NULL";
|
||||
|
||||
#if defined(CURSES_MODULE) || defined(CURSES_PANEL_MODULE)
|
||||
/* Error messages shared by the curses package */
|
||||
# define CURSES_ERROR_FORMAT "%s() returned %s"
|
||||
# define CURSES_ERROR_VERBOSE_FORMAT "%s() (called by %s()) returned %s"
|
||||
# define CURSES_ERROR_MUST_CALL_FORMAT "must call %s() first"
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
|
|
@ -130,6 +130,9 @@ def test_use_env(self):
|
|||
curses.use_env(False)
|
||||
curses.use_env(True)
|
||||
|
||||
def test_error(self):
|
||||
self.assertIsSubclass(curses.error, Exception)
|
||||
|
||||
def test_create_windows(self):
|
||||
win = curses.newwin(5, 10)
|
||||
self.assertEqual(win.getbegyx(), (0, 0))
|
||||
|
|
|
@ -0,0 +1,2 @@
|
|||
If possible, indicate which :mod:`curses` C function or macro is responsible
|
||||
for raising a :exc:`curses.error` exception. Patch by Bénédikt Tran.
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue