]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
bpo-46000: Improve NetBSD curses compatibility (GH-29947) (GH-30023)
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
Fri, 10 Dec 2021 11:21:19 +0000 (03:21 -0800)
committerGitHub <noreply@github.com>
Fri, 10 Dec 2021 11:21:19 +0000 (13:21 +0200)
(cherry picked from commit 2fb797e93c6bbd44dfcbe23f63acfa240a87e48a)

Co-authored-by: Thomas Klausner <tk@giga.or.at>
Misc/NEWS.d/next/Core and Builtins/2021-12-07-11-42-44.bpo-46000.v_ru3k.rst [new file with mode: 0644]
Modules/_cursesmodule.c

diff --git a/Misc/NEWS.d/next/Core and Builtins/2021-12-07-11-42-44.bpo-46000.v_ru3k.rst b/Misc/NEWS.d/next/Core and Builtins/2021-12-07-11-42-44.bpo-46000.v_ru3k.rst
new file mode 100644 (file)
index 0000000..68e4bfa
--- /dev/null
@@ -0,0 +1 @@
+Improve compatibility of the :mod:`curses` module with NetBSD curses.
index a32cc4b88435cb7bb4a6d8ccaf9edf55ad1e1df1..f95677cee57507014329406412b27ec479e64c43 100644 (file)
@@ -1077,8 +1077,8 @@ PyCursesWindow_ChgAt(PyCursesWindowObject *self, PyObject *args)
         return NULL;
     }
 
-    color = (short)((attr >> 8) & 0xff);
-    attr = attr - (color << 8);
+    color = (short) PAIR_NUMBER(attr);
+    attr = attr & A_ATTRIBUTES;
 
     if (use_xy) {
         rtn = mvwchgat(self->win,y,x,num,attr,color,NULL);