From 82df1fc9ea66539607ab2ef96571660fd1ed3fd6 Mon Sep 17 00:00:00 2001 From: Ivan Levkivskyi Date: Tue, 21 Dec 2021 13:19:32 +0000 Subject: [PATCH] Partial backport of #11785 --- mypy/typeshed/stdlib/_curses.pyi | 2 +- mypy/util.py | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/mypy/typeshed/stdlib/_curses.pyi b/mypy/typeshed/stdlib/_curses.pyi index e4fc2a8f68f0..6b08e4bd4952 100644 --- a/mypy/typeshed/stdlib/_curses.pyi +++ b/mypy/typeshed/stdlib/_curses.pyi @@ -344,7 +344,7 @@ def termattrs() -> int: ... def termname() -> bytes: ... def tigetflag(__capname: str) -> int: ... def tigetnum(__capname: str) -> int: ... -def tigetstr(__capname: str) -> bytes: ... +def tigetstr(__capname: str) -> bytes | None: ... def tparm( __str: bytes, __i1: int = ..., diff --git a/mypy/util.py b/mypy/util.py index db77ac42fbd4..6677c47d6941 100644 --- a/mypy/util.py +++ b/mypy/util.py @@ -566,11 +566,12 @@ def initialize_unix_colors(self) -> bool: under = curses.tigetstr('smul') set_color = curses.tigetstr('setaf') set_eseq = curses.tigetstr('cup') + normal = curses.tigetstr('sgr0') - if not (bold and under and set_color and set_eseq): + if not (bold and under and set_color and set_eseq and normal): return False - self.NORMAL = curses.tigetstr('sgr0').decode() + self.NORMAL = normal.decode() self.BOLD = bold.decode() self.UNDER = under.decode() self.DIM = parse_gray_color(set_eseq)