@@ -99,13 +99,6 @@ codecs
9999curses
100100------
101101
102- * Add support for multiple terminals to the :mod: `curses ` module:
103- the new functions :func: `curses.newterm `, :func: `curses.set_term `
104- and :func: `curses.new_prescr `,
105- the corresponding :ref: `screen <curses-screen-objects >` object,
106- and the :meth: `window.use() <curses.window.use> ` method.
107- (Contributed by Serhiy Storchaka in :gh: `90092 `.)
108-
109102* The :mod: `curses ` character-cell window methods now accept a full character
110103 cell --- a spacing character optionally followed by combining characters ---
111104 in addition to a single integer or byte character. This affects
@@ -126,40 +119,6 @@ curses
126119 and :meth: `~curses.window.in_wstr ` returns its decoded text.
127120 (Contributed by Serhiy Storchaka in :gh: `151757 `.)
128121
129- * The wide-character :mod: `curses ` functions and methods
130- :meth: `~curses.window.get_wch `, :meth: `~curses.window.get_wstr `,
131- :func: `curses.unget_wch `, :func: `curses.erasewchar `,
132- :func: `curses.killwchar ` and :func: `curses.wunctrl ` now also work when Python
133- is not built against a wide-character-aware curses library, on an 8-bit
134- locale, where each character is a single byte in the relevant encoding.
135- :func: `curses.ungetch ` now also accepts a one-character string, like
136- :func: `curses.unget_wch `; on a wide-character build it can be any character
137- (previously a multibyte character raised :exc: `OverflowError `).
138- (Contributed by Serhiy Storchaka in :gh: `152470 `.)
139-
140- * Add :func: `curses.nofilter `, which undoes the effect of :func: `curses.filter `.
141- (Contributed by Serhiy Storchaka in :gh: `151744 `.)
142-
143- * Add the :mod: `curses ` functions :func: `curses.alloc_pair `,
144- :func: `curses.find_pair `, :func: `curses.free_pair ` and
145- :func: `curses.reset_color_pairs ` for dynamic color-pair management,
146- available when built against a wide-character ncurses with extended-color
147- support.
148- (Contributed by Serhiy Storchaka in :gh: `151774 `.)
149-
150- * Add :mod: `curses ` functions and window methods that report state which could
151- previously only be set, such as :meth: `curses.window.is_keypad `,
152- :meth: `curses.window.getparent ` and :func: `curses.is_cbreak `,
153- available when built against an ncurses with ``NCURSES_EXT_FUNCS ``.
154- (Contributed by Serhiy Storchaka in :gh: `151776 `.)
155-
156- * Add the :mod: `curses ` window methods :meth: `~curses.window.attr_get `,
157- :meth: `~curses.window.attr_set `, :meth: `~curses.window.attr_on `,
158- :meth: `~curses.window.attr_off ` and :meth: `~curses.window.color_set `, which
159- pass the color pair as a separate argument instead of packing it into the
160- attribute value, and the corresponding ``WA_* `` attribute constants.
161- (Contributed by Serhiy Storchaka in :gh: `152219 `.)
162-
163122* Add the :class: `curses.complexchar ` type, representing a styled
164123 character cell (its text, attributes and color pair), and the window
165124 methods :meth: `~curses.window.in_wch ` and :meth: `~curses.window.getbkgrnd `
@@ -183,15 +142,52 @@ curses
183142 library.
184143 (Contributed by Serhiy Storchaka in :gh: `152233 `.)
185144
186- * Add the :mod: `curses ` window method :meth: `~curses.window.dupwin `, which
187- returns a new window that is an independent duplicate of an existing one.
188- (Contributed by Serhiy Storchaka in :gh: `152258 `.)
145+ * The wide-character :mod: `curses ` functions and methods
146+ :meth: `~curses.window.get_wch `, :meth: `~curses.window.get_wstr `,
147+ :func: `curses.unget_wch `, :func: `curses.erasewchar `,
148+ :func: `curses.killwchar ` and :func: `curses.wunctrl ` now also work when Python
149+ is not built against a wide-character-aware curses library, on an 8-bit
150+ locale, where each character is a single byte in the relevant encoding.
151+ :func: `curses.ungetch ` now also accepts a one-character string, like
152+ :func: `curses.unget_wch `; on a wide-character build it can be any character
153+ (previously a multibyte character raised :exc: `OverflowError `).
154+ (Contributed by Serhiy Storchaka in :gh: `152470 `.)
155+
156+ * Add support for multiple terminals to the :mod: `curses ` module:
157+ the new functions :func: `curses.newterm `, :func: `curses.set_term `
158+ and :func: `curses.new_prescr `,
159+ the corresponding :ref: `screen <curses-screen-objects >` object,
160+ and the :meth: `window.use() <curses.window.use> ` method.
161+ (Contributed by Serhiy Storchaka in :gh: `90092 `.)
162+
163+ * Add the :mod: `curses ` window methods :meth: `~curses.window.attr_get `,
164+ :meth: `~curses.window.attr_set `, :meth: `~curses.window.attr_on `,
165+ :meth: `~curses.window.attr_off ` and :meth: `~curses.window.color_set `, which
166+ pass the color pair as a separate argument instead of packing it into the
167+ attribute value, and the corresponding ``WA_* `` attribute constants.
168+ (Contributed by Serhiy Storchaka in :gh: `152219 `.)
169+
170+ * Add the :func: `curses.term_attrs ` function, which returns the supported
171+ video attributes as :ref: `WA_* <curses-wa-constants >` values, the
172+ counterpart of :func: `curses.termattrs `.
173+ (Contributed by Serhiy Storchaka in :gh: `152332 `.)
174+
175+ * Add the :mod: `curses ` functions :func: `curses.alloc_pair `,
176+ :func: `curses.find_pair `, :func: `curses.free_pair ` and
177+ :func: `curses.reset_color_pairs ` for dynamic color-pair management,
178+ available when built against a wide-character ncurses with extended-color
179+ support.
180+ (Contributed by Serhiy Storchaka in :gh: `151774 `.)
189181
190182* Add the :mod: `curses ` functions :func: `~curses.scr_dump `,
191183 :func: `~curses.scr_restore `, :func: `~curses.scr_init ` and
192184 :func: `~curses.scr_set `, which dump the whole screen to a file and restore it.
193185 (Contributed by Serhiy Storchaka in :gh: `152260 `.)
194186
187+ * Add the :mod: `curses ` window method :meth: `~curses.window.dupwin `, which
188+ returns a new window that is an independent duplicate of an existing one.
189+ (Contributed by Serhiy Storchaka in :gh: `152258 `.)
190+
195191* Add the soft-label-key functions to the :mod: `curses ` module, which manage a
196192 row of labels along the bottom line of the screen:
197193 :func: `~curses.slk_init `, :func: `~curses.slk_set `, :func: `~curses.slk_label `,
@@ -204,11 +200,6 @@ curses
204200 :func: `~curses.slk_attr_set `, and :func: `~curses.slk_color `.
205201 (Contributed by Serhiy Storchaka in :gh: `152263 `.)
206202
207- * Add the :func: `curses.term_attrs ` function, which returns the supported
208- video attributes as :ref: `WA_* <curses-wa-constants >` values, the
209- counterpart of :func: `curses.termattrs `.
210- (Contributed by Serhiy Storchaka in :gh: `152332 `.)
211-
212203* Add the :mod: `curses ` key-management functions :func: `~curses.define_key `,
213204 :func: `~curses.key_defined ` and :func: `~curses.keyok `, available when built
214205 against an ncurses with ``NCURSES_EXT_FUNCS ``.
@@ -219,6 +210,15 @@ curses
219210 mouse interface.
220211 (Contributed by Serhiy Storchaka in :gh: `152325 `.)
221212
213+ * Add :mod: `curses ` functions and window methods that report state which could
214+ previously only be set, such as :meth: `curses.window.is_keypad `,
215+ :meth: `curses.window.getparent ` and :func: `curses.is_cbreak `,
216+ available when built against an ncurses with ``NCURSES_EXT_FUNCS ``.
217+ (Contributed by Serhiy Storchaka in :gh: `151776 `.)
218+
219+ * Add :func: `curses.nofilter `, which undoes the effect of :func: `curses.filter `.
220+ (Contributed by Serhiy Storchaka in :gh: `151744 `.)
221+
222222* :class: `curses.textpad.Textbox ` now supports entering and reading back the
223223 full Unicode range, including combining characters, when curses is built with
224224 wide-character support.
0 commit comments