Mercurial > cpython-lru_cache-weakref
annotate Modules/_cursesmodule.c @ 87690:66c1c9f32567 default tip
Add use_weakref option to functools.lru_cache
The use_weakref option makes lru_cache create weak references to the function
arguments when creating the cache key, which prevents them from staying in the
memory forever even after all other references to them are gone.
This is a proof of concept for http://bugs.python.org/issue19859
| author | Radomir Dopieralski <devel@sheep.art.pl> |
|---|---|
| date | Tue, 03 Dec 2013 16:02:48 +0100 |
| parents | 78ec18f5cb45 |
| children |
| rev | line source |
|---|---|
|
12737
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
1 /* |
|
12738
3d26cb3808a7
Changes by AMK: Use HAVE_NCURSES_H to include correct header file
Andrew M. Kuchling <amk@amk.ca>
parents:
12737
diff
changeset
|
2 * This is a curses module for Python. |
|
12737
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
3 * |
|
12738
3d26cb3808a7
Changes by AMK: Use HAVE_NCURSES_H to include correct header file
Andrew M. Kuchling <amk@amk.ca>
parents:
12737
diff
changeset
|
4 * Based on prior work by Lance Ellinghaus and Oliver Andrich |
|
3d26cb3808a7
Changes by AMK: Use HAVE_NCURSES_H to include correct header file
Andrew M. Kuchling <amk@amk.ca>
parents:
12737
diff
changeset
|
5 * Version 1.2 of this module: Copyright 1994 by Lance Ellinghouse, |
|
3d26cb3808a7
Changes by AMK: Use HAVE_NCURSES_H to include correct header file
Andrew M. Kuchling <amk@amk.ca>
parents:
12737
diff
changeset
|
6 * Cathedral City, California Republic, United States of America. |
|
12737
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
7 * |
|
12738
3d26cb3808a7
Changes by AMK: Use HAVE_NCURSES_H to include correct header file
Andrew M. Kuchling <amk@amk.ca>
parents:
12737
diff
changeset
|
8 * Version 1.5b1, heavily extended for ncurses by Oliver Andrich: |
|
3d26cb3808a7
Changes by AMK: Use HAVE_NCURSES_H to include correct header file
Andrew M. Kuchling <amk@amk.ca>
parents:
12737
diff
changeset
|
9 * Copyright 1996,1997 by Oliver Andrich, Koblenz, Germany. |
|
3d26cb3808a7
Changes by AMK: Use HAVE_NCURSES_H to include correct header file
Andrew M. Kuchling <amk@amk.ca>
parents:
12737
diff
changeset
|
10 * |
|
25966
5b828ffe1b35
Use personal e-mail address
Andrew M. Kuchling <amk@amk.ca>
parents:
25922
diff
changeset
|
11 * Tidied for Python 1.6, and currently maintained by <amk@amk.ca>. |
|
12737
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
12 * |
|
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
13 * Permission is hereby granted, free of charge, to any person obtaining |
|
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
14 * a copy of this source file to use, copy, modify, merge, or publish it |
|
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
15 * subject to the following conditions: |
|
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
16 * |
|
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
17 * The above copyright notice and this permission notice shall be included |
|
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
18 * in all copies or in any new file that contains a substantial portion of |
|
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
19 * this file. |
|
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
20 * |
|
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
21 * THE AUTHOR MAKES NO REPRESENTATIONS ABOUT THE SUITABILITY OF |
|
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
22 * THE SOFTWARE FOR ANY PURPOSE. IT IS PROVIDED "AS IS" WITHOUT |
|
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
23 * EXPRESS OR IMPLIED WARRANTY. THE AUTHOR DISCLAIMS ALL WARRANTIES |
|
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
24 * WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES |
|
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
25 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND |
|
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
26 * NON-INFRINGEMENT OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE |
|
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
27 * AUTHOR BE LIABLE TO YOU OR ANY OTHER PARTY FOR ANY SPECIAL, |
|
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
28 * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER |
|
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
29 * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE, STRICT LIABILITY OR |
|
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
30 * ANY OTHER ACTION ARISING OUT OF OR IN CONNECTION WITH THE USE OR |
|
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
31 * PERFORMANCE OF THIS SOFTWARE. |
|
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
32 */ |
| 1858 | 33 |
|
13728
b769e2dd6a51
Added list of missing functions as a comment
Andrew M. Kuchling <amk@amk.ca>
parents:
13721
diff
changeset
|
34 /* |
|
b769e2dd6a51
Added list of missing functions as a comment
Andrew M. Kuchling <amk@amk.ca>
parents:
13721
diff
changeset
|
35 |
|
61619
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
36 A number of SysV or ncurses functions don't have wrappers yet; if you |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
37 need a given function, add it and send a patch. See |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
38 http://www.python.org/dev/patches/ for instructions on how to submit |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
39 patches to Python. |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
40 |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
41 Here's a list of currently unsupported functions: |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
42 |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
43 addchnstr addchstr color_set define_key |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
44 del_curterm delscreen dupwin inchnstr inchstr innstr keyok |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
45 mcprint mvaddchnstr mvaddchstr mvcur mvinchnstr |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
46 mvinchstr mvinnstr mmvwaddchnstr mvwaddchstr |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
47 mvwinchnstr mvwinchstr mvwinnstr newterm |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
48 restartterm ripoffline scr_dump |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
49 scr_init scr_restore scr_set scrl set_curterm set_term setterm |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
50 tgetent tgetflag tgetnum tgetstr tgoto timeout tputs |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
51 vidattr vidputs waddchnstr waddchstr |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
52 wcolor_set winchnstr winchstr winnstr wmouse_trafo wscrl |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
53 |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
54 Low-priority: |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
55 slk_attr slk_attr_off slk_attr_on slk_attr_set slk_attroff |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
56 slk_attron slk_attrset slk_clear slk_color slk_init slk_label |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
57 slk_noutrefresh slk_refresh slk_restore slk_set slk_touch |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
58 |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
59 Menu extension (ncurses and probably SYSV): |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
60 current_item free_item free_menu item_count item_description |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
61 item_index item_init item_name item_opts item_opts_off |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
62 item_opts_on item_term item_userptr item_value item_visible |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
63 menu_back menu_driver menu_fore menu_format menu_grey |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
64 menu_init menu_items menu_mark menu_opts menu_opts_off |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
65 menu_opts_on menu_pad menu_pattern menu_request_by_name |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
66 menu_request_name menu_spacing menu_sub menu_term menu_userptr |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
67 menu_win new_item new_menu pos_menu_cursor post_menu |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
68 scale_menu set_current_item set_item_init set_item_opts |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
69 set_item_term set_item_userptr set_item_value set_menu_back |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
70 set_menu_fore set_menu_format set_menu_grey set_menu_init |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
71 set_menu_items set_menu_mark set_menu_opts set_menu_pad |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
72 set_menu_pattern set_menu_spacing set_menu_sub set_menu_term |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
73 set_menu_userptr set_menu_win set_top_row top_row unpost_menu |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
74 |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
75 Form extension (ncurses and probably SYSV): |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
76 current_field data_ahead data_behind dup_field |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
77 dynamic_fieldinfo field_arg field_back field_buffer |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
78 field_count field_fore field_index field_info field_init |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
79 field_just field_opts field_opts_off field_opts_on field_pad |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
80 field_status field_term field_type field_userptr form_driver |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
81 form_fields form_init form_opts form_opts_off form_opts_on |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
82 form_page form_request_by_name form_request_name form_sub |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
83 form_term form_userptr form_win free_field free_form |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
84 link_field link_fieldtype move_field new_field new_form |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
85 new_page pos_form_cursor post_form scale_form |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
86 set_current_field set_field_back set_field_buffer |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
87 set_field_fore set_field_init set_field_just set_field_opts |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
88 set_field_pad set_field_status set_field_term set_field_type |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
89 set_field_userptr set_fieldtype_arg set_fieldtype_choice |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
90 set_form_fields set_form_init set_form_opts set_form_page |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
91 set_form_sub set_form_term set_form_userptr set_form_win |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
92 set_max_field set_new_page unpost_form |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
93 |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
94 |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
95 */ |
|
13728
b769e2dd6a51
Added list of missing functions as a comment
Andrew M. Kuchling <amk@amk.ca>
parents:
13721
diff
changeset
|
96 |
|
12737
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
97 /* Release Number */ |
| 1858 | 98 |
|
20583
b5ca0687ba6a
Add two forgotten 'break' statements
Andrew M. Kuchling <amk@amk.ca>
parents:
20412
diff
changeset
|
99 char *PyCursesVersion = "2.2"; |
| 1858 | 100 |
|
12737
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
101 /* Includes */ |
|
1855
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
102 |
|
61511
9dfed8dd1c6d
Issue #8677: Make curses module PY_SSIZE_T_CLEAN.
Mark Dickinson <dickinsm@gmail.com>
parents:
61501
diff
changeset
|
103 #define PY_SSIZE_T_CLEAN |
|
9dfed8dd1c6d
Issue #8677: Make curses module PY_SSIZE_T_CLEAN.
Mark Dickinson <dickinsm@gmail.com>
parents:
61501
diff
changeset
|
104 |
|
1888
be956b1efb97
* various modules: #include "Python.h" and remove most remporary
Guido van Rossum <guido@python.org>
parents:
1867
diff
changeset
|
105 #include "Python.h" |
|
1855
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
106 |
|
53816
911df82bc25d
add a replacement API for PyCObject, PyCapsule #5630
Benjamin Peterson <benjamin@python.org>
parents:
52781
diff
changeset
|
107 |
|
20647
dd78b1a71f3e
Check for HP/UX curses problems. Define _XOPEN_SOURCE_EXTENDED and
Martin v. Löwis <martin@v.loewis.de>
parents:
20583
diff
changeset
|
108 #ifdef __hpux |
|
dd78b1a71f3e
Check for HP/UX curses problems. Define _XOPEN_SOURCE_EXTENDED and
Martin v. Löwis <martin@v.loewis.de>
parents:
20583
diff
changeset
|
109 #define STRICT_SYSV_CURSES |
|
dd78b1a71f3e
Check for HP/UX curses problems. Define _XOPEN_SOURCE_EXTENDED and
Martin v. Löwis <martin@v.loewis.de>
parents:
20583
diff
changeset
|
110 #endif |
|
dd78b1a71f3e
Check for HP/UX curses problems. Define _XOPEN_SOURCE_EXTENDED and
Martin v. Löwis <martin@v.loewis.de>
parents:
20583
diff
changeset
|
111 |
|
17387
0ec06b4755db
Include py_curses.h *after* defining _XOPEN_SOURCE_EXTENDED.
Guido van Rossum <guido@python.org>
parents:
16351
diff
changeset
|
112 #define CURSES_MODULE |
|
0ec06b4755db
Include py_curses.h *after* defining _XOPEN_SOURCE_EXTENDED.
Guido van Rossum <guido@python.org>
parents:
16351
diff
changeset
|
113 #include "py_curses.h" |
|
0ec06b4755db
Include py_curses.h *after* defining _XOPEN_SOURCE_EXTENDED.
Guido van Rossum <guido@python.org>
parents:
16351
diff
changeset
|
114 |
|
61619
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
115 /* These prototypes are in <term.h>, but including this header |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
116 #defines many common symbols (such as "lines") which breaks the |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
117 curses module in other ways. So the code will just specify |
|
15418
06465ed81826
Patch #102412 from mwh: Add support for the setupterm() function, to
Andrew M. Kuchling <amk@amk.ca>
parents:
15384
diff
changeset
|
118 explicit prototypes here. */ |
|
06465ed81826
Patch #102412 from mwh: Add support for the setupterm() function, to
Andrew M. Kuchling <amk@amk.ca>
parents:
15384
diff
changeset
|
119 extern int setupterm(char *,int,int *); |
|
18749
c6ef71e943dd
Remove warnings from the SGI compiler.
Fred Drake <fdrake@acm.org>
parents:
18602
diff
changeset
|
120 #ifdef __sgi |
|
c6ef71e943dd
Remove warnings from the SGI compiler.
Fred Drake <fdrake@acm.org>
parents:
18602
diff
changeset
|
121 #include <term.h> |
|
15369
3abcb6966617
Patch from Randall Hopper to fix PR #116172, "curses module fails to
Andrew M. Kuchling <amk@amk.ca>
parents:
14334
diff
changeset
|
122 #endif |
|
3abcb6966617
Patch from Randall Hopper to fix PR #116172, "curses module fails to
Andrew M. Kuchling <amk@amk.ca>
parents:
14334
diff
changeset
|
123 |
|
73746
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
124 #ifdef HAVE_LANGINFO_H |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
125 #include <langinfo.h> |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
126 #endif |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
127 |
|
25497
b526e12b941b
Patch #615069: Fix build problems on SCO Open Server 5. Backported to 2.2.
Martin v. Löwis <martin@v.loewis.de>
parents:
24471
diff
changeset
|
128 #if !defined(HAVE_NCURSES_H) && (defined(sgi) || defined(__sun) || defined(SCO5)) |
|
13708
fe89ea1c9108
Modified version of patch #100963 from Mark Favas: has_key() is an
Andrew M. Kuchling <amk@amk.ca>
parents:
13706
diff
changeset
|
129 #define STRICT_SYSV_CURSES /* Don't use ncurses extensions */ |
|
13040
12ac2c267b93
Fixes for compiling on Tru64.
Andrew M. Kuchling <amk@amk.ca>
parents:
13039
diff
changeset
|
130 typedef chtype attr_t; /* No attr_t type is available */ |
|
3417
e1df90205a33
Include ncurses.h where needed
Guido van Rossum <guido@python.org>
parents:
2569
diff
changeset
|
131 #endif |
|
1855
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
132 |
|
16351
ef32bfa5f5c6
Patch #103485 from Donn Cave: patches to make the module compile on AIX and
Andrew M. Kuchling <amk@amk.ca>
parents:
16350
diff
changeset
|
133 #if defined(_AIX) |
|
ef32bfa5f5c6
Patch #103485 from Donn Cave: patches to make the module compile on AIX and
Andrew M. Kuchling <amk@amk.ca>
parents:
16350
diff
changeset
|
134 #define STRICT_SYSV_CURSES |
|
ef32bfa5f5c6
Patch #103485 from Donn Cave: patches to make the module compile on AIX and
Andrew M. Kuchling <amk@amk.ca>
parents:
16350
diff
changeset
|
135 #endif |
|
ef32bfa5f5c6
Patch #103485 from Donn Cave: patches to make the module compile on AIX and
Andrew M. Kuchling <amk@amk.ca>
parents:
16350
diff
changeset
|
136 |
|
87470
78ec18f5cb45
Issue #19674: inspect.signature() now produces a correct signature
Larry Hastings <larry@hastings.org>
parents:
87300
diff
changeset
|
137 /*[clinic] |
|
78ec18f5cb45
Issue #19674: inspect.signature() now produces a correct signature
Larry Hastings <larry@hastings.org>
parents:
87300
diff
changeset
|
138 module curses |
|
78ec18f5cb45
Issue #19674: inspect.signature() now produces a correct signature
Larry Hastings <larry@hastings.org>
parents:
87300
diff
changeset
|
139 class curses.window |
|
78ec18f5cb45
Issue #19674: inspect.signature() now produces a correct signature
Larry Hastings <larry@hastings.org>
parents:
87300
diff
changeset
|
140 [clinic]*/ |
|
78ec18f5cb45
Issue #19674: inspect.signature() now produces a correct signature
Larry Hastings <larry@hastings.org>
parents:
87300
diff
changeset
|
141 /*[clinic checksum: da39a3ee5e6b4b0d3255bfef95601890afd80709]*/ |
|
78ec18f5cb45
Issue #19674: inspect.signature() now produces a correct signature
Larry Hastings <larry@hastings.org>
parents:
87300
diff
changeset
|
142 |
|
12737
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
143 /* Definition of exception curses.error */ |
|
1855
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
144 |
|
12737
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
145 static PyObject *PyCursesError; |
|
1855
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
146 |
|
15418
06465ed81826
Patch #102412 from mwh: Add support for the setupterm() function, to
Andrew M. Kuchling <amk@amk.ca>
parents:
15384
diff
changeset
|
147 /* Tells whether setupterm() has been called to initialise terminfo. */ |
|
06465ed81826
Patch #102412 from mwh: Add support for the setupterm() function, to
Andrew M. Kuchling <amk@amk.ca>
parents:
15384
diff
changeset
|
148 static int initialised_setupterm = FALSE; |
|
06465ed81826
Patch #102412 from mwh: Add support for the setupterm() function, to
Andrew M. Kuchling <amk@amk.ca>
parents:
15384
diff
changeset
|
149 |
|
12737
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
150 /* Tells whether initscr() has been called to initialise curses. */ |
|
2423
73eeff4d43f8
more fixes by Steve Clift
Guido van Rossum <guido@python.org>
parents:
2358
diff
changeset
|
151 static int initialised = FALSE; |
|
73eeff4d43f8
more fixes by Steve Clift
Guido van Rossum <guido@python.org>
parents:
2358
diff
changeset
|
152 |
|
15646
5b158fc0ed55
Export C API from this module.
Andrew M. Kuchling <amk@amk.ca>
parents:
15638
diff
changeset
|
153 /* Tells whether start_color() has been called to initialise color usage. */ |
|
12737
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
154 static int initialisedcolors = FALSE; |
|
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
155 |
|
73746
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
156 static char *screen_encoding = NULL; |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
157 |
|
12737
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
158 /* Utility Macros */ |
|
61619
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
159 #define PyCursesSetupTermCalled \ |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
160 if (initialised_setupterm != TRUE) { \ |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
161 PyErr_SetString(PyCursesError, \ |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
162 "must call (at least) setupterm() first"); \ |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
163 return 0; } |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
164 |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
165 #define PyCursesInitialised \ |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
166 if (initialised != TRUE) { \ |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
167 PyErr_SetString(PyCursesError, \ |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
168 "must call initscr() first"); \ |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
169 return 0; } |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
170 |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
171 #define PyCursesInitialisedColor \ |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
172 if (initialisedcolors != TRUE) { \ |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
173 PyErr_SetString(PyCursesError, \ |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
174 "must call start_color() first"); \ |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
175 return 0; } |
| 2357 | 176 |
|
12737
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
177 /* Utility Functions */ |
| 1858 | 178 |
| 2357 | 179 /* |
|
61619
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
180 * Check the return code from a curses function and return None |
|
15646
5b158fc0ed55
Export C API from this module.
Andrew M. Kuchling <amk@amk.ca>
parents:
15638
diff
changeset
|
181 * or raise an exception as appropriate. These are exported using the |
|
61619
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
182 * capsule API. |
| 2357 | 183 */ |
| 184 | |
| 185 static PyObject * | |
|
73746
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
186 PyCursesCheckERR(int code, const char *fname) |
| 2357 | 187 { |
|
61619
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
188 if (code != ERR) { |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
189 Py_INCREF(Py_None); |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
190 return Py_None; |
| 2357 | 191 } else { |
|
61619
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
192 if (fname == NULL) { |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
193 PyErr_SetString(PyCursesError, catchall_ERR); |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
194 } else { |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
195 PyErr_Format(PyCursesError, "%s() returned ERR", fname); |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
196 } |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
197 return NULL; |
| 2357 | 198 } |
| 199 } | |
| 200 | |
|
73746
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
201 /* Convert an object to a byte (an integer of type chtype): |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
202 |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
203 - int |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
204 - bytes of length 1 |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
205 - str of length 1 |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
206 |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
207 Return 1 on success, 0 on error (invalid type or integer overflow). */ |
|
61619
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
208 static int |
|
73746
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
209 PyCurses_ConvertToChtype(PyCursesWindowObject *win, PyObject *obj, chtype *ch) |
|
2423
73eeff4d43f8
more fixes by Steve Clift
Guido van Rossum <guido@python.org>
parents:
2358
diff
changeset
|
210 { |
|
73746
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
211 long value; |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
212 if(PyBytes_Check(obj) && PyBytes_Size(obj) == 1) { |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
213 value = (unsigned char)PyBytes_AsString(obj)[0]; |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
214 } |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
215 else if (PyUnicode_Check(obj)) { |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
216 if (PyUnicode_GetLength(obj) != 1) { |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
217 PyErr_Format(PyExc_TypeError, |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
218 "expect bytes or str of length 1, or int, " |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
219 "got a str of length %zi", |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
220 PyUnicode_GET_LENGTH(obj)); |
|
61619
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
221 return 0; |
|
73746
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
222 } |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
223 value = PyUnicode_READ_CHAR(obj, 0); |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
224 if (128 < value) { |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
225 PyObject *bytes; |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
226 const char *encoding; |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
227 if (win) |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
228 encoding = win->encoding; |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
229 else |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
230 encoding = screen_encoding; |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
231 bytes = PyUnicode_AsEncodedObject(obj, encoding, NULL); |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
232 if (bytes == NULL) |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
233 return 0; |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
234 if (PyBytes_GET_SIZE(bytes) == 1) |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
235 value = (unsigned char)PyBytes_AS_STRING(bytes)[0]; |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
236 else |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
237 value = -1; |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
238 Py_DECREF(bytes); |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
239 if (value < 0) |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
240 goto overflow; |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
241 } |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
242 } |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
243 else if (PyLong_CheckExact(obj)) { |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
244 int long_overflow; |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
245 value = PyLong_AsLongAndOverflow(obj, &long_overflow); |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
246 if (long_overflow) |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
247 goto overflow; |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
248 } |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
249 else { |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
250 PyErr_Format(PyExc_TypeError, |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
251 "expect bytes or str of length 1, or int, got %s", |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
252 Py_TYPE(obj)->tp_name); |
|
61619
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
253 return 0; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
254 } |
|
73746
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
255 *ch = (chtype)value; |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
256 if ((long)*ch != value) |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
257 goto overflow; |
|
61619
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
258 return 1; |
|
73746
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
259 |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
260 overflow: |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
261 PyErr_SetString(PyExc_OverflowError, |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
262 "byte doesn't fit in chtype"); |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
263 return 0; |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
264 } |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
265 |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
266 /* Convert an object to a byte (chtype) or a character (cchar_t): |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
267 |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
268 - int |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
269 - bytes of length 1 |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
270 - str of length 1 |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
271 |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
272 Return: |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
273 |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
274 - 2 if obj is a character (written into *wch) |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
275 - 1 if obj is a byte (written into *ch) |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
276 - 0 on error: raise an exception */ |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
277 static int |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
278 PyCurses_ConvertToCchar_t(PyCursesWindowObject *win, PyObject *obj, |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
279 chtype *ch |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
280 #ifdef HAVE_NCURSESW |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
281 , cchar_t *wch |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
282 #endif |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
283 ) |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
284 { |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
285 long value; |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
286 #ifdef HAVE_NCURSESW |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
287 wchar_t buffer[2]; |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
288 #endif |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
289 |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
290 if (PyUnicode_Check(obj)) { |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
291 #ifdef HAVE_NCURSESW |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
292 if (PyUnicode_AsWideChar(obj, buffer, 2) != 1) { |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
293 PyErr_Format(PyExc_TypeError, |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
294 "expect bytes or str of length 1, or int, " |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
295 "got a str of length %zi", |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
296 PyUnicode_GET_LENGTH(obj)); |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
297 return 0; |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
298 } |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
299 memset(wch->chars, 0, sizeof(wch->chars)); |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
300 wch->chars[0] = buffer[0]; |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
301 return 2; |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
302 #else |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
303 return PyCurses_ConvertToChtype(win, obj, ch); |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
304 #endif |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
305 } |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
306 else if(PyBytes_Check(obj) && PyBytes_Size(obj) == 1) { |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
307 value = (unsigned char)PyBytes_AsString(obj)[0]; |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
308 } |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
309 else if (PyLong_CheckExact(obj)) { |
|
61619
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
310 int overflow; |
|
73746
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
311 value = PyLong_AsLongAndOverflow(obj, &overflow); |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
312 if (overflow) { |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
313 PyErr_SetString(PyExc_OverflowError, |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
314 "int doesn't fit in long"); |
|
61619
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
315 return 0; |
|
73746
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
316 } |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
317 } |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
318 else { |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
319 PyErr_Format(PyExc_TypeError, |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
320 "expect bytes or str of length 1, or int, got %s", |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
321 Py_TYPE(obj)->tp_name); |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
322 return 0; |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
323 } |
|
78831
27b5bd5f0e4c
Close #14223: Fix window.addch(curses.ACS_HLINE)
Victor Stinner <victor.stinner@gmail.com>
parents:
78796
diff
changeset
|
324 |
|
27b5bd5f0e4c
Close #14223: Fix window.addch(curses.ACS_HLINE)
Victor Stinner <victor.stinner@gmail.com>
parents:
78796
diff
changeset
|
325 *ch = (chtype)value; |
|
27b5bd5f0e4c
Close #14223: Fix window.addch(curses.ACS_HLINE)
Victor Stinner <victor.stinner@gmail.com>
parents:
78796
diff
changeset
|
326 if ((long)*ch != value) { |
|
27b5bd5f0e4c
Close #14223: Fix window.addch(curses.ACS_HLINE)
Victor Stinner <victor.stinner@gmail.com>
parents:
78796
diff
changeset
|
327 PyErr_Format(PyExc_OverflowError, |
|
27b5bd5f0e4c
Close #14223: Fix window.addch(curses.ACS_HLINE)
Victor Stinner <victor.stinner@gmail.com>
parents:
78796
diff
changeset
|
328 "byte doesn't fit in chtype"); |
|
61619
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
329 return 0; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
330 } |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
331 return 1; |
|
2423
73eeff4d43f8
more fixes by Steve Clift
Guido van Rossum <guido@python.org>
parents:
2358
diff
changeset
|
332 } |
|
73eeff4d43f8
more fixes by Steve Clift
Guido van Rossum <guido@python.org>
parents:
2358
diff
changeset
|
333 |
|
73746
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
334 /* Convert an object to a byte string (char*) or a wide character string |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
335 (wchar_t*). Return: |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
336 |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
337 - 2 if obj is a character string (written into *wch) |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
338 - 1 if obj is a byte string (written into *bytes) |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
339 - 0 on error: raise an exception */ |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
340 static int |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
341 PyCurses_ConvertToString(PyCursesWindowObject *win, PyObject *obj, |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
342 PyObject **bytes, wchar_t **wstr) |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
343 { |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
344 if (PyUnicode_Check(obj)) { |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
345 #ifdef HAVE_NCURSESW |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
346 assert (wstr != NULL); |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
347 *wstr = PyUnicode_AsWideCharString(obj, NULL); |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
348 if (*wstr == NULL) |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
349 return 0; |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
350 return 2; |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
351 #else |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
352 assert (wstr == NULL); |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
353 *bytes = PyUnicode_AsEncodedObject(obj, win->encoding, NULL); |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
354 if (*bytes == NULL) |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
355 return 0; |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
356 return 1; |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
357 #endif |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
358 } |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
359 else if (PyBytes_Check(obj)) { |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
360 Py_INCREF(obj); |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
361 *bytes = obj; |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
362 return 1; |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
363 } |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
364 |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
365 PyErr_Format(PyExc_TypeError, "expect bytes or str, got %s", |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
366 Py_TYPE(obj)->tp_name); |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
367 return 0; |
|
2423
73eeff4d43f8
more fixes by Steve Clift
Guido van Rossum <guido@python.org>
parents:
2358
diff
changeset
|
368 } |
|
73eeff4d43f8
more fixes by Steve Clift
Guido van Rossum <guido@python.org>
parents:
2358
diff
changeset
|
369 |
|
59869
fbacf972fa44
Merged revisions 77952,78030,78102,78104,78107,78206,78216,78296-78297,78328,78331-78332,78336,78339,78343,78378-78379,78415,78559,78717,78791 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents:
59562
diff
changeset
|
370 /* Function versions of the 3 functions for testing whether curses has been |
|
15646
5b158fc0ed55
Export C API from this module.
Andrew M. Kuchling <amk@amk.ca>
parents:
15638
diff
changeset
|
371 initialised or not. */ |
|
61619
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
372 |
|
15646
5b158fc0ed55
Export C API from this module.
Andrew M. Kuchling <amk@amk.ca>
parents:
15638
diff
changeset
|
373 static int func_PyCursesSetupTermCalled(void) |
|
5b158fc0ed55
Export C API from this module.
Andrew M. Kuchling <amk@amk.ca>
parents:
15638
diff
changeset
|
374 { |
|
5b158fc0ed55
Export C API from this module.
Andrew M. Kuchling <amk@amk.ca>
parents:
15638
diff
changeset
|
375 PyCursesSetupTermCalled; |
|
5b158fc0ed55
Export C API from this module.
Andrew M. Kuchling <amk@amk.ca>
parents:
15638
diff
changeset
|
376 return 1; |
|
5b158fc0ed55
Export C API from this module.
Andrew M. Kuchling <amk@amk.ca>
parents:
15638
diff
changeset
|
377 } |
|
5b158fc0ed55
Export C API from this module.
Andrew M. Kuchling <amk@amk.ca>
parents:
15638
diff
changeset
|
378 |
|
5b158fc0ed55
Export C API from this module.
Andrew M. Kuchling <amk@amk.ca>
parents:
15638
diff
changeset
|
379 static int func_PyCursesInitialised(void) |
|
5b158fc0ed55
Export C API from this module.
Andrew M. Kuchling <amk@amk.ca>
parents:
15638
diff
changeset
|
380 { |
|
5b158fc0ed55
Export C API from this module.
Andrew M. Kuchling <amk@amk.ca>
parents:
15638
diff
changeset
|
381 PyCursesInitialised; |
|
5b158fc0ed55
Export C API from this module.
Andrew M. Kuchling <amk@amk.ca>
parents:
15638
diff
changeset
|
382 return 1; |
|
5b158fc0ed55
Export C API from this module.
Andrew M. Kuchling <amk@amk.ca>
parents:
15638
diff
changeset
|
383 } |
|
5b158fc0ed55
Export C API from this module.
Andrew M. Kuchling <amk@amk.ca>
parents:
15638
diff
changeset
|
384 |
|
5b158fc0ed55
Export C API from this module.
Andrew M. Kuchling <amk@amk.ca>
parents:
15638
diff
changeset
|
385 static int func_PyCursesInitialisedColor(void) |
|
5b158fc0ed55
Export C API from this module.
Andrew M. Kuchling <amk@amk.ca>
parents:
15638
diff
changeset
|
386 { |
|
5b158fc0ed55
Export C API from this module.
Andrew M. Kuchling <amk@amk.ca>
parents:
15638
diff
changeset
|
387 PyCursesInitialisedColor; |
|
5b158fc0ed55
Export C API from this module.
Andrew M. Kuchling <amk@amk.ca>
parents:
15638
diff
changeset
|
388 return 1; |
|
5b158fc0ed55
Export C API from this module.
Andrew M. Kuchling <amk@amk.ca>
parents:
15638
diff
changeset
|
389 } |
|
5b158fc0ed55
Export C API from this module.
Andrew M. Kuchling <amk@amk.ca>
parents:
15638
diff
changeset
|
390 |
|
12737
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
391 /***************************************************************************** |
|
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
392 The Window Object |
|
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
393 ******************************************************************************/ |
|
2423
73eeff4d43f8
more fixes by Steve Clift
Guido van Rossum <guido@python.org>
parents:
2358
diff
changeset
|
394 |
|
15646
5b158fc0ed55
Export C API from this module.
Andrew M. Kuchling <amk@amk.ca>
parents:
15638
diff
changeset
|
395 /* Definition of the window type */ |
|
12737
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
396 |
|
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
397 PyTypeObject PyCursesWindow_Type; |
|
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
398 |
|
15646
5b158fc0ed55
Export C API from this module.
Andrew M. Kuchling <amk@amk.ca>
parents:
15638
diff
changeset
|
399 /* Function prototype macros for Window object |
|
12737
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
400 |
|
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
401 X - function name |
|
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
402 TYPE - parameter Type |
|
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
403 ERGSTR - format string for construction of the return value |
|
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
404 PARSESTR - format string for argument parsing |
|
61619
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
405 */ |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
406 |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
407 #define Window_NoArgNoReturnFunction(X) \ |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
408 static PyObject *PyCursesWindow_ ## X \ |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
409 (PyCursesWindowObject *self, PyObject *args) \ |
|
61619
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
410 { return PyCursesCheckERR(X(self->win), # X); } |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
411 |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
412 #define Window_NoArgTrueFalseFunction(X) \ |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
413 static PyObject * PyCursesWindow_ ## X \ |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
414 (PyCursesWindowObject *self) \ |
|
61619
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
415 { \ |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
416 if (X (self->win) == FALSE) { Py_INCREF(Py_False); return Py_False; } \ |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
417 else { Py_INCREF(Py_True); return Py_True; } } |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
418 |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
419 #define Window_NoArgNoReturnVoidFunction(X) \ |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
420 static PyObject * PyCursesWindow_ ## X \ |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
421 (PyCursesWindowObject *self) \ |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
422 { \ |
|
61619
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
423 X(self->win); Py_INCREF(Py_None); return Py_None; } |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
424 |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
425 #define Window_NoArg2TupleReturnFunction(X, TYPE, ERGSTR) \ |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
426 static PyObject * PyCursesWindow_ ## X \ |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
427 (PyCursesWindowObject *self) \ |
|
61619
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
428 { \ |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
429 TYPE arg1, arg2; \ |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
430 X(self->win,arg1,arg2); return Py_BuildValue(ERGSTR, arg1, arg2); } |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
431 |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
432 #define Window_OneArgNoReturnVoidFunction(X, TYPE, PARSESTR) \ |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
433 static PyObject * PyCursesWindow_ ## X \ |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
434 (PyCursesWindowObject *self, PyObject *args) \ |
|
61619
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
435 { \ |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
436 TYPE arg1; \ |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
437 if (!PyArg_ParseTuple(args, PARSESTR, &arg1)) return NULL; \ |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
438 X(self->win,arg1); Py_INCREF(Py_None); return Py_None; } |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
439 |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
440 #define Window_OneArgNoReturnFunction(X, TYPE, PARSESTR) \ |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
441 static PyObject * PyCursesWindow_ ## X \ |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
442 (PyCursesWindowObject *self, PyObject *args) \ |
|
61619
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
443 { \ |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
444 TYPE arg1; \ |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
445 if (!PyArg_ParseTuple(args,PARSESTR, &arg1)) return NULL; \ |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
446 return PyCursesCheckERR(X(self->win, arg1), # X); } |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
447 |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
448 #define Window_TwoArgNoReturnFunction(X, TYPE, PARSESTR) \ |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
449 static PyObject * PyCursesWindow_ ## X \ |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
450 (PyCursesWindowObject *self, PyObject *args) \ |
|
61619
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
451 { \ |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
452 TYPE arg1, arg2; \ |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
453 if (!PyArg_ParseTuple(args,PARSESTR, &arg1, &arg2)) return NULL; \ |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
454 return PyCursesCheckERR(X(self->win, arg1, arg2), # X); } |
|
12737
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
455 |
|
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
456 /* ------------- WINDOW routines --------------- */ |
|
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
457 |
|
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
458 Window_NoArgNoReturnFunction(untouchwin) |
|
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
459 Window_NoArgNoReturnFunction(touchwin) |
|
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
460 Window_NoArgNoReturnFunction(redrawwin) |
|
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
461 Window_NoArgNoReturnFunction(winsertln) |
|
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
462 Window_NoArgNoReturnFunction(werase) |
|
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
463 Window_NoArgNoReturnFunction(wdeleteln) |
|
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
464 |
|
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
465 Window_NoArgTrueFalseFunction(is_wintouched) |
|
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
466 |
|
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
467 Window_NoArgNoReturnVoidFunction(wsyncup) |
|
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
468 Window_NoArgNoReturnVoidFunction(wsyncdown) |
|
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
469 Window_NoArgNoReturnVoidFunction(wstandend) |
|
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
470 Window_NoArgNoReturnVoidFunction(wstandout) |
|
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
471 Window_NoArgNoReturnVoidFunction(wcursyncup) |
|
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
472 Window_NoArgNoReturnVoidFunction(wclrtoeol) |
|
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
473 Window_NoArgNoReturnVoidFunction(wclrtobot) |
|
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
474 Window_NoArgNoReturnVoidFunction(wclear) |
|
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
475 |
|
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
476 Window_OneArgNoReturnVoidFunction(idcok, int, "i;True(1) or False(0)") |
|
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
477 Window_OneArgNoReturnVoidFunction(immedok, int, "i;True(1) or False(0)") |
|
12974
e7992d0d6808
Added .timeout() method and .typeahead() function
Andrew M. Kuchling <amk@amk.ca>
parents:
12913
diff
changeset
|
478 Window_OneArgNoReturnVoidFunction(wtimeout, int, "i;delay") |
|
12737
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
479 |
|
21756
d60350d71b60
Patch #477752: Drop old-style getargs from curses.
Martin v. Löwis <martin@v.loewis.de>
parents:
21741
diff
changeset
|
480 Window_NoArg2TupleReturnFunction(getyx, int, "ii") |
|
d60350d71b60
Patch #477752: Drop old-style getargs from curses.
Martin v. Löwis <martin@v.loewis.de>
parents:
21741
diff
changeset
|
481 Window_NoArg2TupleReturnFunction(getbegyx, int, "ii") |
|
d60350d71b60
Patch #477752: Drop old-style getargs from curses.
Martin v. Löwis <martin@v.loewis.de>
parents:
21741
diff
changeset
|
482 Window_NoArg2TupleReturnFunction(getmaxyx, int, "ii") |
|
d60350d71b60
Patch #477752: Drop old-style getargs from curses.
Martin v. Löwis <martin@v.loewis.de>
parents:
21741
diff
changeset
|
483 Window_NoArg2TupleReturnFunction(getparyx, int, "ii") |
|
12737
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
484 |
|
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
485 Window_OneArgNoReturnFunction(clearok, int, "i;True(1) or False(0)") |
|
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
486 Window_OneArgNoReturnFunction(idlok, int, "i;True(1) or False(0)") |
|
16351
ef32bfa5f5c6
Patch #103485 from Donn Cave: patches to make the module compile on AIX and
Andrew M. Kuchling <amk@amk.ca>
parents:
16350
diff
changeset
|
487 #if defined(__NetBSD__) |
|
ef32bfa5f5c6
Patch #103485 from Donn Cave: patches to make the module compile on AIX and
Andrew M. Kuchling <amk@amk.ca>
parents:
16350
diff
changeset
|
488 Window_OneArgNoReturnVoidFunction(keypad, int, "i;True(1) or False(0)") |
|
ef32bfa5f5c6
Patch #103485 from Donn Cave: patches to make the module compile on AIX and
Andrew M. Kuchling <amk@amk.ca>
parents:
16350
diff
changeset
|
489 #else |
|
12737
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
490 Window_OneArgNoReturnFunction(keypad, int, "i;True(1) or False(0)") |
|
16351
ef32bfa5f5c6
Patch #103485 from Donn Cave: patches to make the module compile on AIX and
Andrew M. Kuchling <amk@amk.ca>
parents:
16350
diff
changeset
|
491 #endif |
|
12737
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
492 Window_OneArgNoReturnFunction(leaveok, int, "i;True(1) or False(0)") |
|
16351
ef32bfa5f5c6
Patch #103485 from Donn Cave: patches to make the module compile on AIX and
Andrew M. Kuchling <amk@amk.ca>
parents:
16350
diff
changeset
|
493 #if defined(__NetBSD__) |
|
ef32bfa5f5c6
Patch #103485 from Donn Cave: patches to make the module compile on AIX and
Andrew M. Kuchling <amk@amk.ca>
parents:
16350
diff
changeset
|
494 Window_OneArgNoReturnVoidFunction(nodelay, int, "i;True(1) or False(0)") |
|
ef32bfa5f5c6
Patch #103485 from Donn Cave: patches to make the module compile on AIX and
Andrew M. Kuchling <amk@amk.ca>
parents:
16350
diff
changeset
|
495 #else |
|
12737
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
496 Window_OneArgNoReturnFunction(nodelay, int, "i;True(1) or False(0)") |
|
16351
ef32bfa5f5c6
Patch #103485 from Donn Cave: patches to make the module compile on AIX and
Andrew M. Kuchling <amk@amk.ca>
parents:
16350
diff
changeset
|
497 #endif |
|
12737
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
498 Window_OneArgNoReturnFunction(notimeout, int, "i;True(1) or False(0)") |
|
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
499 Window_OneArgNoReturnFunction(scrollok, int, "i;True(1) or False(0)") |
|
12738
3d26cb3808a7
Changes by AMK: Use HAVE_NCURSES_H to include correct header file
Andrew M. Kuchling <amk@amk.ca>
parents:
12737
diff
changeset
|
500 Window_OneArgNoReturnFunction(winsdelln, int, "i;nlines") |
|
12737
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
501 Window_OneArgNoReturnFunction(syncok, int, "i;True(1) or False(0)") |
|
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
502 |
|
21756
d60350d71b60
Patch #477752: Drop old-style getargs from curses.
Martin v. Löwis <martin@v.loewis.de>
parents:
21741
diff
changeset
|
503 Window_TwoArgNoReturnFunction(mvwin, int, "ii;y,x") |
|
d60350d71b60
Patch #477752: Drop old-style getargs from curses.
Martin v. Löwis <martin@v.loewis.de>
parents:
21741
diff
changeset
|
504 Window_TwoArgNoReturnFunction(mvderwin, int, "ii;y,x") |
|
d60350d71b60
Patch #477752: Drop old-style getargs from curses.
Martin v. Löwis <martin@v.loewis.de>
parents:
21741
diff
changeset
|
505 Window_TwoArgNoReturnFunction(wmove, int, "ii;y,x") |
|
13040
12ac2c267b93
Fixes for compiling on Tru64.
Andrew M. Kuchling <amk@amk.ca>
parents:
13039
diff
changeset
|
506 #ifndef STRICT_SYSV_CURSES |
|
21756
d60350d71b60
Patch #477752: Drop old-style getargs from curses.
Martin v. Löwis <martin@v.loewis.de>
parents:
21741
diff
changeset
|
507 Window_TwoArgNoReturnFunction(wresize, int, "ii;lines,columns") |
|
1855
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
508 #endif |
| 2357 | 509 |
|
12738
3d26cb3808a7
Changes by AMK: Use HAVE_NCURSES_H to include correct header file
Andrew M. Kuchling <amk@amk.ca>
parents:
12737
diff
changeset
|
510 /* Allocation and deallocation of Window Objects */ |
| 2357 | 511 |
|
1855
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
512 static PyObject * |
|
73746
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
513 PyCursesWindow_New(WINDOW *win, const char *encoding) |
|
1855
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
514 { |
|
61619
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
515 PyCursesWindowObject *wo; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
516 |
|
73746
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
517 if (encoding == NULL) { |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
518 #if defined(MS_WINDOWS) |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
519 char *buffer[100]; |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
520 UINT cp; |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
521 cp = GetConsoleOutputCP(); |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
522 if (cp != 0) { |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
523 PyOS_snprintf(buffer, sizeof(buffer), "cp%u", cp); |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
524 encoding = buffer; |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
525 } |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
526 #elif defined(CODESET) |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
527 const char *codeset = nl_langinfo(CODESET); |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
528 if (codeset != NULL && codeset[0] != 0) |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
529 encoding = codeset; |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
530 #endif |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
531 if (encoding == NULL) |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
532 encoding = "utf-8"; |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
533 } |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
534 |
|
61619
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
535 wo = PyObject_NEW(PyCursesWindowObject, &PyCursesWindow_Type); |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
536 if (wo == NULL) return NULL; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
537 wo->win = win; |
|
84502
65f2c92ed079
Issue #18203: Add _PyMem_RawStrdup() and _PyMem_Strdup()
Victor Stinner <victor.stinner@gmail.com>
parents:
84491
diff
changeset
|
538 wo->encoding = _PyMem_Strdup(encoding); |
|
73746
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
539 if (wo->encoding == NULL) { |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
540 Py_DECREF(wo); |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
541 PyErr_NoMemory(); |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
542 return NULL; |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
543 } |
|
61619
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
544 return (PyObject *)wo; |
|
1855
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
545 } |
|
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
546 |
|
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
547 static void |
|
13465
8e92d941e07f
Patch from Peter Schneider-Kamp: convert curses module to ANSI prototypes,
Andrew M. Kuchling <amk@amk.ca>
parents:
13388
diff
changeset
|
548 PyCursesWindow_Dealloc(PyCursesWindowObject *wo) |
|
1855
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
549 { |
|
61619
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
550 if (wo->win != stdscr) delwin(wo->win); |
|
73746
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
551 if (wo->encoding != NULL) |
|
84502
65f2c92ed079
Issue #18203: Add _PyMem_RawStrdup() and _PyMem_Strdup()
Victor Stinner <victor.stinner@gmail.com>
parents:
84491
diff
changeset
|
552 PyMem_Free(wo->encoding); |
|
61619
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
553 PyObject_DEL(wo); |
|
1855
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
554 } |
|
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
555 |
|
12737
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
556 /* Addch, Addstr, Addnstr */ |
|
1855
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
557 |
|
86465
8fde1a2c94dc
Issue #16612: Add "Argument Clinic", a compile-time preprocessor
Larry Hastings <larry@hastings.org>
parents:
85420
diff
changeset
|
558 /*[clinic] |
|
8fde1a2c94dc
Issue #16612: Add "Argument Clinic", a compile-time preprocessor
Larry Hastings <larry@hastings.org>
parents:
85420
diff
changeset
|
559 |
|
8fde1a2c94dc
Issue #16612: Add "Argument Clinic", a compile-time preprocessor
Larry Hastings <larry@hastings.org>
parents:
85420
diff
changeset
|
560 curses.window.addch |
|
8fde1a2c94dc
Issue #16612: Add "Argument Clinic", a compile-time preprocessor
Larry Hastings <larry@hastings.org>
parents:
85420
diff
changeset
|
561 |
|
8fde1a2c94dc
Issue #16612: Add "Argument Clinic", a compile-time preprocessor
Larry Hastings <larry@hastings.org>
parents:
85420
diff
changeset
|
562 [ |
|
8fde1a2c94dc
Issue #16612: Add "Argument Clinic", a compile-time preprocessor
Larry Hastings <larry@hastings.org>
parents:
85420
diff
changeset
|
563 x: int |
|
8fde1a2c94dc
Issue #16612: Add "Argument Clinic", a compile-time preprocessor
Larry Hastings <larry@hastings.org>
parents:
85420
diff
changeset
|
564 X-coordinate. |
|
8fde1a2c94dc
Issue #16612: Add "Argument Clinic", a compile-time preprocessor
Larry Hastings <larry@hastings.org>
parents:
85420
diff
changeset
|
565 y: int |
|
8fde1a2c94dc
Issue #16612: Add "Argument Clinic", a compile-time preprocessor
Larry Hastings <larry@hastings.org>
parents:
85420
diff
changeset
|
566 Y-coordinate. |
|
8fde1a2c94dc
Issue #16612: Add "Argument Clinic", a compile-time preprocessor
Larry Hastings <larry@hastings.org>
parents:
85420
diff
changeset
|
567 ] |
|
8fde1a2c94dc
Issue #16612: Add "Argument Clinic", a compile-time preprocessor
Larry Hastings <larry@hastings.org>
parents:
85420
diff
changeset
|
568 |
|
8fde1a2c94dc
Issue #16612: Add "Argument Clinic", a compile-time preprocessor
Larry Hastings <larry@hastings.org>
parents:
85420
diff
changeset
|
569 ch: object |
|
8fde1a2c94dc
Issue #16612: Add "Argument Clinic", a compile-time preprocessor
Larry Hastings <larry@hastings.org>
parents:
85420
diff
changeset
|
570 Character to add. |
|
8fde1a2c94dc
Issue #16612: Add "Argument Clinic", a compile-time preprocessor
Larry Hastings <larry@hastings.org>
parents:
85420
diff
changeset
|
571 |
|
8fde1a2c94dc
Issue #16612: Add "Argument Clinic", a compile-time preprocessor
Larry Hastings <larry@hastings.org>
parents:
85420
diff
changeset
|
572 [ |
|
8fde1a2c94dc
Issue #16612: Add "Argument Clinic", a compile-time preprocessor
Larry Hastings <larry@hastings.org>
parents:
85420
diff
changeset
|
573 attr: long |
|
8fde1a2c94dc
Issue #16612: Add "Argument Clinic", a compile-time preprocessor
Larry Hastings <larry@hastings.org>
parents:
85420
diff
changeset
|
574 Attributes for the character. |
|
8fde1a2c94dc
Issue #16612: Add "Argument Clinic", a compile-time preprocessor
Larry Hastings <larry@hastings.org>
parents:
85420
diff
changeset
|
575 ] |
|
8fde1a2c94dc
Issue #16612: Add "Argument Clinic", a compile-time preprocessor
Larry Hastings <larry@hastings.org>
parents:
85420
diff
changeset
|
576 / |
|
8fde1a2c94dc
Issue #16612: Add "Argument Clinic", a compile-time preprocessor
Larry Hastings <larry@hastings.org>
parents:
85420
diff
changeset
|
577 |
|
8fde1a2c94dc
Issue #16612: Add "Argument Clinic", a compile-time preprocessor
Larry Hastings <larry@hastings.org>
parents:
85420
diff
changeset
|
578 Paint character ch at (y, x) with attributes attr. |
|
8fde1a2c94dc
Issue #16612: Add "Argument Clinic", a compile-time preprocessor
Larry Hastings <larry@hastings.org>
parents:
85420
diff
changeset
|
579 |
|
8fde1a2c94dc
Issue #16612: Add "Argument Clinic", a compile-time preprocessor
Larry Hastings <larry@hastings.org>
parents:
85420
diff
changeset
|
580 Paint character ch at (y, x) with attributes attr, |
|
8fde1a2c94dc
Issue #16612: Add "Argument Clinic", a compile-time preprocessor
Larry Hastings <larry@hastings.org>
parents:
85420
diff
changeset
|
581 overwriting any character previously painted at that location. |
|
8fde1a2c94dc
Issue #16612: Add "Argument Clinic", a compile-time preprocessor
Larry Hastings <larry@hastings.org>
parents:
85420
diff
changeset
|
582 By default, the character position and attributes are the |
|
8fde1a2c94dc
Issue #16612: Add "Argument Clinic", a compile-time preprocessor
Larry Hastings <larry@hastings.org>
parents:
85420
diff
changeset
|
583 current settings for the window object. |
|
8fde1a2c94dc
Issue #16612: Add "Argument Clinic", a compile-time preprocessor
Larry Hastings <larry@hastings.org>
parents:
85420
diff
changeset
|
584 [clinic]*/ |
|
8fde1a2c94dc
Issue #16612: Add "Argument Clinic", a compile-time preprocessor
Larry Hastings <larry@hastings.org>
parents:
85420
diff
changeset
|
585 |
|
8fde1a2c94dc
Issue #16612: Add "Argument Clinic", a compile-time preprocessor
Larry Hastings <larry@hastings.org>
parents:
85420
diff
changeset
|
586 PyDoc_STRVAR(curses_window_addch__doc__, |
|
87470
78ec18f5cb45
Issue #19674: inspect.signature() now produces a correct signature
Larry Hastings <larry@hastings.org>
parents:
87300
diff
changeset
|
587 "addch([x, y,] ch, [attr])\n" |
|
86465
8fde1a2c94dc
Issue #16612: Add "Argument Clinic", a compile-time preprocessor
Larry Hastings <larry@hastings.org>
parents:
85420
diff
changeset
|
588 "Paint character ch at (y, x) with attributes attr.\n" |
|
8fde1a2c94dc
Issue #16612: Add "Argument Clinic", a compile-time preprocessor
Larry Hastings <larry@hastings.org>
parents:
85420
diff
changeset
|
589 "\n" |
|
8fde1a2c94dc
Issue #16612: Add "Argument Clinic", a compile-time preprocessor
Larry Hastings <larry@hastings.org>
parents:
85420
diff
changeset
|
590 " x\n" |
|
8fde1a2c94dc
Issue #16612: Add "Argument Clinic", a compile-time preprocessor
Larry Hastings <larry@hastings.org>
parents:
85420
diff
changeset
|
591 " X-coordinate.\n" |
|
8fde1a2c94dc
Issue #16612: Add "Argument Clinic", a compile-time preprocessor
Larry Hastings <larry@hastings.org>
parents:
85420
diff
changeset
|
592 " y\n" |
|
8fde1a2c94dc
Issue #16612: Add "Argument Clinic", a compile-time preprocessor
Larry Hastings <larry@hastings.org>
parents:
85420
diff
changeset
|
593 " Y-coordinate.\n" |
|
8fde1a2c94dc
Issue #16612: Add "Argument Clinic", a compile-time preprocessor
Larry Hastings <larry@hastings.org>
parents:
85420
diff
changeset
|
594 " ch\n" |
|
8fde1a2c94dc
Issue #16612: Add "Argument Clinic", a compile-time preprocessor
Larry Hastings <larry@hastings.org>
parents:
85420
diff
changeset
|
595 " Character to add.\n" |
|
8fde1a2c94dc
Issue #16612: Add "Argument Clinic", a compile-time preprocessor
Larry Hastings <larry@hastings.org>
parents:
85420
diff
changeset
|
596 " attr\n" |
|
8fde1a2c94dc
Issue #16612: Add "Argument Clinic", a compile-time preprocessor
Larry Hastings <larry@hastings.org>
parents:
85420
diff
changeset
|
597 " Attributes for the character.\n" |
|
8fde1a2c94dc
Issue #16612: Add "Argument Clinic", a compile-time preprocessor
Larry Hastings <larry@hastings.org>
parents:
85420
diff
changeset
|
598 "\n" |
|
8fde1a2c94dc
Issue #16612: Add "Argument Clinic", a compile-time preprocessor
Larry Hastings <larry@hastings.org>
parents:
85420
diff
changeset
|
599 "Paint character ch at (y, x) with attributes attr,\n" |
|
8fde1a2c94dc
Issue #16612: Add "Argument Clinic", a compile-time preprocessor
Larry Hastings <larry@hastings.org>
parents:
85420
diff
changeset
|
600 "overwriting any character previously painted at that location.\n" |
|
8fde1a2c94dc
Issue #16612: Add "Argument Clinic", a compile-time preprocessor
Larry Hastings <larry@hastings.org>
parents:
85420
diff
changeset
|
601 "By default, the character position and attributes are the\n" |
|
8fde1a2c94dc
Issue #16612: Add "Argument Clinic", a compile-time preprocessor
Larry Hastings <larry@hastings.org>
parents:
85420
diff
changeset
|
602 "current settings for the window object."); |
|
8fde1a2c94dc
Issue #16612: Add "Argument Clinic", a compile-time preprocessor
Larry Hastings <larry@hastings.org>
parents:
85420
diff
changeset
|
603 |
|
8fde1a2c94dc
Issue #16612: Add "Argument Clinic", a compile-time preprocessor
Larry Hastings <larry@hastings.org>
parents:
85420
diff
changeset
|
604 #define CURSES_WINDOW_ADDCH_METHODDEF \ |
|
8fde1a2c94dc
Issue #16612: Add "Argument Clinic", a compile-time preprocessor
Larry Hastings <larry@hastings.org>
parents:
85420
diff
changeset
|
605 {"addch", (PyCFunction)curses_window_addch, METH_VARARGS, curses_window_addch__doc__}, |
|
8fde1a2c94dc
Issue #16612: Add "Argument Clinic", a compile-time preprocessor
Larry Hastings <larry@hastings.org>
parents:
85420
diff
changeset
|
606 |
|
1855
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
607 static PyObject * |
|
86465
8fde1a2c94dc
Issue #16612: Add "Argument Clinic", a compile-time preprocessor
Larry Hastings <larry@hastings.org>
parents:
85420
diff
changeset
|
608 curses_window_addch_impl(PyObject *self, int group_left_1, int x, int y, PyObject *ch, int group_right_1, long attr); |
|
8fde1a2c94dc
Issue #16612: Add "Argument Clinic", a compile-time preprocessor
Larry Hastings <larry@hastings.org>
parents:
85420
diff
changeset
|
609 |
|
8fde1a2c94dc
Issue #16612: Add "Argument Clinic", a compile-time preprocessor
Larry Hastings <larry@hastings.org>
parents:
85420
diff
changeset
|
610 static PyObject * |
|
8fde1a2c94dc
Issue #16612: Add "Argument Clinic", a compile-time preprocessor
Larry Hastings <larry@hastings.org>
parents:
85420
diff
changeset
|
611 curses_window_addch(PyObject *self, PyObject *args) |
|
1855
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
612 { |
|
86465
8fde1a2c94dc
Issue #16612: Add "Argument Clinic", a compile-time preprocessor
Larry Hastings <larry@hastings.org>
parents:
85420
diff
changeset
|
613 PyObject *return_value = NULL; |
|
8fde1a2c94dc
Issue #16612: Add "Argument Clinic", a compile-time preprocessor
Larry Hastings <larry@hastings.org>
parents:
85420
diff
changeset
|
614 int group_left_1 = 0; |
|
87300
4f0f496e482e
Issue #19474: Argument Clinic now always specifies a default value for
Larry Hastings <larry@hastings.org>
parents:
87245
diff
changeset
|
615 int x = 0; |
|
4f0f496e482e
Issue #19474: Argument Clinic now always specifies a default value for
Larry Hastings <larry@hastings.org>
parents:
87245
diff
changeset
|
616 int y = 0; |
|
86465
8fde1a2c94dc
Issue #16612: Add "Argument Clinic", a compile-time preprocessor
Larry Hastings <larry@hastings.org>
parents:
85420
diff
changeset
|
617 PyObject *ch; |
|
8fde1a2c94dc
Issue #16612: Add "Argument Clinic", a compile-time preprocessor
Larry Hastings <larry@hastings.org>
parents:
85420
diff
changeset
|
618 int group_right_1 = 0; |
|
87300
4f0f496e482e
Issue #19474: Argument Clinic now always specifies a default value for
Larry Hastings <larry@hastings.org>
parents:
87245
diff
changeset
|
619 long attr = 0; |
|
86465
8fde1a2c94dc
Issue #16612: Add "Argument Clinic", a compile-time preprocessor
Larry Hastings <larry@hastings.org>
parents:
85420
diff
changeset
|
620 |
|
8fde1a2c94dc
Issue #16612: Add "Argument Clinic", a compile-time preprocessor
Larry Hastings <larry@hastings.org>
parents:
85420
diff
changeset
|
621 switch (PyTuple_Size(args)) { |
|
8fde1a2c94dc
Issue #16612: Add "Argument Clinic", a compile-time preprocessor
Larry Hastings <larry@hastings.org>
parents:
85420
diff
changeset
|
622 case 1: |
|
8fde1a2c94dc
Issue #16612: Add "Argument Clinic", a compile-time preprocessor
Larry Hastings <larry@hastings.org>
parents:
85420
diff
changeset
|
623 if (!PyArg_ParseTuple(args, "O:addch", &ch)) |
|
8fde1a2c94dc
Issue #16612: Add "Argument Clinic", a compile-time preprocessor
Larry Hastings <larry@hastings.org>
parents:
85420
diff
changeset
|
624 return NULL; |
|
8fde1a2c94dc
Issue #16612: Add "Argument Clinic", a compile-time preprocessor
Larry Hastings <larry@hastings.org>
parents:
85420
diff
changeset
|
625 break; |
|
8fde1a2c94dc
Issue #16612: Add "Argument Clinic", a compile-time preprocessor
Larry Hastings <larry@hastings.org>
parents:
85420
diff
changeset
|
626 case 2: |
|
8fde1a2c94dc
Issue #16612: Add "Argument Clinic", a compile-time preprocessor
Larry Hastings <larry@hastings.org>
parents:
85420
diff
changeset
|
627 if (!PyArg_ParseTuple(args, "Ol:addch", &ch, &attr)) |
|
8fde1a2c94dc
Issue #16612: Add "Argument Clinic", a compile-time preprocessor
Larry Hastings <larry@hastings.org>
parents:
85420
diff
changeset
|
628 return NULL; |
|
8fde1a2c94dc
Issue #16612: Add "Argument Clinic", a compile-time preprocessor
Larry Hastings <larry@hastings.org>
parents:
85420
diff
changeset
|
629 group_right_1 = 1; |
|
8fde1a2c94dc
Issue #16612: Add "Argument Clinic", a compile-time preprocessor
Larry Hastings <larry@hastings.org>
parents:
85420
diff
changeset
|
630 break; |
|
8fde1a2c94dc
Issue #16612: Add "Argument Clinic", a compile-time preprocessor
Larry Hastings <larry@hastings.org>
parents:
85420
diff
changeset
|
631 case 3: |
|
8fde1a2c94dc
Issue #16612: Add "Argument Clinic", a compile-time preprocessor
Larry Hastings <larry@hastings.org>
parents:
85420
diff
changeset
|
632 if (!PyArg_ParseTuple(args, "iiO:addch", &x, &y, &ch)) |
|
8fde1a2c94dc
Issue #16612: Add "Argument Clinic", a compile-time preprocessor
Larry Hastings <larry@hastings.org>
parents:
85420
diff
changeset
|
633 return NULL; |
|
8fde1a2c94dc
Issue #16612: Add "Argument Clinic", a compile-time preprocessor
Larry Hastings <larry@hastings.org>
parents:
85420
diff
changeset
|
634 group_left_1 = 1; |
|
8fde1a2c94dc
Issue #16612: Add "Argument Clinic", a compile-time preprocessor
Larry Hastings <larry@hastings.org>
parents:
85420
diff
changeset
|
635 break; |
|
8fde1a2c94dc
Issue #16612: Add "Argument Clinic", a compile-time preprocessor
Larry Hastings <larry@hastings.org>
parents:
85420
diff
changeset
|
636 case 4: |
|
8fde1a2c94dc
Issue #16612: Add "Argument Clinic", a compile-time preprocessor
Larry Hastings <larry@hastings.org>
parents:
85420
diff
changeset
|
637 if (!PyArg_ParseTuple(args, "iiOl:addch", &x, &y, &ch, &attr)) |
|
8fde1a2c94dc
Issue #16612: Add "Argument Clinic", a compile-time preprocessor
Larry Hastings <larry@hastings.org>
parents:
85420
diff
changeset
|
638 return NULL; |
|
8fde1a2c94dc
Issue #16612: Add "Argument Clinic", a compile-time preprocessor
Larry Hastings <larry@hastings.org>
parents:
85420
diff
changeset
|
639 group_right_1 = 1; |
|
8fde1a2c94dc
Issue #16612: Add "Argument Clinic", a compile-time preprocessor
Larry Hastings <larry@hastings.org>
parents:
85420
diff
changeset
|
640 group_left_1 = 1; |
|
8fde1a2c94dc
Issue #16612: Add "Argument Clinic", a compile-time preprocessor
Larry Hastings <larry@hastings.org>
parents:
85420
diff
changeset
|
641 break; |
|
8fde1a2c94dc
Issue #16612: Add "Argument Clinic", a compile-time preprocessor
Larry Hastings <larry@hastings.org>
parents:
85420
diff
changeset
|
642 default: |
|
8fde1a2c94dc
Issue #16612: Add "Argument Clinic", a compile-time preprocessor
Larry Hastings <larry@hastings.org>
parents:
85420
diff
changeset
|
643 PyErr_SetString(PyExc_TypeError, "curses.window.addch requires 1 to 4 arguments"); |
|
8fde1a2c94dc
Issue #16612: Add "Argument Clinic", a compile-time preprocessor
Larry Hastings <larry@hastings.org>
parents:
85420
diff
changeset
|
644 return NULL; |
|
8fde1a2c94dc
Issue #16612: Add "Argument Clinic", a compile-time preprocessor
Larry Hastings <larry@hastings.org>
parents:
85420
diff
changeset
|
645 } |
|
8fde1a2c94dc
Issue #16612: Add "Argument Clinic", a compile-time preprocessor
Larry Hastings <larry@hastings.org>
parents:
85420
diff
changeset
|
646 return_value = curses_window_addch_impl(self, group_left_1, x, y, ch, group_right_1, attr); |
|
8fde1a2c94dc
Issue #16612: Add "Argument Clinic", a compile-time preprocessor
Larry Hastings <larry@hastings.org>
parents:
85420
diff
changeset
|
647 |
|
8fde1a2c94dc
Issue #16612: Add "Argument Clinic", a compile-time preprocessor
Larry Hastings <larry@hastings.org>
parents:
85420
diff
changeset
|
648 return return_value; |
|
8fde1a2c94dc
Issue #16612: Add "Argument Clinic", a compile-time preprocessor
Larry Hastings <larry@hastings.org>
parents:
85420
diff
changeset
|
649 } |
|
8fde1a2c94dc
Issue #16612: Add "Argument Clinic", a compile-time preprocessor
Larry Hastings <larry@hastings.org>
parents:
85420
diff
changeset
|
650 |
|
8fde1a2c94dc
Issue #16612: Add "Argument Clinic", a compile-time preprocessor
Larry Hastings <larry@hastings.org>
parents:
85420
diff
changeset
|
651 static PyObject * |
|
8fde1a2c94dc
Issue #16612: Add "Argument Clinic", a compile-time preprocessor
Larry Hastings <larry@hastings.org>
parents:
85420
diff
changeset
|
652 curses_window_addch_impl(PyObject *self, int group_left_1, int x, int y, PyObject *ch, int group_right_1, long attr) |
|
87470
78ec18f5cb45
Issue #19674: inspect.signature() now produces a correct signature
Larry Hastings <larry@hastings.org>
parents:
87300
diff
changeset
|
653 /*[clinic checksum: 44ed958b891cde91205e584c766e048f3999714f]*/ |
|
86465
8fde1a2c94dc
Issue #16612: Add "Argument Clinic", a compile-time preprocessor
Larry Hastings <larry@hastings.org>
parents:
85420
diff
changeset
|
654 { |
|
8fde1a2c94dc
Issue #16612: Add "Argument Clinic", a compile-time preprocessor
Larry Hastings <larry@hastings.org>
parents:
85420
diff
changeset
|
655 PyCursesWindowObject *cwself = (PyCursesWindowObject *)self; |
|
8fde1a2c94dc
Issue #16612: Add "Argument Clinic", a compile-time preprocessor
Larry Hastings <larry@hastings.org>
parents:
85420
diff
changeset
|
656 int coordinates_group = group_left_1; |
|
8fde1a2c94dc
Issue #16612: Add "Argument Clinic", a compile-time preprocessor
Larry Hastings <larry@hastings.org>
parents:
85420
diff
changeset
|
657 int attr_group = group_right_1; |
|
8fde1a2c94dc
Issue #16612: Add "Argument Clinic", a compile-time preprocessor
Larry Hastings <larry@hastings.org>
parents:
85420
diff
changeset
|
658 int rtn; |
|
73746
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
659 int type; |
|
86465
8fde1a2c94dc
Issue #16612: Add "Argument Clinic", a compile-time preprocessor
Larry Hastings <larry@hastings.org>
parents:
85420
diff
changeset
|
660 chtype cch; |
|
73746
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
661 #ifdef HAVE_NCURSESW |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
662 cchar_t wch; |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
663 #endif |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
664 const char *funcname; |
|
61619
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
665 |
|
86465
8fde1a2c94dc
Issue #16612: Add "Argument Clinic", a compile-time preprocessor
Larry Hastings <larry@hastings.org>
parents:
85420
diff
changeset
|
666 if (!attr_group) |
|
8fde1a2c94dc
Issue #16612: Add "Argument Clinic", a compile-time preprocessor
Larry Hastings <larry@hastings.org>
parents:
85420
diff
changeset
|
667 attr = A_NORMAL; |
|
61619
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
668 |
|
73746
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
669 #ifdef HAVE_NCURSESW |
|
86465
8fde1a2c94dc
Issue #16612: Add "Argument Clinic", a compile-time preprocessor
Larry Hastings <larry@hastings.org>
parents:
85420
diff
changeset
|
670 type = PyCurses_ConvertToCchar_t(cwself, ch, &cch, &wch); |
|
73746
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
671 if (type == 2) { |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
672 funcname = "add_wch"; |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
673 wch.attr = attr; |
|
86465
8fde1a2c94dc
Issue #16612: Add "Argument Clinic", a compile-time preprocessor
Larry Hastings <larry@hastings.org>
parents:
85420
diff
changeset
|
674 if (coordinates_group) |
|
8fde1a2c94dc
Issue #16612: Add "Argument Clinic", a compile-time preprocessor
Larry Hastings <larry@hastings.org>
parents:
85420
diff
changeset
|
675 rtn = mvwadd_wch(cwself->win,y,x, &wch); |
|
73746
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
676 else { |
|
86465
8fde1a2c94dc
Issue #16612: Add "Argument Clinic", a compile-time preprocessor
Larry Hastings <larry@hastings.org>
parents:
85420
diff
changeset
|
677 rtn = wadd_wch(cwself->win, &wch); |
|
73746
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
678 } |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
679 } |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
680 else |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
681 #else |
|
86466
47618b00405b
Fix compilation of the curses module (broken by issue #16612).
Serhiy Storchaka <storchaka@gmail.com>
parents:
86465
diff
changeset
|
682 type = PyCurses_ConvertToCchar_t(cwself, ch, &cch); |
|
73746
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
683 #endif |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
684 if (type == 1) { |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
685 funcname = "addch"; |
|
86465
8fde1a2c94dc
Issue #16612: Add "Argument Clinic", a compile-time preprocessor
Larry Hastings <larry@hastings.org>
parents:
85420
diff
changeset
|
686 if (coordinates_group) |
|
8fde1a2c94dc
Issue #16612: Add "Argument Clinic", a compile-time preprocessor
Larry Hastings <larry@hastings.org>
parents:
85420
diff
changeset
|
687 rtn = mvwaddch(cwself->win,y,x, cch | attr); |
|
73746
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
688 else { |
|
86465
8fde1a2c94dc
Issue #16612: Add "Argument Clinic", a compile-time preprocessor
Larry Hastings <larry@hastings.org>
parents:
85420
diff
changeset
|
689 rtn = waddch(cwself->win, cch | attr); |
|
73746
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
690 } |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
691 } |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
692 else { |
|
61619
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
693 return NULL; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
694 } |
|
73746
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
695 return PyCursesCheckERR(rtn, funcname); |
|
12737
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
696 } |
|
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
697 |
|
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
698 static PyObject * |
|
13465
8e92d941e07f
Patch from Peter Schneider-Kamp: convert curses module to ANSI prototypes,
Andrew M. Kuchling <amk@amk.ca>
parents:
13388
diff
changeset
|
699 PyCursesWindow_AddStr(PyCursesWindowObject *self, PyObject *args) |
|
12737
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
700 { |
|
61619
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
701 int rtn; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
702 int x, y; |
|
73746
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
703 int strtype; |
|
75670
b4ca2f17dde4
fix compiler warnings
Benjamin Peterson <benjamin@python.org>
parents:
75485
diff
changeset
|
704 PyObject *strobj, *bytesobj = NULL; |
|
73746
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
705 #ifdef HAVE_NCURSESW |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
706 wchar_t *wstr = NULL; |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
707 #endif |
|
61619
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
708 attr_t attr = A_NORMAL , attr_old = A_NORMAL; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
709 long lattr; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
710 int use_xy = FALSE, use_attr = FALSE; |
|
73746
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
711 const char *funcname; |
|
61619
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
712 |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
713 switch (PyTuple_Size(args)) { |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
714 case 1: |
|
73746
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
715 if (!PyArg_ParseTuple(args,"O;str", &strobj)) |
|
61619
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
716 return NULL; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
717 break; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
718 case 2: |
|
73746
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
719 if (!PyArg_ParseTuple(args,"Ol;str,attr", &strobj, &lattr)) |
|
61619
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
720 return NULL; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
721 attr = lattr; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
722 use_attr = TRUE; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
723 break; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
724 case 3: |
|
73746
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
725 if (!PyArg_ParseTuple(args,"iiO;int,int,str", &y, &x, &strobj)) |
|
61619
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
726 return NULL; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
727 use_xy = TRUE; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
728 break; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
729 case 4: |
|
73746
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
730 if (!PyArg_ParseTuple(args,"iiOl;int,int,str,attr", &y, &x, &strobj, &lattr)) |
|
61619
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
731 return NULL; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
732 attr = lattr; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
733 use_xy = use_attr = TRUE; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
734 break; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
735 default: |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
736 PyErr_SetString(PyExc_TypeError, "addstr requires 1 to 4 arguments"); |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
737 return NULL; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
738 } |
|
73746
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
739 #ifdef HAVE_NCURSESW |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
740 strtype = PyCurses_ConvertToString(self, strobj, &bytesobj, &wstr); |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
741 #else |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
742 strtype = PyCurses_ConvertToString(self, strobj, &bytesobj, NULL); |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
743 #endif |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
744 if (strtype == 0) |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
745 return NULL; |
|
61619
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
746 if (use_attr == TRUE) { |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
747 attr_old = getattrs(self->win); |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
748 (void)wattrset(self->win,attr); |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
749 } |
|
73746
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
750 #ifdef HAVE_NCURSESW |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
751 if (strtype == 2) { |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
752 funcname = "addwstr"; |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
753 if (use_xy == TRUE) |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
754 rtn = mvwaddwstr(self->win,y,x,wstr); |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
755 else |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
756 rtn = waddwstr(self->win,wstr); |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
757 PyMem_Free(wstr); |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
758 } |
|
61619
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
759 else |
|
73746
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
760 #endif |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
761 { |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
762 char *str = PyBytes_AS_STRING(bytesobj); |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
763 funcname = "addstr"; |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
764 if (use_xy == TRUE) |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
765 rtn = mvwaddstr(self->win,y,x,str); |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
766 else |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
767 rtn = waddstr(self->win,str); |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
768 Py_DECREF(bytesobj); |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
769 } |
|
61619
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
770 if (use_attr == TRUE) |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
771 (void)wattrset(self->win,attr_old); |
|
73746
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
772 return PyCursesCheckERR(rtn, funcname); |
|
1855
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
773 } |
|
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
774 |
|
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
775 static PyObject * |
|
13465
8e92d941e07f
Patch from Peter Schneider-Kamp: convert curses module to ANSI prototypes,
Andrew M. Kuchling <amk@amk.ca>
parents:
13388
diff
changeset
|
776 PyCursesWindow_AddNStr(PyCursesWindowObject *self, PyObject *args) |
|
1855
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
777 { |
|
61619
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
778 int rtn, x, y, n; |
|
73746
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
779 int strtype; |
|
75670
b4ca2f17dde4
fix compiler warnings
Benjamin Peterson <benjamin@python.org>
parents:
75485
diff
changeset
|
780 PyObject *strobj, *bytesobj = NULL; |
|
73746
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
781 #ifdef HAVE_NCURSESW |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
782 wchar_t *wstr = NULL; |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
783 #endif |
|
61619
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
784 attr_t attr = A_NORMAL , attr_old = A_NORMAL; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
785 long lattr; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
786 int use_xy = FALSE, use_attr = FALSE; |
|
73746
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
787 const char *funcname; |
|
61619
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
788 |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
789 switch (PyTuple_Size(args)) { |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
790 case 2: |
|
73746
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
791 if (!PyArg_ParseTuple(args,"Oi;str,n", &strobj, &n)) |
|
61619
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
792 return NULL; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
793 break; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
794 case 3: |
|
73746
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
795 if (!PyArg_ParseTuple(args,"Oil;str,n,attr", &strobj, &n, &lattr)) |
|
61619
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
796 return NULL; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
797 attr = lattr; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
798 use_attr = TRUE; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
799 break; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
800 case 4: |
|
73746
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
801 if (!PyArg_ParseTuple(args,"iiOi;y,x,str,n", &y, &x, &strobj, &n)) |
|
61619
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
802 return NULL; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
803 use_xy = TRUE; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
804 break; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
805 case 5: |
|
73746
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
806 if (!PyArg_ParseTuple(args,"iiOil;y,x,str,n,attr", &y, &x, &strobj, &n, &lattr)) |
|
61619
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
807 return NULL; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
808 attr = lattr; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
809 use_xy = use_attr = TRUE; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
810 break; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
811 default: |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
812 PyErr_SetString(PyExc_TypeError, "addnstr requires 2 to 5 arguments"); |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
813 return NULL; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
814 } |
|
73746
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
815 #ifdef HAVE_NCURSESW |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
816 strtype = PyCurses_ConvertToString(self, strobj, &bytesobj, &wstr); |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
817 #else |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
818 strtype = PyCurses_ConvertToString(self, strobj, &bytesobj, NULL); |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
819 #endif |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
820 if (strtype == 0) |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
821 return NULL; |
|
61619
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
822 |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
823 if (use_attr == TRUE) { |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
824 attr_old = getattrs(self->win); |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
825 (void)wattrset(self->win,attr); |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
826 } |
|
73746
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
827 #ifdef HAVE_NCURSESW |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
828 if (strtype == 2) { |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
829 funcname = "addnwstr"; |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
830 if (use_xy == TRUE) |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
831 rtn = mvwaddnwstr(self->win,y,x,wstr,n); |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
832 else |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
833 rtn = waddnwstr(self->win,wstr,n); |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
834 PyMem_Free(wstr); |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
835 } |
|
61619
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
836 else |
|
73746
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
837 #endif |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
838 { |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
839 char *str = PyBytes_AS_STRING(bytesobj); |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
840 funcname = "addnstr"; |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
841 if (use_xy == TRUE) |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
842 rtn = mvwaddnstr(self->win,y,x,str,n); |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
843 else |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
844 rtn = waddnstr(self->win,str,n); |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
845 Py_DECREF(bytesobj); |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
846 } |
|
61619
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
847 if (use_attr == TRUE) |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
848 (void)wattrset(self->win,attr_old); |
|
73746
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
849 return PyCursesCheckERR(rtn, funcname); |
|
12737
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
850 } |
| 2357 | 851 |
|
12737
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
852 static PyObject * |
|
13465
8e92d941e07f
Patch from Peter Schneider-Kamp: convert curses module to ANSI prototypes,
Andrew M. Kuchling <amk@amk.ca>
parents:
13388
diff
changeset
|
853 PyCursesWindow_Bkgd(PyCursesWindowObject *self, PyObject *args) |
|
12737
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
854 { |
|
61619
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
855 PyObject *temp; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
856 chtype bkgd; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
857 attr_t attr = A_NORMAL; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
858 long lattr; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
859 |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
860 switch (PyTuple_Size(args)) { |
|
12737
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
861 case 1: |
|
61619
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
862 if (!PyArg_ParseTuple(args, "O;ch or int", &temp)) |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
863 return NULL; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
864 break; |
|
12737
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
865 case 2: |
|
61619
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
866 if (!PyArg_ParseTuple(args,"Ol;ch or int,attr", &temp, &lattr)) |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
867 return NULL; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
868 attr = lattr; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
869 break; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
870 default: |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
871 PyErr_SetString(PyExc_TypeError, "bkgd requires 1 or 2 arguments"); |
|
12737
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
872 return NULL; |
|
61619
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
873 } |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
874 |
|
73746
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
875 if (!PyCurses_ConvertToChtype(self, temp, &bkgd)) |
|
61619
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
876 return NULL; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
877 |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
878 return PyCursesCheckERR(wbkgd(self->win, bkgd | attr), "bkgd"); |
|
12737
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
879 } |
|
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
880 |
|
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
881 static PyObject * |
|
44604
94ab572ed6dd
Merged revisions 59843-59863 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
44441
diff
changeset
|
882 PyCursesWindow_AttrOff(PyCursesWindowObject *self, PyObject *args) |
|
94ab572ed6dd
Merged revisions 59843-59863 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
44441
diff
changeset
|
883 { |
|
61619
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
884 long lattr; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
885 if (!PyArg_ParseTuple(args,"l;attr", &lattr)) |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
886 return NULL; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
887 return PyCursesCheckERR(wattroff(self->win, (attr_t)lattr), "attroff"); |
|
44604
94ab572ed6dd
Merged revisions 59843-59863 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
44441
diff
changeset
|
888 } |
|
94ab572ed6dd
Merged revisions 59843-59863 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
44441
diff
changeset
|
889 |
|
94ab572ed6dd
Merged revisions 59843-59863 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
44441
diff
changeset
|
890 static PyObject * |
|
94ab572ed6dd
Merged revisions 59843-59863 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
44441
diff
changeset
|
891 PyCursesWindow_AttrOn(PyCursesWindowObject *self, PyObject *args) |
|
94ab572ed6dd
Merged revisions 59843-59863 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
44441
diff
changeset
|
892 { |
|
61619
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
893 long lattr; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
894 if (!PyArg_ParseTuple(args,"l;attr", &lattr)) |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
895 return NULL; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
896 return PyCursesCheckERR(wattron(self->win, (attr_t)lattr), "attron"); |
|
44604
94ab572ed6dd
Merged revisions 59843-59863 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
44441
diff
changeset
|
897 } |
|
94ab572ed6dd
Merged revisions 59843-59863 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
44441
diff
changeset
|
898 |
|
94ab572ed6dd
Merged revisions 59843-59863 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
44441
diff
changeset
|
899 static PyObject * |
|
94ab572ed6dd
Merged revisions 59843-59863 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
44441
diff
changeset
|
900 PyCursesWindow_AttrSet(PyCursesWindowObject *self, PyObject *args) |
|
94ab572ed6dd
Merged revisions 59843-59863 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
44441
diff
changeset
|
901 { |
|
61619
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
902 long lattr; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
903 if (!PyArg_ParseTuple(args,"l;attr", &lattr)) |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
904 return NULL; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
905 return PyCursesCheckERR(wattrset(self->win, (attr_t)lattr), "attrset"); |
|
44604
94ab572ed6dd
Merged revisions 59843-59863 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
44441
diff
changeset
|
906 } |
|
94ab572ed6dd
Merged revisions 59843-59863 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
44441
diff
changeset
|
907 |
|
94ab572ed6dd
Merged revisions 59843-59863 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
44441
diff
changeset
|
908 static PyObject * |
|
13465
8e92d941e07f
Patch from Peter Schneider-Kamp: convert curses module to ANSI prototypes,
Andrew M. Kuchling <amk@amk.ca>
parents:
13388
diff
changeset
|
909 PyCursesWindow_BkgdSet(PyCursesWindowObject *self, PyObject *args) |
|
12737
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
910 { |
|
61619
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
911 PyObject *temp; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
912 chtype bkgd; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
913 attr_t attr = A_NORMAL; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
914 long lattr; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
915 |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
916 switch (PyTuple_Size(args)) { |
|
12737
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
917 case 1: |
|
61619
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
918 if (!PyArg_ParseTuple(args, "O;ch or int", &temp)) |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
919 return NULL; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
920 break; |
|
12737
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
921 case 2: |
|
61619
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
922 if (!PyArg_ParseTuple(args,"Ol;ch or int,attr", &temp, &lattr)) |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
923 return NULL; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
924 attr = lattr; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
925 break; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
926 default: |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
927 PyErr_SetString(PyExc_TypeError, "bkgdset requires 1 or 2 arguments"); |
|
12737
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
928 return NULL; |
|
61619
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
929 } |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
930 |
|
73746
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
931 if (!PyCurses_ConvertToChtype(self, temp, &bkgd)) |
|
61619
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
932 return NULL; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
933 |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
934 wbkgdset(self->win, bkgd | attr); |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
935 return PyCursesCheckERR(0, "bkgdset"); |
|
12737
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
936 } |
|
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
937 |
|
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
938 static PyObject * |
|
13465
8e92d941e07f
Patch from Peter Schneider-Kamp: convert curses module to ANSI prototypes,
Andrew M. Kuchling <amk@amk.ca>
parents:
13388
diff
changeset
|
939 PyCursesWindow_Border(PyCursesWindowObject *self, PyObject *args) |
|
12737
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
940 { |
|
61619
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
941 PyObject *temp[8]; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
942 chtype ch[8]; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
943 int i; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
944 |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
945 /* Clear the array of parameters */ |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
946 for(i=0; i<8; i++) { |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
947 temp[i] = NULL; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
948 ch[i] = 0; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
949 } |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
950 |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
951 if (!PyArg_ParseTuple(args,"|OOOOOOOO;ls,rs,ts,bs,tl,tr,bl,br", |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
952 &temp[0], &temp[1], &temp[2], &temp[3], |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
953 &temp[4], &temp[5], &temp[6], &temp[7])) |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
954 return NULL; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
955 |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
956 for(i=0; i<8; i++) { |
|
73746
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
957 if (temp[i] != NULL && !PyCurses_ConvertToChtype(self, temp[i], &ch[i])) |
|
61619
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
958 return NULL; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
959 } |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
960 |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
961 wborder(self->win, |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
962 ch[0], ch[1], ch[2], ch[3], |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
963 ch[4], ch[5], ch[6], ch[7]); |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
964 Py_INCREF(Py_None); |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
965 return Py_None; |
|
12737
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
966 } |
|
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
967 |
|
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
968 static PyObject * |
|
13465
8e92d941e07f
Patch from Peter Schneider-Kamp: convert curses module to ANSI prototypes,
Andrew M. Kuchling <amk@amk.ca>
parents:
13388
diff
changeset
|
969 PyCursesWindow_Box(PyCursesWindowObject *self, PyObject *args) |
|
12737
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
970 { |
|
61619
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
971 chtype ch1=0,ch2=0; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
972 switch(PyTuple_Size(args)){ |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
973 case 0: break; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
974 default: |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
975 if (!PyArg_ParseTuple(args,"ll;vertint,horint", &ch1, &ch2)) |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
976 return NULL; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
977 } |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
978 box(self->win,ch1,ch2); |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
979 Py_INCREF(Py_None); |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
980 return Py_None; |
|
1855
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
981 } |
|
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
982 |
|
20647
dd78b1a71f3e
Check for HP/UX curses problems. Define _XOPEN_SOURCE_EXTENDED and
Martin v. Löwis <martin@v.loewis.de>
parents:
20583
diff
changeset
|
983 #if defined(HAVE_NCURSES_H) || defined(MVWDELCH_IS_EXPRESSION) |
|
dd78b1a71f3e
Check for HP/UX curses problems. Define _XOPEN_SOURCE_EXTENDED and
Martin v. Löwis <martin@v.loewis.de>
parents:
20583
diff
changeset
|
984 #define py_mvwdelch mvwdelch |
|
dd78b1a71f3e
Check for HP/UX curses problems. Define _XOPEN_SOURCE_EXTENDED and
Martin v. Löwis <martin@v.loewis.de>
parents:
20583
diff
changeset
|
985 #else |
|
dd78b1a71f3e
Check for HP/UX curses problems. Define _XOPEN_SOURCE_EXTENDED and
Martin v. Löwis <martin@v.loewis.de>
parents:
20583
diff
changeset
|
986 int py_mvwdelch(WINDOW *w, int y, int x) |
|
dd78b1a71f3e
Check for HP/UX curses problems. Define _XOPEN_SOURCE_EXTENDED and
Martin v. Löwis <martin@v.loewis.de>
parents:
20583
diff
changeset
|
987 { |
|
61619
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
988 mvwdelch(w,y,x); |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
989 /* On HP/UX, mvwdelch already returns. On other systems, |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
990 we may well run into this return statement. */ |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
991 return 0; |
|
20647
dd78b1a71f3e
Check for HP/UX curses problems. Define _XOPEN_SOURCE_EXTENDED and
Martin v. Löwis <martin@v.loewis.de>
parents:
20583
diff
changeset
|
992 } |
|
dd78b1a71f3e
Check for HP/UX curses problems. Define _XOPEN_SOURCE_EXTENDED and
Martin v. Löwis <martin@v.loewis.de>
parents:
20583
diff
changeset
|
993 #endif |
|
dd78b1a71f3e
Check for HP/UX curses problems. Define _XOPEN_SOURCE_EXTENDED and
Martin v. Löwis <martin@v.loewis.de>
parents:
20583
diff
changeset
|
994 |
|
41554
06145fbc7ab9
Merged revisions 53952-54987 via svnmerge from
Guido van Rossum <guido@python.org>
parents:
40626
diff
changeset
|
995 /* chgat, added by Fabian Kreutz <fabian.kreutz at gmx.net> */ |
|
06145fbc7ab9
Merged revisions 53952-54987 via svnmerge from
Guido van Rossum <guido@python.org>
parents:
40626
diff
changeset
|
996 |
|
06145fbc7ab9
Merged revisions 53952-54987 via svnmerge from
Guido van Rossum <guido@python.org>
parents:
40626
diff
changeset
|
997 static PyObject * |
|
06145fbc7ab9
Merged revisions 53952-54987 via svnmerge from
Guido van Rossum <guido@python.org>
parents:
40626
diff
changeset
|
998 PyCursesWindow_ChgAt(PyCursesWindowObject *self, PyObject *args) |
|
06145fbc7ab9
Merged revisions 53952-54987 via svnmerge from
Guido van Rossum <guido@python.org>
parents:
40626
diff
changeset
|
999 { |
|
61619
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1000 int rtn; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1001 int x, y; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1002 int num = -1; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1003 short color; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1004 attr_t attr = A_NORMAL; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1005 long lattr; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1006 int use_xy = FALSE; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1007 |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1008 switch (PyTuple_Size(args)) { |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1009 case 1: |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1010 if (!PyArg_ParseTuple(args,"l;attr", &lattr)) |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1011 return NULL; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1012 attr = lattr; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1013 break; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1014 case 2: |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1015 if (!PyArg_ParseTuple(args,"il;n,attr", &num, &lattr)) |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1016 return NULL; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1017 attr = lattr; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1018 break; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1019 case 3: |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1020 if (!PyArg_ParseTuple(args,"iil;int,int,attr", &y, &x, &lattr)) |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1021 return NULL; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1022 attr = lattr; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1023 use_xy = TRUE; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1024 break; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1025 case 4: |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1026 if (!PyArg_ParseTuple(args,"iiil;int,int,n,attr", &y, &x, &num, &lattr)) |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1027 return NULL; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1028 attr = lattr; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1029 use_xy = TRUE; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1030 break; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1031 default: |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1032 PyErr_SetString(PyExc_TypeError, "chgat requires 1 to 4 arguments"); |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1033 return NULL; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1034 } |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1035 |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1036 color = (short)((attr >> 8) & 0xff); |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1037 attr = attr - (color << 8); |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1038 |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1039 if (use_xy == TRUE) { |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1040 rtn = mvwchgat(self->win,y,x,num,attr,color,NULL); |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1041 touchline(self->win,y,1); |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1042 } else { |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1043 getyx(self->win,y,x); |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1044 rtn = wchgat(self->win,num,attr,color,NULL); |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1045 touchline(self->win,y,1); |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1046 } |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1047 return PyCursesCheckERR(rtn, "chgat"); |
|
41554
06145fbc7ab9
Merged revisions 53952-54987 via svnmerge from
Guido van Rossum <guido@python.org>
parents:
40626
diff
changeset
|
1048 } |
|
06145fbc7ab9
Merged revisions 53952-54987 via svnmerge from
Guido van Rossum <guido@python.org>
parents:
40626
diff
changeset
|
1049 |
|
20647
dd78b1a71f3e
Check for HP/UX curses problems. Define _XOPEN_SOURCE_EXTENDED and
Martin v. Löwis <martin@v.loewis.de>
parents:
20583
diff
changeset
|
1050 |
|
1855
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1051 static PyObject * |
|
13465
8e92d941e07f
Patch from Peter Schneider-Kamp: convert curses module to ANSI prototypes,
Andrew M. Kuchling <amk@amk.ca>
parents:
13388
diff
changeset
|
1052 PyCursesWindow_DelCh(PyCursesWindowObject *self, PyObject *args) |
|
1855
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1053 { |
|
61619
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1054 int rtn; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1055 int x, y; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1056 |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1057 switch (PyTuple_Size(args)) { |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1058 case 0: |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1059 rtn = wdelch(self->win); |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1060 break; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1061 case 2: |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1062 if (!PyArg_ParseTuple(args,"ii;y,x", &y, &x)) |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1063 return NULL; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1064 rtn = py_mvwdelch(self->win,y,x); |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1065 break; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1066 default: |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1067 PyErr_SetString(PyExc_TypeError, "delch requires 0 or 2 arguments"); |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1068 return NULL; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1069 } |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1070 return PyCursesCheckERR(rtn, "[mv]wdelch"); |
|
12737
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
1071 } |
| 2357 | 1072 |
|
12737
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
1073 static PyObject * |
|
13465
8e92d941e07f
Patch from Peter Schneider-Kamp: convert curses module to ANSI prototypes,
Andrew M. Kuchling <amk@amk.ca>
parents:
13388
diff
changeset
|
1074 PyCursesWindow_DerWin(PyCursesWindowObject *self, PyObject *args) |
|
12737
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
1075 { |
|
61619
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1076 WINDOW *win; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1077 int nlines, ncols, begin_y, begin_x; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1078 |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1079 nlines = 0; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1080 ncols = 0; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1081 switch (PyTuple_Size(args)) { |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1082 case 2: |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1083 if (!PyArg_ParseTuple(args,"ii;begin_y,begin_x",&begin_y,&begin_x)) |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1084 return NULL; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1085 break; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1086 case 4: |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1087 if (!PyArg_ParseTuple(args, "iiii;nlines,ncols,begin_y,begin_x", |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1088 &nlines,&ncols,&begin_y,&begin_x)) |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1089 return NULL; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1090 break; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1091 default: |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1092 PyErr_SetString(PyExc_TypeError, "derwin requires 2 or 4 arguments"); |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1093 return NULL; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1094 } |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1095 |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1096 win = derwin(self->win,nlines,ncols,begin_y,begin_x); |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1097 |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1098 if (win == NULL) { |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1099 PyErr_SetString(PyCursesError, catchall_NULL); |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1100 return NULL; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1101 } |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1102 |
|
73746
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
1103 return (PyObject *)PyCursesWindow_New(win, NULL); |
|
1855
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1104 } |
|
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1105 |
|
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1106 static PyObject * |
|
13465
8e92d941e07f
Patch from Peter Schneider-Kamp: convert curses module to ANSI prototypes,
Andrew M. Kuchling <amk@amk.ca>
parents:
13388
diff
changeset
|
1107 PyCursesWindow_EchoChar(PyCursesWindowObject *self, PyObject *args) |
|
1855
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1108 { |
|
61619
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1109 PyObject *temp; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1110 chtype ch; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1111 attr_t attr = A_NORMAL; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1112 long lattr; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1113 |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1114 switch (PyTuple_Size(args)) { |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1115 case 1: |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1116 if (!PyArg_ParseTuple(args,"O;ch or int", &temp)) |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1117 return NULL; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1118 break; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1119 case 2: |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1120 if (!PyArg_ParseTuple(args,"Ol;ch or int,attr", &temp, &lattr)) |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1121 return NULL; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1122 attr = lattr; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1123 break; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1124 default: |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1125 PyErr_SetString(PyExc_TypeError, "echochar requires 1 or 2 arguments"); |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1126 |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1127 |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1128 return NULL; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1129 } |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1130 |
|
73746
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
1131 if (!PyCurses_ConvertToChtype(self, temp, &ch)) |
|
61619
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1132 return NULL; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1133 |
|
20647
dd78b1a71f3e
Check for HP/UX curses problems. Define _XOPEN_SOURCE_EXTENDED and
Martin v. Löwis <martin@v.loewis.de>
parents:
20583
diff
changeset
|
1134 #ifdef WINDOW_HAS_FLAGS |
|
61619
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1135 if (self->win->_flags & _ISPAD) |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1136 return PyCursesCheckERR(pechochar(self->win, ch | attr), |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1137 "echochar"); |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1138 else |
|
16351
ef32bfa5f5c6
Patch #103485 from Donn Cave: patches to make the module compile on AIX and
Andrew M. Kuchling <amk@amk.ca>
parents:
16350
diff
changeset
|
1139 #endif |
|
61619
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1140 return PyCursesCheckERR(wechochar(self->win, ch | attr), |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1141 "echochar"); |
|
1855
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1142 } |
|
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1143 |
|
13036
c09a570eb6eb
Added support for mouse functions: mousemask(), mouseinterval(),
Andrew M. Kuchling <amk@amk.ca>
parents:
12988
diff
changeset
|
1144 #ifdef NCURSES_MOUSE_VERSION |
|
c09a570eb6eb
Added support for mouse functions: mousemask(), mouseinterval(),
Andrew M. Kuchling <amk@amk.ca>
parents:
12988
diff
changeset
|
1145 static PyObject * |
|
13465
8e92d941e07f
Patch from Peter Schneider-Kamp: convert curses module to ANSI prototypes,
Andrew M. Kuchling <amk@amk.ca>
parents:
13388
diff
changeset
|
1146 PyCursesWindow_Enclose(PyCursesWindowObject *self, PyObject *args) |
|
13036
c09a570eb6eb
Added support for mouse functions: mousemask(), mouseinterval(),
Andrew M. Kuchling <amk@amk.ca>
parents:
12988
diff
changeset
|
1147 { |
|
61619
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1148 int x, y; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1149 if (!PyArg_ParseTuple(args,"ii;y,x", &y, &x)) |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1150 return NULL; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1151 |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1152 return PyLong_FromLong( wenclose(self->win,y,x) ); |
|
13036
c09a570eb6eb
Added support for mouse functions: mousemask(), mouseinterval(),
Andrew M. Kuchling <amk@amk.ca>
parents:
12988
diff
changeset
|
1153 } |
|
c09a570eb6eb
Added support for mouse functions: mousemask(), mouseinterval(),
Andrew M. Kuchling <amk@amk.ca>
parents:
12988
diff
changeset
|
1154 #endif |
|
c09a570eb6eb
Added support for mouse functions: mousemask(), mouseinterval(),
Andrew M. Kuchling <amk@amk.ca>
parents:
12988
diff
changeset
|
1155 |
|
1855
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1156 static PyObject * |
|
21756
d60350d71b60
Patch #477752: Drop old-style getargs from curses.
Martin v. Löwis <martin@v.loewis.de>
parents:
21741
diff
changeset
|
1157 PyCursesWindow_GetBkgd(PyCursesWindowObject *self) |
|
1855
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1158 { |
|
61619
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1159 return PyLong_FromLong((long) getbkgd(self->win)); |
|
1855
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1160 } |
|
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1161 |
|
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1162 static PyObject * |
|
13465
8e92d941e07f
Patch from Peter Schneider-Kamp: convert curses module to ANSI prototypes,
Andrew M. Kuchling <amk@amk.ca>
parents:
13388
diff
changeset
|
1163 PyCursesWindow_GetCh(PyCursesWindowObject *self, PyObject *args) |
|
1855
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1164 { |
|
61619
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1165 int x, y; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1166 int rtn; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1167 |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1168 switch (PyTuple_Size(args)) { |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1169 case 0: |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1170 Py_BEGIN_ALLOW_THREADS |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1171 rtn = wgetch(self->win); |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1172 Py_END_ALLOW_THREADS |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1173 break; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1174 case 2: |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1175 if (!PyArg_ParseTuple(args,"ii;y,x",&y,&x)) |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1176 return NULL; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1177 Py_BEGIN_ALLOW_THREADS |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1178 rtn = mvwgetch(self->win,y,x); |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1179 Py_END_ALLOW_THREADS |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1180 break; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1181 default: |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1182 PyErr_SetString(PyExc_TypeError, "getch requires 0 or 2 arguments"); |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1183 return NULL; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1184 } |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1185 return PyLong_FromLong((long)rtn); |
|
12737
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
1186 } |
|
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
1187 |
|
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
1188 static PyObject * |
|
13465
8e92d941e07f
Patch from Peter Schneider-Kamp: convert curses module to ANSI prototypes,
Andrew M. Kuchling <amk@amk.ca>
parents:
13388
diff
changeset
|
1189 PyCursesWindow_GetKey(PyCursesWindowObject *self, PyObject *args) |
|
12737
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
1190 { |
|
61619
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1191 int x, y; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1192 int rtn; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1193 |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1194 switch (PyTuple_Size(args)) { |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1195 case 0: |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1196 Py_BEGIN_ALLOW_THREADS |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1197 rtn = wgetch(self->win); |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1198 Py_END_ALLOW_THREADS |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1199 break; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1200 case 2: |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1201 if (!PyArg_ParseTuple(args,"ii;y,x",&y,&x)) |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1202 return NULL; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1203 Py_BEGIN_ALLOW_THREADS |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1204 rtn = mvwgetch(self->win,y,x); |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1205 Py_END_ALLOW_THREADS |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1206 break; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1207 default: |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1208 PyErr_SetString(PyExc_TypeError, "getkey requires 0 or 2 arguments"); |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1209 return NULL; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1210 } |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1211 if (rtn == ERR) { |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1212 /* getch() returns ERR in nodelay mode */ |
|
82769
8a08607abf32
#8862: Fix curses cleanup with getchar is interrupted by a signal.
R David Murray <rdmurray@bitdance.com>
parents:
73331
diff
changeset
|
1213 PyErr_CheckSignals(); |
|
8a08607abf32
#8862: Fix curses cleanup with getchar is interrupted by a signal.
R David Murray <rdmurray@bitdance.com>
parents:
73331
diff
changeset
|
1214 if (!PyErr_Occurred()) |
|
8a08607abf32
#8862: Fix curses cleanup with getchar is interrupted by a signal.
R David Murray <rdmurray@bitdance.com>
parents:
73331
diff
changeset
|
1215 PyErr_SetString(PyCursesError, "no input"); |
|
61619
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1216 return NULL; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1217 } else if (rtn<=255) { |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1218 return Py_BuildValue("C", rtn); |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1219 } else { |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1220 const char *knp; |
|
16351
ef32bfa5f5c6
Patch #103485 from Donn Cave: patches to make the module compile on AIX and
Andrew M. Kuchling <amk@amk.ca>
parents:
16350
diff
changeset
|
1221 #if defined(__NetBSD__) |
|
61619
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1222 knp = unctrl(rtn); |
|
16351
ef32bfa5f5c6
Patch #103485 from Donn Cave: patches to make the module compile on AIX and
Andrew M. Kuchling <amk@amk.ca>
parents:
16350
diff
changeset
|
1223 #else |
|
61619
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1224 knp = keyname(rtn); |
|
16351
ef32bfa5f5c6
Patch #103485 from Donn Cave: patches to make the module compile on AIX and
Andrew M. Kuchling <amk@amk.ca>
parents:
16350
diff
changeset
|
1225 #endif |
|
61619
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1226 return PyUnicode_FromString((knp == NULL) ? "" : knp); |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1227 } |
|
1855
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1228 } |
|
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1229 |
|
71656
d98b5e0f0862
Fix build error in _curses module when not using libncursesw.
Nadeem Vawda <nadeem.vawda@gmail.com>
parents:
71338
diff
changeset
|
1230 #ifdef HAVE_NCURSESW |
|
1855
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1231 static PyObject * |
|
71338
dec10ad41b2a
Close #6755: Add get_wch() method to curses.window class
Victor Stinner <victor.stinner@haypocalc.com>
parents:
68457
diff
changeset
|
1232 PyCursesWindow_Get_WCh(PyCursesWindowObject *self, PyObject *args) |
|
dec10ad41b2a
Close #6755: Add get_wch() method to curses.window class
Victor Stinner <victor.stinner@haypocalc.com>
parents:
68457
diff
changeset
|
1233 { |
|
dec10ad41b2a
Close #6755: Add get_wch() method to curses.window class
Victor Stinner <victor.stinner@haypocalc.com>
parents:
68457
diff
changeset
|
1234 int x, y; |
|
dec10ad41b2a
Close #6755: Add get_wch() method to curses.window class
Victor Stinner <victor.stinner@haypocalc.com>
parents:
68457
diff
changeset
|
1235 int ct; |
|
dec10ad41b2a
Close #6755: Add get_wch() method to curses.window class
Victor Stinner <victor.stinner@haypocalc.com>
parents:
68457
diff
changeset
|
1236 wint_t rtn; |
|
dec10ad41b2a
Close #6755: Add get_wch() method to curses.window class
Victor Stinner <victor.stinner@haypocalc.com>
parents:
68457
diff
changeset
|
1237 |
|
dec10ad41b2a
Close #6755: Add get_wch() method to curses.window class
Victor Stinner <victor.stinner@haypocalc.com>
parents:
68457
diff
changeset
|
1238 switch (PyTuple_Size(args)) { |
|
dec10ad41b2a
Close #6755: Add get_wch() method to curses.window class
Victor Stinner <victor.stinner@haypocalc.com>
parents:
68457
diff
changeset
|
1239 case 0: |
|
dec10ad41b2a
Close #6755: Add get_wch() method to curses.window class
Victor Stinner <victor.stinner@haypocalc.com>
parents:
68457
diff
changeset
|
1240 Py_BEGIN_ALLOW_THREADS |
|
dec10ad41b2a
Close #6755: Add get_wch() method to curses.window class
Victor Stinner <victor.stinner@haypocalc.com>
parents:
68457
diff
changeset
|
1241 ct = wget_wch(self->win,&rtn); |
|
dec10ad41b2a
Close #6755: Add get_wch() method to curses.window class
Victor Stinner <victor.stinner@haypocalc.com>
parents:
68457
diff
changeset
|
1242 Py_END_ALLOW_THREADS |
|
dec10ad41b2a
Close #6755: Add get_wch() method to curses.window class
Victor Stinner <victor.stinner@haypocalc.com>
parents:
68457
diff
changeset
|
1243 break; |
|
dec10ad41b2a
Close #6755: Add get_wch() method to curses.window class
Victor Stinner <victor.stinner@haypocalc.com>
parents:
68457
diff
changeset
|
1244 case 2: |
|
dec10ad41b2a
Close #6755: Add get_wch() method to curses.window class
Victor Stinner <victor.stinner@haypocalc.com>
parents:
68457
diff
changeset
|
1245 if (!PyArg_ParseTuple(args,"ii;y,x",&y,&x)) |
|
dec10ad41b2a
Close #6755: Add get_wch() method to curses.window class
Victor Stinner <victor.stinner@haypocalc.com>
parents:
68457
diff
changeset
|
1246 return NULL; |
|
dec10ad41b2a
Close #6755: Add get_wch() method to curses.window class
Victor Stinner <victor.stinner@haypocalc.com>
parents:
68457
diff
changeset
|
1247 Py_BEGIN_ALLOW_THREADS |
|
dec10ad41b2a
Close #6755: Add get_wch() method to curses.window class
Victor Stinner <victor.stinner@haypocalc.com>
parents:
68457
diff
changeset
|
1248 ct = mvwget_wch(self->win,y,x,&rtn); |
|
dec10ad41b2a
Close #6755: Add get_wch() method to curses.window class
Victor Stinner <victor.stinner@haypocalc.com>
parents:
68457
diff
changeset
|
1249 Py_END_ALLOW_THREADS |
|
dec10ad41b2a
Close #6755: Add get_wch() method to curses.window class
Victor Stinner <victor.stinner@haypocalc.com>
parents:
68457
diff
changeset
|
1250 break; |
|
dec10ad41b2a
Close #6755: Add get_wch() method to curses.window class
Victor Stinner <victor.stinner@haypocalc.com>
parents:
68457
diff
changeset
|
1251 default: |
|
dec10ad41b2a
Close #6755: Add get_wch() method to curses.window class
Victor Stinner <victor.stinner@haypocalc.com>
parents:
68457
diff
changeset
|
1252 PyErr_SetString(PyExc_TypeError, "get_wch requires 0 or 2 arguments"); |
|
dec10ad41b2a
Close #6755: Add get_wch() method to curses.window class
Victor Stinner <victor.stinner@haypocalc.com>
parents:
68457
diff
changeset
|
1253 return NULL; |
|
dec10ad41b2a
Close #6755: Add get_wch() method to curses.window class
Victor Stinner <victor.stinner@haypocalc.com>
parents:
68457
diff
changeset
|
1254 } |
|
dec10ad41b2a
Close #6755: Add get_wch() method to curses.window class
Victor Stinner <victor.stinner@haypocalc.com>
parents:
68457
diff
changeset
|
1255 if (ct == ERR) { |
|
82867
d98a515489db
Issue #17209: curses.window.get_wch() now handles correctly KeyboardInterrupt (CTRL+c)
Victor Stinner <victor.stinner@gmail.com>
parents:
82770
diff
changeset
|
1256 if (PyErr_CheckSignals()) |
|
d98a515489db
Issue #17209: curses.window.get_wch() now handles correctly KeyboardInterrupt (CTRL+c)
Victor Stinner <victor.stinner@gmail.com>
parents:
82770
diff
changeset
|
1257 return NULL; |
|
d98a515489db
Issue #17209: curses.window.get_wch() now handles correctly KeyboardInterrupt (CTRL+c)
Victor Stinner <victor.stinner@gmail.com>
parents:
82770
diff
changeset
|
1258 |
|
71338
dec10ad41b2a
Close #6755: Add get_wch() method to curses.window class
Victor Stinner <victor.stinner@haypocalc.com>
parents:
68457
diff
changeset
|
1259 /* get_wch() returns ERR in nodelay mode */ |
|
dec10ad41b2a
Close #6755: Add get_wch() method to curses.window class
Victor Stinner <victor.stinner@haypocalc.com>
parents:
68457
diff
changeset
|
1260 PyErr_SetString(PyCursesError, "no input"); |
|
dec10ad41b2a
Close #6755: Add get_wch() method to curses.window class
Victor Stinner <victor.stinner@haypocalc.com>
parents:
68457
diff
changeset
|
1261 return NULL; |
|
dec10ad41b2a
Close #6755: Add get_wch() method to curses.window class
Victor Stinner <victor.stinner@haypocalc.com>
parents:
68457
diff
changeset
|
1262 } |
|
78796
c58789634d22
Issue #15785: Modify window.get_wch() API of the curses module: return a
Victor Stinner <victor.stinner@gmail.com>
parents:
75670
diff
changeset
|
1263 if (ct == KEY_CODE_YES) |
|
c58789634d22
Issue #15785: Modify window.get_wch() API of the curses module: return a
Victor Stinner <victor.stinner@gmail.com>
parents:
75670
diff
changeset
|
1264 return PyLong_FromLong(rtn); |
|
c58789634d22
Issue #15785: Modify window.get_wch() API of the curses module: return a
Victor Stinner <victor.stinner@gmail.com>
parents:
75670
diff
changeset
|
1265 else |
|
c58789634d22
Issue #15785: Modify window.get_wch() API of the curses module: return a
Victor Stinner <victor.stinner@gmail.com>
parents:
75670
diff
changeset
|
1266 return PyUnicode_FromOrdinal(rtn); |
|
71338
dec10ad41b2a
Close #6755: Add get_wch() method to curses.window class
Victor Stinner <victor.stinner@haypocalc.com>
parents:
68457
diff
changeset
|
1267 } |
|
71656
d98b5e0f0862
Fix build error in _curses module when not using libncursesw.
Nadeem Vawda <nadeem.vawda@gmail.com>
parents:
71338
diff
changeset
|
1268 #endif |
|
71338
dec10ad41b2a
Close #6755: Add get_wch() method to curses.window class
Victor Stinner <victor.stinner@haypocalc.com>
parents:
68457
diff
changeset
|
1269 |
|
1855
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1270 static PyObject * |
|
13465
8e92d941e07f
Patch from Peter Schneider-Kamp: convert curses module to ANSI prototypes,
Andrew M. Kuchling <amk@amk.ca>
parents:
13388
diff
changeset
|
1271 PyCursesWindow_GetStr(PyCursesWindowObject *self, PyObject *args) |
|
1855
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1272 { |
|
61619
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1273 int x, y, n; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1274 char rtn[1024]; /* This should be big enough.. I hope */ |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1275 int rtn2; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1276 |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1277 switch (PyTuple_Size(args)) { |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1278 case 0: |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1279 Py_BEGIN_ALLOW_THREADS |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1280 rtn2 = wgetnstr(self->win,rtn, 1023); |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1281 Py_END_ALLOW_THREADS |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1282 break; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1283 case 1: |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1284 if (!PyArg_ParseTuple(args,"i;n", &n)) |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1285 return NULL; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1286 Py_BEGIN_ALLOW_THREADS |
|
84022
41a2cbe23349
Reuse Py_MIN and Py_MAX macros: remove duplicate MIN/MAX macros
Victor Stinner <victor.stinner@gmail.com>
parents:
83794
diff
changeset
|
1287 rtn2 = wgetnstr(self->win, rtn, Py_MIN(n, 1023)); |
|
61619
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1288 Py_END_ALLOW_THREADS |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1289 break; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1290 case 2: |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1291 if (!PyArg_ParseTuple(args,"ii;y,x",&y,&x)) |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1292 return NULL; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1293 Py_BEGIN_ALLOW_THREADS |
|
39442
654c380cf8b9
Merged revisions 46753-51188 via svnmerge from
Thomas Wouters <thomas@python.org>
parents:
36675
diff
changeset
|
1294 #ifdef STRICT_SYSV_CURSES |
|
61619
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1295 rtn2 = wmove(self->win,y,x)==ERR ? ERR : wgetnstr(self->win, rtn, 1023); |
|
39442
654c380cf8b9
Merged revisions 46753-51188 via svnmerge from
Thomas Wouters <thomas@python.org>
parents:
36675
diff
changeset
|
1296 #else |
|
61619
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1297 rtn2 = mvwgetnstr(self->win,y,x,rtn, 1023); |
|
39442
654c380cf8b9
Merged revisions 46753-51188 via svnmerge from
Thomas Wouters <thomas@python.org>
parents:
36675
diff
changeset
|
1298 #endif |
|
61619
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1299 Py_END_ALLOW_THREADS |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1300 break; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1301 case 3: |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1302 if (!PyArg_ParseTuple(args,"iii;y,x,n", &y, &x, &n)) |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1303 return NULL; |
|
13040
12ac2c267b93
Fixes for compiling on Tru64.
Andrew M. Kuchling <amk@amk.ca>
parents:
13039
diff
changeset
|
1304 #ifdef STRICT_SYSV_CURSES |
|
61619
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1305 Py_BEGIN_ALLOW_THREADS |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1306 rtn2 = wmove(self->win,y,x)==ERR ? ERR : |
|
84022
41a2cbe23349
Reuse Py_MIN and Py_MAX macros: remove duplicate MIN/MAX macros
Victor Stinner <victor.stinner@gmail.com>
parents:
83794
diff
changeset
|
1307 wgetnstr(self->win, rtn, Py_MIN(n, 1023)); |
|
61619
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1308 Py_END_ALLOW_THREADS |
|
12737
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
1309 #else |
|
61619
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1310 Py_BEGIN_ALLOW_THREADS |
|
84022
41a2cbe23349
Reuse Py_MIN and Py_MAX macros: remove duplicate MIN/MAX macros
Victor Stinner <victor.stinner@gmail.com>
parents:
83794
diff
changeset
|
1311 rtn2 = mvwgetnstr(self->win, y, x, rtn, Py_MIN(n, 1023)); |
|
61619
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1312 Py_END_ALLOW_THREADS |
|
12737
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
1313 #endif |
|
61619
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1314 break; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1315 default: |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1316 PyErr_SetString(PyExc_TypeError, "getstr requires 0 to 3 arguments"); |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1317 return NULL; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1318 } |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1319 if (rtn2 == ERR) |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1320 rtn[0] = 0; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1321 return PyBytes_FromString(rtn); |
|
12737
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
1322 } |
|
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
1323 |
|
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
1324 static PyObject * |
|
13465
8e92d941e07f
Patch from Peter Schneider-Kamp: convert curses module to ANSI prototypes,
Andrew M. Kuchling <amk@amk.ca>
parents:
13388
diff
changeset
|
1325 PyCursesWindow_Hline(PyCursesWindowObject *self, PyObject *args) |
|
12737
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
1326 { |
|
61619
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1327 PyObject *temp; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1328 chtype ch; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1329 int n, x, y, code = OK; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1330 attr_t attr = A_NORMAL; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1331 long lattr; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1332 |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1333 switch (PyTuple_Size(args)) { |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1334 case 2: |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1335 if (!PyArg_ParseTuple(args, "Oi;ch or int,n", &temp, &n)) |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1336 return NULL; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1337 break; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1338 case 3: |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1339 if (!PyArg_ParseTuple(args, "Oil;ch or int,n,attr", &temp, &n, &lattr)) |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1340 return NULL; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1341 attr = lattr; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1342 break; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1343 case 4: |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1344 if (!PyArg_ParseTuple(args, "iiOi;y,x,ch or int,n", &y, &x, &temp, &n)) |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1345 return NULL; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1346 code = wmove(self->win, y, x); |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1347 break; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1348 case 5: |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1349 if (!PyArg_ParseTuple(args, "iiOil; y,x,ch or int,n,attr", |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1350 &y, &x, &temp, &n, &lattr)) |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1351 return NULL; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1352 attr = lattr; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1353 code = wmove(self->win, y, x); |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1354 break; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1355 default: |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1356 PyErr_SetString(PyExc_TypeError, "hline requires 2 to 5 arguments"); |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1357 return NULL; |
|
12737
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
1358 } |
|
61619
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1359 |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1360 if (code != ERR) { |
|
73746
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
1361 if (!PyCurses_ConvertToChtype(self, temp, &ch)) |
|
61619
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1362 return NULL; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1363 return PyCursesCheckERR(whline(self->win, ch | attr, n), "hline"); |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1364 } else |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1365 return PyCursesCheckERR(code, "wmove"); |
|
12737
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
1366 } |
|
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
1367 |
|
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
1368 static PyObject * |
|
13465
8e92d941e07f
Patch from Peter Schneider-Kamp: convert curses module to ANSI prototypes,
Andrew M. Kuchling <amk@amk.ca>
parents:
13388
diff
changeset
|
1369 PyCursesWindow_InsCh(PyCursesWindowObject *self, PyObject *args) |
|
12737
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
1370 { |
|
61619
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1371 int rtn, x, y, use_xy = FALSE; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1372 PyObject *temp; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1373 chtype ch = 0; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1374 attr_t attr = A_NORMAL; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1375 long lattr; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1376 |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1377 switch (PyTuple_Size(args)) { |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1378 case 1: |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1379 if (!PyArg_ParseTuple(args, "O;ch or int", &temp)) |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1380 return NULL; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1381 break; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1382 case 2: |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1383 if (!PyArg_ParseTuple(args, "Ol;ch or int,attr", &temp, &lattr)) |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1384 return NULL; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1385 attr = lattr; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1386 break; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1387 case 3: |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1388 if (!PyArg_ParseTuple(args,"iiO;y,x,ch or int", &y, &x, &temp)) |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1389 return NULL; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1390 use_xy = TRUE; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1391 break; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1392 case 4: |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1393 if (!PyArg_ParseTuple(args,"iiOl;y,x,ch or int, attr", &y, &x, &temp, &lattr)) |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1394 return NULL; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1395 attr = lattr; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1396 use_xy = TRUE; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1397 break; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1398 default: |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1399 PyErr_SetString(PyExc_TypeError, "insch requires 1 or 4 arguments"); |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1400 return NULL; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1401 } |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1402 |
|
73746
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
1403 if (!PyCurses_ConvertToChtype(self, temp, &ch)) |
|
61619
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1404 return NULL; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1405 |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1406 if (use_xy == TRUE) |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1407 rtn = mvwinsch(self->win,y,x, ch | attr); |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1408 else { |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1409 rtn = winsch(self->win, ch | attr); |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1410 } |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1411 return PyCursesCheckERR(rtn, "insch"); |
|
1855
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1412 } |
|
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1413 |
|
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1414 static PyObject * |
|
13465
8e92d941e07f
Patch from Peter Schneider-Kamp: convert curses module to ANSI prototypes,
Andrew M. Kuchling <amk@amk.ca>
parents:
13388
diff
changeset
|
1415 PyCursesWindow_InCh(PyCursesWindowObject *self, PyObject *args) |
|
1855
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1416 { |
|
61619
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1417 int x, y, rtn; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1418 |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1419 switch (PyTuple_Size(args)) { |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1420 case 0: |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1421 rtn = winch(self->win); |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1422 break; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1423 case 2: |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1424 if (!PyArg_ParseTuple(args,"ii;y,x",&y,&x)) |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1425 return NULL; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1426 rtn = mvwinch(self->win,y,x); |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1427 break; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1428 default: |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1429 PyErr_SetString(PyExc_TypeError, "inch requires 0 or 2 arguments"); |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1430 return NULL; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1431 } |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1432 return PyLong_FromLong((long) rtn); |
|
1855
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1433 } |
|
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1434 |
|
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1435 static PyObject * |
|
13465
8e92d941e07f
Patch from Peter Schneider-Kamp: convert curses module to ANSI prototypes,
Andrew M. Kuchling <amk@amk.ca>
parents:
13388
diff
changeset
|
1436 PyCursesWindow_InStr(PyCursesWindowObject *self, PyObject *args) |
|
12737
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
1437 { |
|
61619
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1438 int x, y, n; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1439 char rtn[1024]; /* This should be big enough.. I hope */ |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1440 int rtn2; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1441 |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1442 switch (PyTuple_Size(args)) { |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1443 case 0: |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1444 rtn2 = winnstr(self->win,rtn, 1023); |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1445 break; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1446 case 1: |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1447 if (!PyArg_ParseTuple(args,"i;n", &n)) |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1448 return NULL; |
|
84022
41a2cbe23349
Reuse Py_MIN and Py_MAX macros: remove duplicate MIN/MAX macros
Victor Stinner <victor.stinner@gmail.com>
parents:
83794
diff
changeset
|
1449 rtn2 = winnstr(self->win, rtn, Py_MIN(n, 1023)); |
|
61619
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1450 break; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1451 case 2: |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1452 if (!PyArg_ParseTuple(args,"ii;y,x",&y,&x)) |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1453 return NULL; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1454 rtn2 = mvwinnstr(self->win,y,x,rtn,1023); |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1455 break; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1456 case 3: |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1457 if (!PyArg_ParseTuple(args, "iii;y,x,n", &y, &x, &n)) |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1458 return NULL; |
|
84022
41a2cbe23349
Reuse Py_MIN and Py_MAX macros: remove duplicate MIN/MAX macros
Victor Stinner <victor.stinner@gmail.com>
parents:
83794
diff
changeset
|
1459 rtn2 = mvwinnstr(self->win, y, x, rtn, Py_MIN(n,1023)); |
|
61619
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1460 break; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1461 default: |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1462 PyErr_SetString(PyExc_TypeError, "instr requires 0 or 3 arguments"); |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1463 return NULL; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1464 } |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1465 if (rtn2 == ERR) |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1466 rtn[0] = 0; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1467 return PyBytes_FromString(rtn); |
|
12737
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
1468 } |
|
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
1469 |
|
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
1470 static PyObject * |
|
13465
8e92d941e07f
Patch from Peter Schneider-Kamp: convert curses module to ANSI prototypes,
Andrew M. Kuchling <amk@amk.ca>
parents:
13388
diff
changeset
|
1471 PyCursesWindow_InsStr(PyCursesWindowObject *self, PyObject *args) |
|
1855
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1472 { |
|
61619
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1473 int rtn; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1474 int x, y; |
|
73746
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
1475 int strtype; |
|
75670
b4ca2f17dde4
fix compiler warnings
Benjamin Peterson <benjamin@python.org>
parents:
75485
diff
changeset
|
1476 PyObject *strobj, *bytesobj = NULL; |
|
73746
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
1477 #ifdef HAVE_NCURSESW |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
1478 wchar_t *wstr = NULL; |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
1479 #endif |
|
61619
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1480 attr_t attr = A_NORMAL , attr_old = A_NORMAL; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1481 long lattr; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1482 int use_xy = FALSE, use_attr = FALSE; |
|
73746
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
1483 const char *funcname; |
|
61619
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1484 |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1485 switch (PyTuple_Size(args)) { |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1486 case 1: |
|
73746
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
1487 if (!PyArg_ParseTuple(args,"O;str", &strobj)) |
|
61619
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1488 return NULL; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1489 break; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1490 case 2: |
|
73746
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
1491 if (!PyArg_ParseTuple(args,"Ol;str,attr", &strobj, &lattr)) |
|
61619
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1492 return NULL; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1493 attr = lattr; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1494 use_attr = TRUE; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1495 break; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1496 case 3: |
|
73746
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
1497 if (!PyArg_ParseTuple(args,"iiO;y,x,str", &y, &x, &strobj)) |
|
61619
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1498 return NULL; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1499 use_xy = TRUE; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1500 break; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1501 case 4: |
|
73746
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
1502 if (!PyArg_ParseTuple(args,"iiOl;y,x,str,attr", &y, &x, &strobj, &lattr)) |
|
61619
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1503 return NULL; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1504 attr = lattr; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1505 use_xy = use_attr = TRUE; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1506 break; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1507 default: |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1508 PyErr_SetString(PyExc_TypeError, "insstr requires 1 to 4 arguments"); |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1509 return NULL; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1510 } |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1511 |
|
73746
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
1512 #ifdef HAVE_NCURSESW |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
1513 strtype = PyCurses_ConvertToString(self, strobj, &bytesobj, &wstr); |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
1514 #else |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
1515 strtype = PyCurses_ConvertToString(self, strobj, &bytesobj, NULL); |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
1516 #endif |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
1517 if (strtype == 0) |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
1518 return NULL; |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
1519 |
|
61619
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1520 if (use_attr == TRUE) { |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1521 attr_old = getattrs(self->win); |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1522 (void)wattrset(self->win,attr); |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1523 } |
|
73746
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
1524 #ifdef HAVE_NCURSESW |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
1525 if (strtype == 2) { |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
1526 funcname = "inswstr"; |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
1527 if (use_xy == TRUE) |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
1528 rtn = mvwins_wstr(self->win,y,x,wstr); |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
1529 else |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
1530 rtn = wins_wstr(self->win,wstr); |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
1531 PyMem_Free(wstr); |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
1532 } |
|
61619
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1533 else |
|
73746
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
1534 #endif |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
1535 { |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
1536 char *str = PyBytes_AS_STRING(bytesobj); |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
1537 funcname = "insstr"; |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
1538 if (use_xy == TRUE) |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
1539 rtn = mvwinsstr(self->win,y,x,str); |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
1540 else |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
1541 rtn = winsstr(self->win,str); |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
1542 Py_DECREF(bytesobj); |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
1543 } |
|
61619
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1544 if (use_attr == TRUE) |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1545 (void)wattrset(self->win,attr_old); |
|
73746
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
1546 return PyCursesCheckERR(rtn, funcname); |
|
1855
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1547 } |
|
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1548 |
|
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1549 static PyObject * |
|
13465
8e92d941e07f
Patch from Peter Schneider-Kamp: convert curses module to ANSI prototypes,
Andrew M. Kuchling <amk@amk.ca>
parents:
13388
diff
changeset
|
1550 PyCursesWindow_InsNStr(PyCursesWindowObject *self, PyObject *args) |
|
1855
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1551 { |
|
61619
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1552 int rtn, x, y, n; |
|
73746
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
1553 int strtype; |
|
75670
b4ca2f17dde4
fix compiler warnings
Benjamin Peterson <benjamin@python.org>
parents:
75485
diff
changeset
|
1554 PyObject *strobj, *bytesobj = NULL; |
|
73746
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
1555 #ifdef HAVE_NCURSESW |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
1556 wchar_t *wstr = NULL; |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
1557 #endif |
|
61619
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1558 attr_t attr = A_NORMAL , attr_old = A_NORMAL; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1559 long lattr; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1560 int use_xy = FALSE, use_attr = FALSE; |
|
73746
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
1561 const char *funcname; |
|
61619
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1562 |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1563 switch (PyTuple_Size(args)) { |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1564 case 2: |
|
73746
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
1565 if (!PyArg_ParseTuple(args,"Oi;str,n", &strobj, &n)) |
|
61619
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1566 return NULL; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1567 break; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1568 case 3: |
|
73746
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
1569 if (!PyArg_ParseTuple(args,"Oil;str,n,attr", &strobj, &n, &lattr)) |
|
61619
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1570 return NULL; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1571 attr = lattr; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1572 use_attr = TRUE; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1573 break; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1574 case 4: |
|
73746
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
1575 if (!PyArg_ParseTuple(args,"iiOi;y,x,str,n", &y, &x, &strobj, &n)) |
|
61619
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1576 return NULL; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1577 use_xy = TRUE; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1578 break; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1579 case 5: |
|
73746
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
1580 if (!PyArg_ParseTuple(args,"iiOil;y,x,str,n,attr", &y, &x, &strobj, &n, &lattr)) |
|
61619
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1581 return NULL; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1582 attr = lattr; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1583 use_xy = use_attr = TRUE; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1584 break; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1585 default: |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1586 PyErr_SetString(PyExc_TypeError, "insnstr requires 2 to 5 arguments"); |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1587 return NULL; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1588 } |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1589 |
|
73746
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
1590 #ifdef HAVE_NCURSESW |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
1591 strtype = PyCurses_ConvertToString(self, strobj, &bytesobj, &wstr); |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
1592 #else |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
1593 strtype = PyCurses_ConvertToString(self, strobj, &bytesobj, NULL); |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
1594 #endif |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
1595 if (strtype == 0) |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
1596 return NULL; |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
1597 |
|
61619
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1598 if (use_attr == TRUE) { |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1599 attr_old = getattrs(self->win); |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1600 (void)wattrset(self->win,attr); |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1601 } |
|
73746
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
1602 #ifdef HAVE_NCURSESW |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
1603 if (strtype == 2) { |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
1604 funcname = "insn_wstr"; |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
1605 if (use_xy == TRUE) |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
1606 rtn = mvwins_nwstr(self->win,y,x,wstr,n); |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
1607 else |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
1608 rtn = wins_nwstr(self->win,wstr,n); |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
1609 PyMem_Free(wstr); |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
1610 } |
|
61619
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1611 else |
|
73746
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
1612 #endif |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
1613 { |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
1614 char *str = PyBytes_AS_STRING(bytesobj); |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
1615 funcname = "insnstr"; |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
1616 if (use_xy == TRUE) |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
1617 rtn = mvwinsnstr(self->win,y,x,str,n); |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
1618 else |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
1619 rtn = winsnstr(self->win,str,n); |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
1620 Py_DECREF(bytesobj); |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
1621 } |
|
61619
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1622 if (use_attr == TRUE) |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1623 (void)wattrset(self->win,attr_old); |
|
73746
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
1624 return PyCursesCheckERR(rtn, funcname); |
|
1855
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1625 } |
|
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1626 |
|
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1627 static PyObject * |
|
13465
8e92d941e07f
Patch from Peter Schneider-Kamp: convert curses module to ANSI prototypes,
Andrew M. Kuchling <amk@amk.ca>
parents:
13388
diff
changeset
|
1628 PyCursesWindow_Is_LineTouched(PyCursesWindowObject *self, PyObject *args) |
|
12737
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
1629 { |
|
61619
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1630 int line, erg; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1631 if (!PyArg_ParseTuple(args,"i;line", &line)) |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1632 return NULL; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1633 erg = is_linetouched(self->win, line); |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1634 if (erg == ERR) { |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1635 PyErr_SetString(PyExc_TypeError, |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1636 "is_linetouched: line number outside of boundaries"); |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1637 return NULL; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1638 } else |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1639 if (erg == FALSE) { |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1640 Py_INCREF(Py_False); |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1641 return Py_False; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1642 } else { |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1643 Py_INCREF(Py_True); |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1644 return Py_True; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1645 } |
|
12737
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
1646 } |
|
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
1647 |
|
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
1648 static PyObject * |
|
13465
8e92d941e07f
Patch from Peter Schneider-Kamp: convert curses module to ANSI prototypes,
Andrew M. Kuchling <amk@amk.ca>
parents:
13388
diff
changeset
|
1649 PyCursesWindow_NoOutRefresh(PyCursesWindowObject *self, PyObject *args) |
|
1855
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1650 { |
|
61619
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1651 int pminrow,pmincol,sminrow,smincol,smaxrow,smaxcol; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1652 int rtn; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1653 |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1654 #ifndef WINDOW_HAS_FLAGS |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1655 if (0) |
|
61619
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1656 #else |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1657 if (self->win->_flags & _ISPAD) |
|
61619
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1658 #endif |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1659 { |
|
61619
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1660 switch(PyTuple_Size(args)) { |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1661 case 6: |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1662 if (!PyArg_ParseTuple(args, |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1663 "iiiiii;" \ |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1664 "pminrow,pmincol,sminrow,smincol,smaxrow,smaxcol", |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1665 &pminrow, &pmincol, &sminrow, |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1666 &smincol, &smaxrow, &smaxcol)) |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1667 return NULL; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1668 Py_BEGIN_ALLOW_THREADS |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1669 rtn = pnoutrefresh(self->win, |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1670 pminrow, pmincol, sminrow, |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1671 smincol, smaxrow, smaxcol); |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1672 Py_END_ALLOW_THREADS |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1673 return PyCursesCheckERR(rtn, "pnoutrefresh"); |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1674 default: |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1675 PyErr_SetString(PyCursesError, |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1676 "noutrefresh() called for a pad " |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1677 "requires 6 arguments"); |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1678 return NULL; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1679 } |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1680 } else { |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1681 if (!PyArg_ParseTuple(args, ":noutrefresh")) |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1682 return NULL; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1683 |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1684 Py_BEGIN_ALLOW_THREADS |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1685 rtn = wnoutrefresh(self->win); |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1686 Py_END_ALLOW_THREADS |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1687 return PyCursesCheckERR(rtn, "wnoutrefresh"); |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1688 } |
|
1855
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1689 } |
|
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1690 |
|
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1691 static PyObject * |
|
15638
7639a9552479
Another patch from Thomas Gellekum: add .overlay() and .overwrite()
Andrew M. Kuchling <amk@amk.ca>
parents:
15574
diff
changeset
|
1692 PyCursesWindow_Overlay(PyCursesWindowObject *self, PyObject *args) |
|
7639a9552479
Another patch from Thomas Gellekum: add .overlay() and .overwrite()
Andrew M. Kuchling <amk@amk.ca>
parents:
15574
diff
changeset
|
1693 { |
|
7639a9552479
Another patch from Thomas Gellekum: add .overlay() and .overwrite()
Andrew M. Kuchling <amk@amk.ca>
parents:
15574
diff
changeset
|
1694 PyCursesWindowObject *temp; |
|
7639a9552479
Another patch from Thomas Gellekum: add .overlay() and .overwrite()
Andrew M. Kuchling <amk@amk.ca>
parents:
15574
diff
changeset
|
1695 int use_copywin = FALSE; |
|
7639a9552479
Another patch from Thomas Gellekum: add .overlay() and .overwrite()
Andrew M. Kuchling <amk@amk.ca>
parents:
15574
diff
changeset
|
1696 int sminrow, smincol, dminrow, dmincol, dmaxrow, dmaxcol; |
|
7639a9552479
Another patch from Thomas Gellekum: add .overlay() and .overwrite()
Andrew M. Kuchling <amk@amk.ca>
parents:
15574
diff
changeset
|
1697 int rtn; |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1698 |
|
21756
d60350d71b60
Patch #477752: Drop old-style getargs from curses.
Martin v. Löwis <martin@v.loewis.de>
parents:
21741
diff
changeset
|
1699 switch (PyTuple_Size(args)) { |
|
15638
7639a9552479
Another patch from Thomas Gellekum: add .overlay() and .overwrite()
Andrew M. Kuchling <amk@amk.ca>
parents:
15574
diff
changeset
|
1700 case 1: |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1701 if (!PyArg_ParseTuple(args, "O!;window object", |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1702 &PyCursesWindow_Type, &temp)) |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1703 return NULL; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1704 break; |
|
15638
7639a9552479
Another patch from Thomas Gellekum: add .overlay() and .overwrite()
Andrew M. Kuchling <amk@amk.ca>
parents:
15574
diff
changeset
|
1705 case 7: |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1706 if (!PyArg_ParseTuple(args, "O!iiiiii;window object, int, int, int, int, int, int", |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1707 &PyCursesWindow_Type, &temp, &sminrow, &smincol, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1708 &dminrow, &dmincol, &dmaxrow, &dmaxcol)) |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1709 return NULL; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1710 use_copywin = TRUE; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1711 break; |
|
15638
7639a9552479
Another patch from Thomas Gellekum: add .overlay() and .overwrite()
Andrew M. Kuchling <amk@amk.ca>
parents:
15574
diff
changeset
|
1712 default: |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1713 PyErr_SetString(PyExc_TypeError, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1714 "overlay requires one or seven arguments"); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1715 return NULL; |
|
61619
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1716 } |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1717 |
|
15638
7639a9552479
Another patch from Thomas Gellekum: add .overlay() and .overwrite()
Andrew M. Kuchling <amk@amk.ca>
parents:
15574
diff
changeset
|
1718 if (use_copywin == TRUE) { |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1719 rtn = copywin(self->win, temp->win, sminrow, smincol, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1720 dminrow, dmincol, dmaxrow, dmaxcol, TRUE); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1721 return PyCursesCheckERR(rtn, "copywin"); |
|
15638
7639a9552479
Another patch from Thomas Gellekum: add .overlay() and .overwrite()
Andrew M. Kuchling <amk@amk.ca>
parents:
15574
diff
changeset
|
1722 } |
|
7639a9552479
Another patch from Thomas Gellekum: add .overlay() and .overwrite()
Andrew M. Kuchling <amk@amk.ca>
parents:
15574
diff
changeset
|
1723 else { |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1724 rtn = overlay(self->win, temp->win); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1725 return PyCursesCheckERR(rtn, "overlay"); |
|
61619
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1726 } |
|
15638
7639a9552479
Another patch from Thomas Gellekum: add .overlay() and .overwrite()
Andrew M. Kuchling <amk@amk.ca>
parents:
15574
diff
changeset
|
1727 } |
|
7639a9552479
Another patch from Thomas Gellekum: add .overlay() and .overwrite()
Andrew M. Kuchling <amk@amk.ca>
parents:
15574
diff
changeset
|
1728 |
|
7639a9552479
Another patch from Thomas Gellekum: add .overlay() and .overwrite()
Andrew M. Kuchling <amk@amk.ca>
parents:
15574
diff
changeset
|
1729 static PyObject * |
|
7639a9552479
Another patch from Thomas Gellekum: add .overlay() and .overwrite()
Andrew M. Kuchling <amk@amk.ca>
parents:
15574
diff
changeset
|
1730 PyCursesWindow_Overwrite(PyCursesWindowObject *self, PyObject *args) |
|
7639a9552479
Another patch from Thomas Gellekum: add .overlay() and .overwrite()
Andrew M. Kuchling <amk@amk.ca>
parents:
15574
diff
changeset
|
1731 { |
|
7639a9552479
Another patch from Thomas Gellekum: add .overlay() and .overwrite()
Andrew M. Kuchling <amk@amk.ca>
parents:
15574
diff
changeset
|
1732 PyCursesWindowObject *temp; |
|
7639a9552479
Another patch from Thomas Gellekum: add .overlay() and .overwrite()
Andrew M. Kuchling <amk@amk.ca>
parents:
15574
diff
changeset
|
1733 int use_copywin = FALSE; |
|
7639a9552479
Another patch from Thomas Gellekum: add .overlay() and .overwrite()
Andrew M. Kuchling <amk@amk.ca>
parents:
15574
diff
changeset
|
1734 int sminrow, smincol, dminrow, dmincol, dmaxrow, dmaxcol; |
|
7639a9552479
Another patch from Thomas Gellekum: add .overlay() and .overwrite()
Andrew M. Kuchling <amk@amk.ca>
parents:
15574
diff
changeset
|
1735 int rtn; |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1736 |
|
21756
d60350d71b60
Patch #477752: Drop old-style getargs from curses.
Martin v. Löwis <martin@v.loewis.de>
parents:
21741
diff
changeset
|
1737 switch (PyTuple_Size(args)) { |
|
15638
7639a9552479
Another patch from Thomas Gellekum: add .overlay() and .overwrite()
Andrew M. Kuchling <amk@amk.ca>
parents:
15574
diff
changeset
|
1738 case 1: |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1739 if (!PyArg_ParseTuple(args, "O!;window object", |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1740 &PyCursesWindow_Type, &temp)) |
|
61619
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1741 return NULL; |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1742 break; |
|
15638
7639a9552479
Another patch from Thomas Gellekum: add .overlay() and .overwrite()
Andrew M. Kuchling <amk@amk.ca>
parents:
15574
diff
changeset
|
1743 case 7: |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1744 if (!PyArg_ParseTuple(args, "O!iiiiii;window object, int, int, int, int, int, int", |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1745 &PyCursesWindow_Type, &temp, &sminrow, &smincol, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1746 &dminrow, &dmincol, &dmaxrow, &dmaxcol)) |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1747 return NULL; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1748 use_copywin = TRUE; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1749 break; |
|
15638
7639a9552479
Another patch from Thomas Gellekum: add .overlay() and .overwrite()
Andrew M. Kuchling <amk@amk.ca>
parents:
15574
diff
changeset
|
1750 default: |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1751 PyErr_SetString(PyExc_TypeError, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1752 "overwrite requires one or seven arguments"); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1753 return NULL; |
|
61619
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1754 } |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1755 |
|
15638
7639a9552479
Another patch from Thomas Gellekum: add .overlay() and .overwrite()
Andrew M. Kuchling <amk@amk.ca>
parents:
15574
diff
changeset
|
1756 if (use_copywin == TRUE) { |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1757 rtn = copywin(self->win, temp->win, sminrow, smincol, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1758 dminrow, dmincol, dmaxrow, dmaxcol, FALSE); |
|
15638
7639a9552479
Another patch from Thomas Gellekum: add .overlay() and .overwrite()
Andrew M. Kuchling <amk@amk.ca>
parents:
15574
diff
changeset
|
1759 return PyCursesCheckERR(rtn, "copywin"); |
|
7639a9552479
Another patch from Thomas Gellekum: add .overlay() and .overwrite()
Andrew M. Kuchling <amk@amk.ca>
parents:
15574
diff
changeset
|
1760 } |
|
7639a9552479
Another patch from Thomas Gellekum: add .overlay() and .overwrite()
Andrew M. Kuchling <amk@amk.ca>
parents:
15574
diff
changeset
|
1761 else { |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1762 rtn = overwrite(self->win, temp->win); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1763 return PyCursesCheckERR(rtn, "overwrite"); |
|
15638
7639a9552479
Another patch from Thomas Gellekum: add .overlay() and .overwrite()
Andrew M. Kuchling <amk@amk.ca>
parents:
15574
diff
changeset
|
1764 } |
|
7639a9552479
Another patch from Thomas Gellekum: add .overlay() and .overwrite()
Andrew M. Kuchling <amk@amk.ca>
parents:
15574
diff
changeset
|
1765 } |
|
7639a9552479
Another patch from Thomas Gellekum: add .overlay() and .overwrite()
Andrew M. Kuchling <amk@amk.ca>
parents:
15574
diff
changeset
|
1766 |
|
7639a9552479
Another patch from Thomas Gellekum: add .overlay() and .overwrite()
Andrew M. Kuchling <amk@amk.ca>
parents:
15574
diff
changeset
|
1767 static PyObject * |
|
42355
5b9c8dce4edd
ccMake test_curses pass.
Guido van Rossum <guido@python.org>
parents:
42334
diff
changeset
|
1768 PyCursesWindow_PutWin(PyCursesWindowObject *self, PyObject *stream) |
|
12737
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
1769 { |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1770 /* We have to simulate this by writing to a temporary FILE*, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1771 then reading back, then writing to the argument stream. */ |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1772 char fn[100]; |
|
85420
ef889c3d5dc6
Issue #18571: Implementation of the PEP 446: file descriptors and file handles
Victor Stinner <victor.stinner@gmail.com>
parents:
84830
diff
changeset
|
1773 int fd = -1; |
|
ef889c3d5dc6
Issue #18571: Implementation of the PEP 446: file descriptors and file handles
Victor Stinner <victor.stinner@gmail.com>
parents:
84830
diff
changeset
|
1774 FILE *fp = NULL; |
|
ef889c3d5dc6
Issue #18571: Implementation of the PEP 446: file descriptors and file handles
Victor Stinner <victor.stinner@gmail.com>
parents:
84830
diff
changeset
|
1775 PyObject *res = NULL; |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1776 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1777 strcpy(fn, "/tmp/py.curses.putwin.XXXXXX"); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1778 fd = mkstemp(fn); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1779 if (fd < 0) |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1780 return PyErr_SetFromErrnoWithFilename(PyExc_IOError, fn); |
|
85420
ef889c3d5dc6
Issue #18571: Implementation of the PEP 446: file descriptors and file handles
Victor Stinner <victor.stinner@gmail.com>
parents:
84830
diff
changeset
|
1781 if (_Py_set_inheritable(fd, 0, NULL) < 0) |
|
ef889c3d5dc6
Issue #18571: Implementation of the PEP 446: file descriptors and file handles
Victor Stinner <victor.stinner@gmail.com>
parents:
84830
diff
changeset
|
1782 goto exit; |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1783 fp = fdopen(fd, "wb+"); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1784 if (fp == NULL) { |
|
85420
ef889c3d5dc6
Issue #18571: Implementation of the PEP 446: file descriptors and file handles
Victor Stinner <victor.stinner@gmail.com>
parents:
84830
diff
changeset
|
1785 PyErr_SetFromErrnoWithFilename(PyExc_IOError, fn); |
|
ef889c3d5dc6
Issue #18571: Implementation of the PEP 446: file descriptors and file handles
Victor Stinner <victor.stinner@gmail.com>
parents:
84830
diff
changeset
|
1786 goto exit; |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1787 } |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1788 res = PyCursesCheckERR(putwin(self->win, fp), "putwin"); |
|
85420
ef889c3d5dc6
Issue #18571: Implementation of the PEP 446: file descriptors and file handles
Victor Stinner <victor.stinner@gmail.com>
parents:
84830
diff
changeset
|
1789 if (res == NULL) |
|
ef889c3d5dc6
Issue #18571: Implementation of the PEP 446: file descriptors and file handles
Victor Stinner <victor.stinner@gmail.com>
parents:
84830
diff
changeset
|
1790 goto exit; |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1791 fseek(fp, 0, 0); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1792 while (1) { |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1793 char buf[BUFSIZ]; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1794 Py_ssize_t n = fread(buf, 1, BUFSIZ, fp); |
|
72925
7109f31300fb
Rename _Py_identifier to _Py_IDENTIFIER.
Martin v. Löwis <martin@v.loewis.de>
parents:
72863
diff
changeset
|
1795 _Py_IDENTIFIER(write); |
|
72835
5e33219492bc
Add API for static strings, primarily good for identifiers.
Martin v. Löwis <martin@v.loewis.de>
parents:
72475
diff
changeset
|
1796 |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1797 if (n <= 0) |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1798 break; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1799 Py_DECREF(res); |
|
72835
5e33219492bc
Add API for static strings, primarily good for identifiers.
Martin v. Löwis <martin@v.loewis.de>
parents:
72475
diff
changeset
|
1800 res = _PyObject_CallMethodId(stream, &PyId_write, "y#", buf, n); |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1801 if (res == NULL) |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1802 break; |
|
61619
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1803 } |
|
85420
ef889c3d5dc6
Issue #18571: Implementation of the PEP 446: file descriptors and file handles
Victor Stinner <victor.stinner@gmail.com>
parents:
84830
diff
changeset
|
1804 |
|
ef889c3d5dc6
Issue #18571: Implementation of the PEP 446: file descriptors and file handles
Victor Stinner <victor.stinner@gmail.com>
parents:
84830
diff
changeset
|
1805 exit: |
|
ef889c3d5dc6
Issue #18571: Implementation of the PEP 446: file descriptors and file handles
Victor Stinner <victor.stinner@gmail.com>
parents:
84830
diff
changeset
|
1806 if (fp != NULL) |
|
ef889c3d5dc6
Issue #18571: Implementation of the PEP 446: file descriptors and file handles
Victor Stinner <victor.stinner@gmail.com>
parents:
84830
diff
changeset
|
1807 fclose(fp); |
|
ef889c3d5dc6
Issue #18571: Implementation of the PEP 446: file descriptors and file handles
Victor Stinner <victor.stinner@gmail.com>
parents:
84830
diff
changeset
|
1808 else if (fd != -1) |
|
ef889c3d5dc6
Issue #18571: Implementation of the PEP 446: file descriptors and file handles
Victor Stinner <victor.stinner@gmail.com>
parents:
84830
diff
changeset
|
1809 close(fd); |
|
43101
3c4329431bbc
Remove curses temp file consistently.
Guido van Rossum <guido@python.org>
parents:
42758
diff
changeset
|
1810 remove(fn); |
|
42355
5b9c8dce4edd
ccMake test_curses pass.
Guido van Rossum <guido@python.org>
parents:
42334
diff
changeset
|
1811 return res; |
|
12737
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
1812 } |
|
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
1813 |
|
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
1814 static PyObject * |
|
13465
8e92d941e07f
Patch from Peter Schneider-Kamp: convert curses module to ANSI prototypes,
Andrew M. Kuchling <amk@amk.ca>
parents:
13388
diff
changeset
|
1815 PyCursesWindow_RedrawLine(PyCursesWindowObject *self, PyObject *args) |
|
1855
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1816 { |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1817 int beg, num; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1818 if (!PyArg_ParseTuple(args, "ii;beg,num", &beg, &num)) |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1819 return NULL; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1820 return PyCursesCheckERR(wredrawln(self->win,beg,num), "redrawln"); |
|
12737
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
1821 } |
|
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
1822 |
|
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
1823 static PyObject * |
|
13465
8e92d941e07f
Patch from Peter Schneider-Kamp: convert curses module to ANSI prototypes,
Andrew M. Kuchling <amk@amk.ca>
parents:
13388
diff
changeset
|
1824 PyCursesWindow_Refresh(PyCursesWindowObject *self, PyObject *args) |
|
12737
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
1825 { |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1826 int pminrow,pmincol,sminrow,smincol,smaxrow,smaxcol; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1827 int rtn; |
|
12737
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
1828 |
|
20647
dd78b1a71f3e
Check for HP/UX curses problems. Define _XOPEN_SOURCE_EXTENDED and
Martin v. Löwis <martin@v.loewis.de>
parents:
20583
diff
changeset
|
1829 #ifndef WINDOW_HAS_FLAGS |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1830 if (0) |
|
16351
ef32bfa5f5c6
Patch #103485 from Donn Cave: patches to make the module compile on AIX and
Andrew M. Kuchling <amk@amk.ca>
parents:
16350
diff
changeset
|
1831 #else |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1832 if (self->win->_flags & _ISPAD) |
|
16351
ef32bfa5f5c6
Patch #103485 from Donn Cave: patches to make the module compile on AIX and
Andrew M. Kuchling <amk@amk.ca>
parents:
16350
diff
changeset
|
1833 #endif |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1834 { |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1835 switch(PyTuple_Size(args)) { |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1836 case 6: |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1837 if (!PyArg_ParseTuple(args, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1838 "iiiiii;" \ |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1839 "pminrow,pmincol,sminrow,smincol,smaxrow,smaxcol", |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1840 &pminrow, &pmincol, &sminrow, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1841 &smincol, &smaxrow, &smaxcol)) |
|
61619
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1842 return NULL; |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1843 |
|
61619
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1844 Py_BEGIN_ALLOW_THREADS |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1845 rtn = prefresh(self->win, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1846 pminrow, pmincol, sminrow, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1847 smincol, smaxrow, smaxcol); |
|
61619
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1848 Py_END_ALLOW_THREADS |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1849 return PyCursesCheckERR(rtn, "prefresh"); |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1850 default: |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1851 PyErr_SetString(PyCursesError, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1852 "refresh() for a pad requires 6 arguments"); |
|
61619
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1853 return NULL; |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1854 } |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1855 } else { |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1856 if (!PyArg_ParseTuple(args, ":refresh")) |
|
61619
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1857 return NULL; |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1858 Py_BEGIN_ALLOW_THREADS |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1859 rtn = wrefresh(self->win); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1860 Py_END_ALLOW_THREADS |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1861 return PyCursesCheckERR(rtn, "prefresh"); |
|
61619
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
1862 } |
|
1855
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1863 } |
|
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1864 |
|
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1865 static PyObject * |
|
13465
8e92d941e07f
Patch from Peter Schneider-Kamp: convert curses module to ANSI prototypes,
Andrew M. Kuchling <amk@amk.ca>
parents:
13388
diff
changeset
|
1866 PyCursesWindow_SetScrollRegion(PyCursesWindowObject *self, PyObject *args) |
|
1855
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1867 { |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1868 int x, y; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1869 if (!PyArg_ParseTuple(args,"ii;top, bottom",&y,&x)) |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1870 return NULL; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1871 return PyCursesCheckERR(wsetscrreg(self->win,y,x), "wsetscrreg"); |
|
1855
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1872 } |
|
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1873 |
|
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1874 static PyObject * |
|
13465
8e92d941e07f
Patch from Peter Schneider-Kamp: convert curses module to ANSI prototypes,
Andrew M. Kuchling <amk@amk.ca>
parents:
13388
diff
changeset
|
1875 PyCursesWindow_SubWin(PyCursesWindowObject *self, PyObject *args) |
|
1855
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1876 { |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1877 WINDOW *win; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1878 int nlines, ncols, begin_y, begin_x; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1879 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1880 nlines = 0; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1881 ncols = 0; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1882 switch (PyTuple_Size(args)) { |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1883 case 2: |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1884 if (!PyArg_ParseTuple(args,"ii;begin_y,begin_x",&begin_y,&begin_x)) |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1885 return NULL; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1886 break; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1887 case 4: |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1888 if (!PyArg_ParseTuple(args, "iiii;nlines,ncols,begin_y,begin_x", |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1889 &nlines,&ncols,&begin_y,&begin_x)) |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1890 return NULL; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1891 break; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1892 default: |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1893 PyErr_SetString(PyExc_TypeError, "subwin requires 2 or 4 arguments"); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1894 return NULL; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1895 } |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1896 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1897 /* printf("Subwin: %i %i %i %i \n", nlines, ncols, begin_y, begin_x); */ |
|
20647
dd78b1a71f3e
Check for HP/UX curses problems. Define _XOPEN_SOURCE_EXTENDED and
Martin v. Löwis <martin@v.loewis.de>
parents:
20583
diff
changeset
|
1898 #ifdef WINDOW_HAS_FLAGS |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1899 if (self->win->_flags & _ISPAD) |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1900 win = subpad(self->win, nlines, ncols, begin_y, begin_x); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1901 else |
|
16351
ef32bfa5f5c6
Patch #103485 from Donn Cave: patches to make the module compile on AIX and
Andrew M. Kuchling <amk@amk.ca>
parents:
16350
diff
changeset
|
1902 #endif |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1903 win = subwin(self->win, nlines, ncols, begin_y, begin_x); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1904 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1905 if (win == NULL) { |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1906 PyErr_SetString(PyCursesError, catchall_NULL); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1907 return NULL; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1908 } |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1909 |
|
73746
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
1910 return (PyObject *)PyCursesWindow_New(win, self->encoding); |
|
12737
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
1911 } |
|
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
1912 |
|
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
1913 static PyObject * |
|
13465
8e92d941e07f
Patch from Peter Schneider-Kamp: convert curses module to ANSI prototypes,
Andrew M. Kuchling <amk@amk.ca>
parents:
13388
diff
changeset
|
1914 PyCursesWindow_Scroll(PyCursesWindowObject *self, PyObject *args) |
|
12737
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
1915 { |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1916 int nlines; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1917 switch(PyTuple_Size(args)) { |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1918 case 0: |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1919 return PyCursesCheckERR(scroll(self->win), "scroll"); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1920 case 1: |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1921 if (!PyArg_ParseTuple(args, "i;nlines", &nlines)) |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1922 return NULL; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1923 return PyCursesCheckERR(wscrl(self->win, nlines), "scroll"); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1924 default: |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1925 PyErr_SetString(PyExc_TypeError, "scroll requires 0 or 1 arguments"); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1926 return NULL; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1927 } |
|
1855
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1928 } |
|
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1929 |
|
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1930 static PyObject * |
|
13465
8e92d941e07f
Patch from Peter Schneider-Kamp: convert curses module to ANSI prototypes,
Andrew M. Kuchling <amk@amk.ca>
parents:
13388
diff
changeset
|
1931 PyCursesWindow_TouchLine(PyCursesWindowObject *self, PyObject *args) |
|
1855
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1932 { |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1933 int st, cnt, val; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1934 switch (PyTuple_Size(args)) { |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1935 case 2: |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1936 if (!PyArg_ParseTuple(args,"ii;start,count",&st,&cnt)) |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1937 return NULL; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1938 return PyCursesCheckERR(touchline(self->win,st,cnt), "touchline"); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1939 case 3: |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1940 if (!PyArg_ParseTuple(args, "iii;start,count,val", &st, &cnt, &val)) |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1941 return NULL; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1942 return PyCursesCheckERR(wtouchln(self->win, st, cnt, val), "touchline"); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1943 default: |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1944 PyErr_SetString(PyExc_TypeError, "touchline requires 2 or 3 arguments"); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1945 return NULL; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1946 } |
|
1855
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1947 } |
|
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1948 |
|
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1949 static PyObject * |
|
13465
8e92d941e07f
Patch from Peter Schneider-Kamp: convert curses module to ANSI prototypes,
Andrew M. Kuchling <amk@amk.ca>
parents:
13388
diff
changeset
|
1950 PyCursesWindow_Vline(PyCursesWindowObject *self, PyObject *args) |
|
1855
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1951 { |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1952 PyObject *temp; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1953 chtype ch; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1954 int n, x, y, code = OK; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1955 attr_t attr = A_NORMAL; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1956 long lattr; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1957 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1958 switch (PyTuple_Size(args)) { |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1959 case 2: |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1960 if (!PyArg_ParseTuple(args, "Oi;ch or int,n", &temp, &n)) |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1961 return NULL; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1962 break; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1963 case 3: |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1964 if (!PyArg_ParseTuple(args, "Oil;ch or int,n,attr", &temp, &n, &lattr)) |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1965 return NULL; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1966 attr = lattr; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1967 break; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1968 case 4: |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1969 if (!PyArg_ParseTuple(args, "iiOi;y,x,ch or int,n", &y, &x, &temp, &n)) |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1970 return NULL; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1971 code = wmove(self->win, y, x); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1972 break; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1973 case 5: |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1974 if (!PyArg_ParseTuple(args, "iiOil; y,x,ch or int,n,attr", |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1975 &y, &x, &temp, &n, &lattr)) |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1976 return NULL; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1977 attr = lattr; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1978 code = wmove(self->win, y, x); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1979 break; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1980 default: |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1981 PyErr_SetString(PyExc_TypeError, "vline requires 2 to 5 arguments"); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1982 return NULL; |
|
12737
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
1983 } |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1984 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1985 if (code != ERR) { |
|
73746
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
1986 if (!PyCurses_ConvertToChtype(self, temp, &ch)) |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1987 return NULL; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1988 return PyCursesCheckERR(wvline(self->win, ch | attr, n), "vline"); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1989 } else |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
1990 return PyCursesCheckERR(code, "wmove"); |
|
1855
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1991 } |
|
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1992 |
|
73746
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
1993 static PyObject * |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
1994 PyCursesWindow_get_encoding(PyCursesWindowObject *self, void *closure) |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
1995 { |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
1996 return PyUnicode_FromString(self->encoding); |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
1997 } |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
1998 |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
1999 static int |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
2000 PyCursesWindow_set_encoding(PyCursesWindowObject *self, PyObject *value) |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
2001 { |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
2002 PyObject *ascii; |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
2003 char *encoding; |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
2004 |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
2005 /* It is illegal to del win.encoding */ |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
2006 if (value == NULL) { |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
2007 PyErr_SetString(PyExc_TypeError, |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
2008 "encoding may not be deleted"); |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
2009 return -1; |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
2010 } |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
2011 |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
2012 if (!PyUnicode_Check(value)) { |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
2013 PyErr_SetString(PyExc_TypeError, |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
2014 "setting encoding to a non-string"); |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
2015 return -1; |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
2016 } |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
2017 ascii = PyUnicode_AsASCIIString(value); |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
2018 if (ascii == NULL) |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
2019 return -1; |
|
84502
65f2c92ed079
Issue #18203: Add _PyMem_RawStrdup() and _PyMem_Strdup()
Victor Stinner <victor.stinner@gmail.com>
parents:
84491
diff
changeset
|
2020 encoding = _PyMem_Strdup(PyBytes_AS_STRING(ascii)); |
|
78872
c82e3a6553fc
Issue #15876: Fix a refleak in the curses module
Ross Lagerwall <rosslagerwall@gmail.com>
parents:
78831
diff
changeset
|
2021 Py_DECREF(ascii); |
|
73746
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
2022 if (encoding == NULL) { |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
2023 PyErr_NoMemory(); |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
2024 return -1; |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
2025 } |
|
84502
65f2c92ed079
Issue #18203: Add _PyMem_RawStrdup() and _PyMem_Strdup()
Victor Stinner <victor.stinner@gmail.com>
parents:
84491
diff
changeset
|
2026 PyMem_Free(self->encoding); |
|
73746
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
2027 self->encoding = encoding; |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
2028 return 0; |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
2029 } |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
2030 |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
2031 |
|
1855
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2032 static PyMethodDef PyCursesWindow_Methods[] = { |
|
86465
8fde1a2c94dc
Issue #16612: Add "Argument Clinic", a compile-time preprocessor
Larry Hastings <larry@hastings.org>
parents:
85420
diff
changeset
|
2033 CURSES_WINDOW_ADDCH_METHODDEF |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2034 {"addnstr", (PyCFunction)PyCursesWindow_AddNStr, METH_VARARGS}, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2035 {"addstr", (PyCFunction)PyCursesWindow_AddStr, METH_VARARGS}, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2036 {"attroff", (PyCFunction)PyCursesWindow_AttrOff, METH_VARARGS}, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2037 {"attron", (PyCFunction)PyCursesWindow_AttrOn, METH_VARARGS}, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2038 {"attrset", (PyCFunction)PyCursesWindow_AttrSet, METH_VARARGS}, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2039 {"bkgd", (PyCFunction)PyCursesWindow_Bkgd, METH_VARARGS}, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2040 {"chgat", (PyCFunction)PyCursesWindow_ChgAt, METH_VARARGS}, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2041 {"bkgdset", (PyCFunction)PyCursesWindow_BkgdSet, METH_VARARGS}, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2042 {"border", (PyCFunction)PyCursesWindow_Border, METH_VARARGS}, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2043 {"box", (PyCFunction)PyCursesWindow_Box, METH_VARARGS}, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2044 {"clear", (PyCFunction)PyCursesWindow_wclear, METH_NOARGS}, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2045 {"clearok", (PyCFunction)PyCursesWindow_clearok, METH_VARARGS}, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2046 {"clrtobot", (PyCFunction)PyCursesWindow_wclrtobot, METH_NOARGS}, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2047 {"clrtoeol", (PyCFunction)PyCursesWindow_wclrtoeol, METH_NOARGS}, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2048 {"cursyncup", (PyCFunction)PyCursesWindow_wcursyncup, METH_NOARGS}, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2049 {"delch", (PyCFunction)PyCursesWindow_DelCh, METH_VARARGS}, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2050 {"deleteln", (PyCFunction)PyCursesWindow_wdeleteln, METH_NOARGS}, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2051 {"derwin", (PyCFunction)PyCursesWindow_DerWin, METH_VARARGS}, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2052 {"echochar", (PyCFunction)PyCursesWindow_EchoChar, METH_VARARGS}, |
|
13036
c09a570eb6eb
Added support for mouse functions: mousemask(), mouseinterval(),
Andrew M. Kuchling <amk@amk.ca>
parents:
12988
diff
changeset
|
2053 #ifdef NCURSES_MOUSE_VERSION |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2054 {"enclose", (PyCFunction)PyCursesWindow_Enclose, METH_VARARGS}, |
|
13036
c09a570eb6eb
Added support for mouse functions: mousemask(), mouseinterval(),
Andrew M. Kuchling <amk@amk.ca>
parents:
12988
diff
changeset
|
2055 #endif |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2056 {"erase", (PyCFunction)PyCursesWindow_werase, METH_NOARGS}, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2057 {"getbegyx", (PyCFunction)PyCursesWindow_getbegyx, METH_NOARGS}, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2058 {"getbkgd", (PyCFunction)PyCursesWindow_GetBkgd, METH_NOARGS}, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2059 {"getch", (PyCFunction)PyCursesWindow_GetCh, METH_VARARGS}, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2060 {"getkey", (PyCFunction)PyCursesWindow_GetKey, METH_VARARGS}, |
|
71656
d98b5e0f0862
Fix build error in _curses module when not using libncursesw.
Nadeem Vawda <nadeem.vawda@gmail.com>
parents:
71338
diff
changeset
|
2061 #ifdef HAVE_NCURSESW |
|
71338
dec10ad41b2a
Close #6755: Add get_wch() method to curses.window class
Victor Stinner <victor.stinner@haypocalc.com>
parents:
68457
diff
changeset
|
2062 {"get_wch", (PyCFunction)PyCursesWindow_Get_WCh, METH_VARARGS}, |
|
71656
d98b5e0f0862
Fix build error in _curses module when not using libncursesw.
Nadeem Vawda <nadeem.vawda@gmail.com>
parents:
71338
diff
changeset
|
2063 #endif |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2064 {"getmaxyx", (PyCFunction)PyCursesWindow_getmaxyx, METH_NOARGS}, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2065 {"getparyx", (PyCFunction)PyCursesWindow_getparyx, METH_NOARGS}, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2066 {"getstr", (PyCFunction)PyCursesWindow_GetStr, METH_VARARGS}, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2067 {"getyx", (PyCFunction)PyCursesWindow_getyx, METH_NOARGS}, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2068 {"hline", (PyCFunction)PyCursesWindow_Hline, METH_VARARGS}, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2069 {"idcok", (PyCFunction)PyCursesWindow_idcok, METH_VARARGS}, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2070 {"idlok", (PyCFunction)PyCursesWindow_idlok, METH_VARARGS}, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2071 {"immedok", (PyCFunction)PyCursesWindow_immedok, METH_VARARGS}, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2072 {"inch", (PyCFunction)PyCursesWindow_InCh, METH_VARARGS}, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2073 {"insch", (PyCFunction)PyCursesWindow_InsCh, METH_VARARGS}, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2074 {"insdelln", (PyCFunction)PyCursesWindow_winsdelln, METH_VARARGS}, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2075 {"insertln", (PyCFunction)PyCursesWindow_winsertln, METH_NOARGS}, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2076 {"insnstr", (PyCFunction)PyCursesWindow_InsNStr, METH_VARARGS}, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2077 {"insstr", (PyCFunction)PyCursesWindow_InsStr, METH_VARARGS}, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2078 {"instr", (PyCFunction)PyCursesWindow_InStr, METH_VARARGS}, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2079 {"is_linetouched", (PyCFunction)PyCursesWindow_Is_LineTouched, METH_VARARGS}, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2080 {"is_wintouched", (PyCFunction)PyCursesWindow_is_wintouched, METH_NOARGS}, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2081 {"keypad", (PyCFunction)PyCursesWindow_keypad, METH_VARARGS}, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2082 {"leaveok", (PyCFunction)PyCursesWindow_leaveok, METH_VARARGS}, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2083 {"move", (PyCFunction)PyCursesWindow_wmove, METH_VARARGS}, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2084 {"mvderwin", (PyCFunction)PyCursesWindow_mvderwin, METH_VARARGS}, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2085 {"mvwin", (PyCFunction)PyCursesWindow_mvwin, METH_VARARGS}, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2086 {"nodelay", (PyCFunction)PyCursesWindow_nodelay, METH_VARARGS}, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2087 {"notimeout", (PyCFunction)PyCursesWindow_notimeout, METH_VARARGS}, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2088 {"noutrefresh", (PyCFunction)PyCursesWindow_NoOutRefresh, METH_VARARGS}, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2089 /* Backward compatibility alias -- remove in Python 2.3 */ |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2090 {"nooutrefresh", (PyCFunction)PyCursesWindow_NoOutRefresh, METH_VARARGS}, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2091 {"overlay", (PyCFunction)PyCursesWindow_Overlay, METH_VARARGS}, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2092 {"overwrite", (PyCFunction)PyCursesWindow_Overwrite, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2093 METH_VARARGS}, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2094 {"putwin", (PyCFunction)PyCursesWindow_PutWin, METH_O}, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2095 {"redrawln", (PyCFunction)PyCursesWindow_RedrawLine, METH_VARARGS}, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2096 {"redrawwin", (PyCFunction)PyCursesWindow_redrawwin, METH_NOARGS}, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2097 {"refresh", (PyCFunction)PyCursesWindow_Refresh, METH_VARARGS}, |
|
61619
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
2098 #ifndef STRICT_SYSV_CURSES |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2099 {"resize", (PyCFunction)PyCursesWindow_wresize, METH_VARARGS}, |
|
13036
c09a570eb6eb
Added support for mouse functions: mousemask(), mouseinterval(),
Andrew M. Kuchling <amk@amk.ca>
parents:
12988
diff
changeset
|
2100 #endif |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2101 {"scroll", (PyCFunction)PyCursesWindow_Scroll, METH_VARARGS}, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2102 {"scrollok", (PyCFunction)PyCursesWindow_scrollok, METH_VARARGS}, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2103 {"setscrreg", (PyCFunction)PyCursesWindow_SetScrollRegion, METH_VARARGS}, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2104 {"standend", (PyCFunction)PyCursesWindow_wstandend, METH_NOARGS}, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2105 {"standout", (PyCFunction)PyCursesWindow_wstandout, METH_NOARGS}, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2106 {"subpad", (PyCFunction)PyCursesWindow_SubWin, METH_VARARGS}, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2107 {"subwin", (PyCFunction)PyCursesWindow_SubWin, METH_VARARGS}, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2108 {"syncdown", (PyCFunction)PyCursesWindow_wsyncdown, METH_NOARGS}, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2109 {"syncok", (PyCFunction)PyCursesWindow_syncok, METH_VARARGS}, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2110 {"syncup", (PyCFunction)PyCursesWindow_wsyncup, METH_NOARGS}, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2111 {"timeout", (PyCFunction)PyCursesWindow_wtimeout, METH_VARARGS}, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2112 {"touchline", (PyCFunction)PyCursesWindow_TouchLine, METH_VARARGS}, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2113 {"touchwin", (PyCFunction)PyCursesWindow_touchwin, METH_NOARGS}, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2114 {"untouchwin", (PyCFunction)PyCursesWindow_untouchwin, METH_NOARGS}, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2115 {"vline", (PyCFunction)PyCursesWindow_Vline, METH_VARARGS}, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2116 {NULL, NULL} /* sentinel */ |
|
1855
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2117 }; |
|
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2118 |
|
73746
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
2119 static PyGetSetDef PyCursesWindow_getsets[] = { |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
2120 {"encoding", |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
2121 (getter)PyCursesWindow_get_encoding, |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
2122 (setter)PyCursesWindow_set_encoding, |
|
74464
61211368292d
Add missing sentinel to PyCursesWindow_getsets
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
73746
diff
changeset
|
2123 "the typecode character used to create the array"}, |
|
61211368292d
Add missing sentinel to PyCursesWindow_getsets
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
73746
diff
changeset
|
2124 {NULL, NULL, NULL, NULL } /* sentinel */ |
|
73746
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
2125 }; |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
2126 |
|
1855
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2127 /* -------------------------------------------------------*/ |
| 2357 | 2128 |
|
12737
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
2129 PyTypeObject PyCursesWindow_Type = { |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2130 PyVarObject_HEAD_INIT(NULL, 0) |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2131 "_curses.curses window", /*tp_name*/ |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2132 sizeof(PyCursesWindowObject), /*tp_basicsize*/ |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2133 0, /*tp_itemsize*/ |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2134 /* methods */ |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2135 (destructor)PyCursesWindow_Dealloc, /*tp_dealloc*/ |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2136 0, /*tp_print*/ |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2137 (getattrfunc)0, /*tp_getattr*/ |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2138 (setattrfunc)0, /*tp_setattr*/ |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2139 0, /*tp_reserved*/ |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2140 0, /*tp_repr*/ |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2141 0, /*tp_as_number*/ |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2142 0, /*tp_as_sequence*/ |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2143 0, /*tp_as_mapping*/ |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2144 0, /*tp_hash*/ |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2145 0, /*tp_call*/ |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2146 0, /*tp_str*/ |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2147 0, /*tp_getattro*/ |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2148 0, /*tp_setattro*/ |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2149 0, /*tp_as_buffer*/ |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2150 Py_TPFLAGS_DEFAULT, /*tp_flags*/ |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2151 0, /*tp_doc*/ |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2152 0, /*tp_traverse*/ |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2153 0, /*tp_clear*/ |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2154 0, /*tp_richcompare*/ |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2155 0, /*tp_weaklistoffset*/ |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2156 0, /*tp_iter*/ |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2157 0, /*tp_iternext*/ |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2158 PyCursesWindow_Methods, /*tp_methods*/ |
|
73746
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
2159 0, /* tp_members */ |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
2160 PyCursesWindow_getsets, /* tp_getset */ |
|
1855
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2161 }; |
|
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2162 |
|
12737
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
2163 /********************************************************************* |
|
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
2164 Global Functions |
|
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
2165 **********************************************************************/ |
|
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
2166 |
|
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
2167 NoArgNoReturnFunction(beep) |
|
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
2168 NoArgNoReturnFunction(def_prog_mode) |
|
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
2169 NoArgNoReturnFunction(def_shell_mode) |
|
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
2170 NoArgNoReturnFunction(doupdate) |
|
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
2171 NoArgNoReturnFunction(endwin) |
|
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
2172 NoArgNoReturnFunction(flash) |
|
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
2173 NoArgNoReturnFunction(nocbreak) |
|
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
2174 NoArgNoReturnFunction(noecho) |
|
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
2175 NoArgNoReturnFunction(nonl) |
|
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
2176 NoArgNoReturnFunction(noraw) |
|
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
2177 NoArgNoReturnFunction(reset_prog_mode) |
|
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
2178 NoArgNoReturnFunction(reset_shell_mode) |
|
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
2179 NoArgNoReturnFunction(resetty) |
|
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
2180 NoArgNoReturnFunction(savetty) |
|
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
2181 |
|
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
2182 NoArgOrFlagNoReturnFunction(cbreak) |
|
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
2183 NoArgOrFlagNoReturnFunction(echo) |
|
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
2184 NoArgOrFlagNoReturnFunction(nl) |
|
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
2185 NoArgOrFlagNoReturnFunction(raw) |
|
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
2186 |
|
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
2187 NoArgReturnIntFunction(baudrate) |
|
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
2188 NoArgReturnIntFunction(termattrs) |
|
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
2189 |
|
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
2190 NoArgReturnStringFunction(termname) |
|
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
2191 NoArgReturnStringFunction(longname) |
|
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
2192 |
|
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
2193 NoArgTrueFalseFunction(can_change_color) |
|
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
2194 NoArgTrueFalseFunction(has_colors) |
|
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
2195 NoArgTrueFalseFunction(has_ic) |
|
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
2196 NoArgTrueFalseFunction(has_il) |
|
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
2197 NoArgTrueFalseFunction(isendwin) |
|
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
2198 NoArgNoReturnVoidFunction(flushinp) |
|
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
2199 NoArgNoReturnVoidFunction(noqiflush) |
|
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
2200 |
|
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
2201 static PyObject * |
|
44999
7c02182e2979
Merged revisions 60284-60349 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
44617
diff
changeset
|
2202 PyCurses_filter(PyObject *self) |
|
7c02182e2979
Merged revisions 60284-60349 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
44617
diff
changeset
|
2203 { |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2204 /* not checking for PyCursesInitialised here since filter() must |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2205 be called before initscr() */ |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2206 filter(); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2207 Py_INCREF(Py_None); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2208 return Py_None; |
|
44999
7c02182e2979
Merged revisions 60284-60349 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
44617
diff
changeset
|
2209 } |
|
7c02182e2979
Merged revisions 60284-60349 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
44617
diff
changeset
|
2210 |
|
7c02182e2979
Merged revisions 60284-60349 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
44617
diff
changeset
|
2211 static PyObject * |
|
13465
8e92d941e07f
Patch from Peter Schneider-Kamp: convert curses module to ANSI prototypes,
Andrew M. Kuchling <amk@amk.ca>
parents:
13388
diff
changeset
|
2212 PyCurses_Color_Content(PyObject *self, PyObject *args) |
|
12737
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
2213 { |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2214 short color,r,g,b; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2215 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2216 PyCursesInitialised; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2217 PyCursesInitialisedColor; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2218 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2219 if (!PyArg_ParseTuple(args, "h:color_content", &color)) return NULL; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2220 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2221 if (color_content(color, &r, &g, &b) != ERR) |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2222 return Py_BuildValue("(iii)", r, g, b); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2223 else { |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2224 PyErr_SetString(PyCursesError, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2225 "Argument 1 was out of range. Check value of COLORS."); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2226 return NULL; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2227 } |
|
12737
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
2228 } |
|
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
2229 |
|
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
2230 static PyObject * |
|
13465
8e92d941e07f
Patch from Peter Schneider-Kamp: convert curses module to ANSI prototypes,
Andrew M. Kuchling <amk@amk.ca>
parents:
13388
diff
changeset
|
2231 PyCurses_color_pair(PyObject *self, PyObject *args) |
|
12737
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
2232 { |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2233 int n; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2234 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2235 PyCursesInitialised; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2236 PyCursesInitialisedColor; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2237 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2238 if (!PyArg_ParseTuple(args, "i:color_pair", &n)) return NULL; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2239 return PyLong_FromLong((long) (n << 8)); |
|
12737
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
2240 } |
|
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
2241 |
|
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
2242 static PyObject * |
|
13465
8e92d941e07f
Patch from Peter Schneider-Kamp: convert curses module to ANSI prototypes,
Andrew M. Kuchling <amk@amk.ca>
parents:
13388
diff
changeset
|
2243 PyCurses_Curs_Set(PyObject *self, PyObject *args) |
|
12737
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
2244 { |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2245 int vis,erg; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2246 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2247 PyCursesInitialised; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2248 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2249 if (!PyArg_ParseTuple(args, "i:curs_set", &vis)) return NULL; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2250 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2251 erg = curs_set(vis); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2252 if (erg == ERR) return PyCursesCheckERR(erg, "curs_set"); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2253 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2254 return PyLong_FromLong((long) erg); |
|
12737
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
2255 } |
|
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
2256 |
|
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
2257 static PyObject * |
|
13465
8e92d941e07f
Patch from Peter Schneider-Kamp: convert curses module to ANSI prototypes,
Andrew M. Kuchling <amk@amk.ca>
parents:
13388
diff
changeset
|
2258 PyCurses_Delay_Output(PyObject *self, PyObject *args) |
|
12737
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
2259 { |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2260 int ms; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2261 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2262 PyCursesInitialised; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2263 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2264 if (!PyArg_ParseTuple(args, "i:delay_output", &ms)) return NULL; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2265 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2266 return PyCursesCheckERR(delay_output(ms), "delay_output"); |
|
12737
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
2267 } |
|
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
2268 |
|
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
2269 static PyObject * |
|
21756
d60350d71b60
Patch #477752: Drop old-style getargs from curses.
Martin v. Löwis <martin@v.loewis.de>
parents:
21741
diff
changeset
|
2270 PyCurses_EraseChar(PyObject *self) |
|
12737
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
2271 { |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2272 char ch; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2273 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2274 PyCursesInitialised; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2275 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2276 ch = erasechar(); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2277 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2278 return PyBytes_FromStringAndSize(&ch, 1); |
|
12737
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
2279 } |
|
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
2280 |
|
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
2281 static PyObject * |
|
21756
d60350d71b60
Patch #477752: Drop old-style getargs from curses.
Martin v. Löwis <martin@v.loewis.de>
parents:
21741
diff
changeset
|
2282 PyCurses_getsyx(PyObject *self) |
|
12737
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
2283 { |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2284 int x = 0; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2285 int y = 0; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2286 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2287 PyCursesInitialised; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2288 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2289 getsyx(y, x); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2290 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2291 return Py_BuildValue("(ii)", y, x); |
|
12737
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
2292 } |
|
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
2293 |
|
13036
c09a570eb6eb
Added support for mouse functions: mousemask(), mouseinterval(),
Andrew M. Kuchling <amk@amk.ca>
parents:
12988
diff
changeset
|
2294 #ifdef NCURSES_MOUSE_VERSION |
|
c09a570eb6eb
Added support for mouse functions: mousemask(), mouseinterval(),
Andrew M. Kuchling <amk@amk.ca>
parents:
12988
diff
changeset
|
2295 static PyObject * |
|
21756
d60350d71b60
Patch #477752: Drop old-style getargs from curses.
Martin v. Löwis <martin@v.loewis.de>
parents:
21741
diff
changeset
|
2296 PyCurses_GetMouse(PyObject *self) |
|
13036
c09a570eb6eb
Added support for mouse functions: mousemask(), mouseinterval(),
Andrew M. Kuchling <amk@amk.ca>
parents:
12988
diff
changeset
|
2297 { |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2298 int rtn; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2299 MEVENT event; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2300 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2301 PyCursesInitialised; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2302 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2303 rtn = getmouse( &event ); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2304 if (rtn == ERR) { |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2305 PyErr_SetString(PyCursesError, "getmouse() returned ERR"); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2306 return NULL; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2307 } |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2308 return Py_BuildValue("(hiiil)", |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2309 (short)event.id, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2310 event.x, event.y, event.z, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2311 (long) event.bstate); |
|
13036
c09a570eb6eb
Added support for mouse functions: mousemask(), mouseinterval(),
Andrew M. Kuchling <amk@amk.ca>
parents:
12988
diff
changeset
|
2312 } |
|
c09a570eb6eb
Added support for mouse functions: mousemask(), mouseinterval(),
Andrew M. Kuchling <amk@amk.ca>
parents:
12988
diff
changeset
|
2313 |
|
c09a570eb6eb
Added support for mouse functions: mousemask(), mouseinterval(),
Andrew M. Kuchling <amk@amk.ca>
parents:
12988
diff
changeset
|
2314 static PyObject * |
|
13465
8e92d941e07f
Patch from Peter Schneider-Kamp: convert curses module to ANSI prototypes,
Andrew M. Kuchling <amk@amk.ca>
parents:
13388
diff
changeset
|
2315 PyCurses_UngetMouse(PyObject *self, PyObject *args) |
|
13036
c09a570eb6eb
Added support for mouse functions: mousemask(), mouseinterval(),
Andrew M. Kuchling <amk@amk.ca>
parents:
12988
diff
changeset
|
2316 { |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2317 MEVENT event; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2318 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2319 PyCursesInitialised; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2320 if (!PyArg_ParseTuple(args, "hiiil", |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2321 &event.id, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2322 &event.x, &event.y, &event.z, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2323 (int *) &event.bstate)) |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2324 return NULL; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2325 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2326 return PyCursesCheckERR(ungetmouse(&event), "ungetmouse"); |
|
13036
c09a570eb6eb
Added support for mouse functions: mousemask(), mouseinterval(),
Andrew M. Kuchling <amk@amk.ca>
parents:
12988
diff
changeset
|
2327 } |
|
c09a570eb6eb
Added support for mouse functions: mousemask(), mouseinterval(),
Andrew M. Kuchling <amk@amk.ca>
parents:
12988
diff
changeset
|
2328 #endif |
|
c09a570eb6eb
Added support for mouse functions: mousemask(), mouseinterval(),
Andrew M. Kuchling <amk@amk.ca>
parents:
12988
diff
changeset
|
2329 |
|
12737
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
2330 static PyObject * |
|
42355
5b9c8dce4edd
ccMake test_curses pass.
Guido van Rossum <guido@python.org>
parents:
42334
diff
changeset
|
2331 PyCurses_GetWin(PyCursesWindowObject *self, PyObject *stream) |
|
12737
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
2332 { |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2333 char fn[100]; |
|
85420
ef889c3d5dc6
Issue #18571: Implementation of the PEP 446: file descriptors and file handles
Victor Stinner <victor.stinner@gmail.com>
parents:
84830
diff
changeset
|
2334 int fd = -1; |
|
ef889c3d5dc6
Issue #18571: Implementation of the PEP 446: file descriptors and file handles
Victor Stinner <victor.stinner@gmail.com>
parents:
84830
diff
changeset
|
2335 FILE *fp = NULL; |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2336 PyObject *data; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2337 size_t datalen; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2338 WINDOW *win; |
|
83794
e2e104ba42ff
C89 declaration compliance
Benjamin Peterson <benjamin@python.org>
parents:
82867
diff
changeset
|
2339 _Py_IDENTIFIER(read); |
|
85420
ef889c3d5dc6
Issue #18571: Implementation of the PEP 446: file descriptors and file handles
Victor Stinner <victor.stinner@gmail.com>
parents:
84830
diff
changeset
|
2340 PyObject *res = NULL; |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2341 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2342 PyCursesInitialised; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2343 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2344 strcpy(fn, "/tmp/py.curses.getwin.XXXXXX"); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2345 fd = mkstemp(fn); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2346 if (fd < 0) |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2347 return PyErr_SetFromErrnoWithFilename(PyExc_IOError, fn); |
|
85420
ef889c3d5dc6
Issue #18571: Implementation of the PEP 446: file descriptors and file handles
Victor Stinner <victor.stinner@gmail.com>
parents:
84830
diff
changeset
|
2348 if (_Py_set_inheritable(fd, 0, NULL) < 0) |
|
ef889c3d5dc6
Issue #18571: Implementation of the PEP 446: file descriptors and file handles
Victor Stinner <victor.stinner@gmail.com>
parents:
84830
diff
changeset
|
2349 goto error; |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2350 fp = fdopen(fd, "wb+"); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2351 if (fp == NULL) { |
|
85420
ef889c3d5dc6
Issue #18571: Implementation of the PEP 446: file descriptors and file handles
Victor Stinner <victor.stinner@gmail.com>
parents:
84830
diff
changeset
|
2352 PyErr_SetFromErrnoWithFilename(PyExc_IOError, fn); |
|
ef889c3d5dc6
Issue #18571: Implementation of the PEP 446: file descriptors and file handles
Victor Stinner <victor.stinner@gmail.com>
parents:
84830
diff
changeset
|
2353 goto error; |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2354 } |
|
85420
ef889c3d5dc6
Issue #18571: Implementation of the PEP 446: file descriptors and file handles
Victor Stinner <victor.stinner@gmail.com>
parents:
84830
diff
changeset
|
2355 |
|
72835
5e33219492bc
Add API for static strings, primarily good for identifiers.
Martin v. Löwis <martin@v.loewis.de>
parents:
72475
diff
changeset
|
2356 data = _PyObject_CallMethodId(stream, &PyId_read, ""); |
|
85420
ef889c3d5dc6
Issue #18571: Implementation of the PEP 446: file descriptors and file handles
Victor Stinner <victor.stinner@gmail.com>
parents:
84830
diff
changeset
|
2357 if (data == NULL) |
|
ef889c3d5dc6
Issue #18571: Implementation of the PEP 446: file descriptors and file handles
Victor Stinner <victor.stinner@gmail.com>
parents:
84830
diff
changeset
|
2358 goto error; |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2359 if (!PyBytes_Check(data)) { |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2360 PyErr_Format(PyExc_TypeError, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2361 "f.read() returned %.100s instead of bytes", |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2362 data->ob_type->tp_name); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2363 Py_DECREF(data); |
|
85420
ef889c3d5dc6
Issue #18571: Implementation of the PEP 446: file descriptors and file handles
Victor Stinner <victor.stinner@gmail.com>
parents:
84830
diff
changeset
|
2364 goto error; |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2365 } |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2366 datalen = PyBytes_GET_SIZE(data); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2367 if (fwrite(PyBytes_AS_STRING(data), 1, datalen, fp) != datalen) { |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2368 Py_DECREF(data); |
|
85420
ef889c3d5dc6
Issue #18571: Implementation of the PEP 446: file descriptors and file handles
Victor Stinner <victor.stinner@gmail.com>
parents:
84830
diff
changeset
|
2369 PyErr_SetFromErrnoWithFilename(PyExc_IOError, fn); |
|
ef889c3d5dc6
Issue #18571: Implementation of the PEP 446: file descriptors and file handles
Victor Stinner <victor.stinner@gmail.com>
parents:
84830
diff
changeset
|
2370 goto error; |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2371 } |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2372 Py_DECREF(data); |
|
85420
ef889c3d5dc6
Issue #18571: Implementation of the PEP 446: file descriptors and file handles
Victor Stinner <victor.stinner@gmail.com>
parents:
84830
diff
changeset
|
2373 |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2374 fseek(fp, 0, 0); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2375 win = getwin(fp); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2376 if (win == NULL) { |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2377 PyErr_SetString(PyCursesError, catchall_NULL); |
|
85420
ef889c3d5dc6
Issue #18571: Implementation of the PEP 446: file descriptors and file handles
Victor Stinner <victor.stinner@gmail.com>
parents:
84830
diff
changeset
|
2378 goto error; |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2379 } |
|
85420
ef889c3d5dc6
Issue #18571: Implementation of the PEP 446: file descriptors and file handles
Victor Stinner <victor.stinner@gmail.com>
parents:
84830
diff
changeset
|
2380 res = PyCursesWindow_New(win, NULL); |
|
ef889c3d5dc6
Issue #18571: Implementation of the PEP 446: file descriptors and file handles
Victor Stinner <victor.stinner@gmail.com>
parents:
84830
diff
changeset
|
2381 |
|
ef889c3d5dc6
Issue #18571: Implementation of the PEP 446: file descriptors and file handles
Victor Stinner <victor.stinner@gmail.com>
parents:
84830
diff
changeset
|
2382 error: |
|
ef889c3d5dc6
Issue #18571: Implementation of the PEP 446: file descriptors and file handles
Victor Stinner <victor.stinner@gmail.com>
parents:
84830
diff
changeset
|
2383 if (fp != NULL) |
|
ef889c3d5dc6
Issue #18571: Implementation of the PEP 446: file descriptors and file handles
Victor Stinner <victor.stinner@gmail.com>
parents:
84830
diff
changeset
|
2384 fclose(fp); |
|
ef889c3d5dc6
Issue #18571: Implementation of the PEP 446: file descriptors and file handles
Victor Stinner <victor.stinner@gmail.com>
parents:
84830
diff
changeset
|
2385 else if (fd != -1) |
|
ef889c3d5dc6
Issue #18571: Implementation of the PEP 446: file descriptors and file handles
Victor Stinner <victor.stinner@gmail.com>
parents:
84830
diff
changeset
|
2386 close(fd); |
|
ef889c3d5dc6
Issue #18571: Implementation of the PEP 446: file descriptors and file handles
Victor Stinner <victor.stinner@gmail.com>
parents:
84830
diff
changeset
|
2387 remove(fn); |
|
ef889c3d5dc6
Issue #18571: Implementation of the PEP 446: file descriptors and file handles
Victor Stinner <victor.stinner@gmail.com>
parents:
84830
diff
changeset
|
2388 return res; |
|
12737
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
2389 } |
|
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
2390 |
|
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
2391 static PyObject * |
|
13465
8e92d941e07f
Patch from Peter Schneider-Kamp: convert curses module to ANSI prototypes,
Andrew M. Kuchling <amk@amk.ca>
parents:
13388
diff
changeset
|
2392 PyCurses_HalfDelay(PyObject *self, PyObject *args) |
|
12737
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
2393 { |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2394 unsigned char tenths; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2395 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2396 PyCursesInitialised; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2397 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2398 if (!PyArg_ParseTuple(args, "b:halfdelay", &tenths)) return NULL; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2399 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2400 return PyCursesCheckERR(halfdelay(tenths), "halfdelay"); |
|
12737
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
2401 } |
|
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
2402 |
|
13708
fe89ea1c9108
Modified version of patch #100963 from Mark Favas: has_key() is an
Andrew M. Kuchling <amk@amk.ca>
parents:
13706
diff
changeset
|
2403 #ifndef STRICT_SYSV_CURSES |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2404 /* No has_key! */ |
|
13465
8e92d941e07f
Patch from Peter Schneider-Kamp: convert curses module to ANSI prototypes,
Andrew M. Kuchling <amk@amk.ca>
parents:
13388
diff
changeset
|
2405 static PyObject * PyCurses_has_key(PyObject *self, PyObject *args) |
|
12737
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
2406 { |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2407 int ch; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2408 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2409 PyCursesInitialised; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2410 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2411 if (!PyArg_ParseTuple(args,"i",&ch)) return NULL; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2412 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2413 if (has_key(ch) == FALSE) { |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2414 Py_INCREF(Py_False); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2415 return Py_False; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2416 } |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2417 Py_INCREF(Py_True); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2418 return Py_True; |
|
12737
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
2419 } |
|
13708
fe89ea1c9108
Modified version of patch #100963 from Mark Favas: has_key() is an
Andrew M. Kuchling <amk@amk.ca>
parents:
13706
diff
changeset
|
2420 #endif /* STRICT_SYSV_CURSES */ |
|
1855
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2421 |
|
12737
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
2422 static PyObject * |
|
13465
8e92d941e07f
Patch from Peter Schneider-Kamp: convert curses module to ANSI prototypes,
Andrew M. Kuchling <amk@amk.ca>
parents:
13388
diff
changeset
|
2423 PyCurses_Init_Color(PyObject *self, PyObject *args) |
|
12737
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
2424 { |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2425 short color, r, g, b; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2426 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2427 PyCursesInitialised; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2428 PyCursesInitialisedColor; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2429 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2430 switch(PyTuple_Size(args)) { |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2431 case 4: |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2432 if (!PyArg_ParseTuple(args, "hhhh;color,r,g,b", &color, &r, &g, &b)) return NULL; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2433 break; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2434 default: |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2435 PyErr_SetString(PyExc_TypeError, "init_color requires 4 arguments"); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2436 return NULL; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2437 } |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2438 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2439 return PyCursesCheckERR(init_color(color, r, g, b), "init_color"); |
|
12737
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
2440 } |
|
1855
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2441 |
|
12737
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
2442 static PyObject * |
|
13465
8e92d941e07f
Patch from Peter Schneider-Kamp: convert curses module to ANSI prototypes,
Andrew M. Kuchling <amk@amk.ca>
parents:
13388
diff
changeset
|
2443 PyCurses_Init_Pair(PyObject *self, PyObject *args) |
|
12737
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
2444 { |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2445 short pair, f, b; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2446 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2447 PyCursesInitialised; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2448 PyCursesInitialisedColor; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2449 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2450 if (PyTuple_Size(args) != 3) { |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2451 PyErr_SetString(PyExc_TypeError, "init_pair requires 3 arguments"); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2452 return NULL; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2453 } |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2454 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2455 if (!PyArg_ParseTuple(args, "hhh;pair, f, b", &pair, &f, &b)) return NULL; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2456 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2457 return PyCursesCheckERR(init_pair(pair, f, b), "init_pair"); |
|
12737
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
2458 } |
|
1867
758c1374f303
Setup.in: added tkinter; rearranged the definition of PYTHONPATH so
Guido van Rossum <guido@python.org>
parents:
1859
diff
changeset
|
2459 |
|
15646
5b158fc0ed55
Export C API from this module.
Andrew M. Kuchling <amk@amk.ca>
parents:
15638
diff
changeset
|
2460 static PyObject *ModDict; |
|
5b158fc0ed55
Export C API from this module.
Andrew M. Kuchling <amk@amk.ca>
parents:
15638
diff
changeset
|
2461 |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2462 static PyObject * |
|
21756
d60350d71b60
Patch #477752: Drop old-style getargs from curses.
Martin v. Löwis <martin@v.loewis.de>
parents:
21741
diff
changeset
|
2463 PyCurses_InitScr(PyObject *self) |
|
1855
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2464 { |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2465 WINDOW *win; |
|
73746
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
2466 PyCursesWindowObject *winobj; |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2467 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2468 if (initialised == TRUE) { |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2469 wrefresh(stdscr); |
|
73746
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
2470 return (PyObject *)PyCursesWindow_New(stdscr, NULL); |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2471 } |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2472 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2473 win = initscr(); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2474 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2475 if (win == NULL) { |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2476 PyErr_SetString(PyCursesError, catchall_NULL); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2477 return NULL; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2478 } |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2479 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2480 initialised = initialised_setupterm = TRUE; |
|
1859
54fdc9a95f48
Lance's release 1.1 -- fixes some problems with 1.0
Guido van Rossum <guido@python.org>
parents:
1858
diff
changeset
|
2481 |
|
12738
3d26cb3808a7
Changes by AMK: Use HAVE_NCURSES_H to include correct header file
Andrew M. Kuchling <amk@amk.ca>
parents:
12737
diff
changeset
|
2482 /* This was moved from initcurses() because it core dumped on SGI, |
|
3d26cb3808a7
Changes by AMK: Use HAVE_NCURSES_H to include correct header file
Andrew M. Kuchling <amk@amk.ca>
parents:
12737
diff
changeset
|
2483 where they're not defined until you've called initscr() */ |
|
61619
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
2484 #define SetDictInt(string,ch) \ |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2485 do { \ |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2486 PyObject *o = PyLong_FromLong((long) (ch)); \ |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2487 if (o && PyDict_SetItemString(ModDict, string, o) == 0) { \ |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2488 Py_DECREF(o); \ |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2489 } \ |
|
39610
3674f20ac781
Merge current trunk into p3yk. This includes the PyNumber_Index API change,
Thomas Wouters <thomas@python.org>
parents:
39442
diff
changeset
|
2490 } while (0) |
|
12738
3d26cb3808a7
Changes by AMK: Use HAVE_NCURSES_H to include correct header file
Andrew M. Kuchling <amk@amk.ca>
parents:
12737
diff
changeset
|
2491 |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2492 /* Here are some graphic symbols you can use */ |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2493 SetDictInt("ACS_ULCORNER", (ACS_ULCORNER)); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2494 SetDictInt("ACS_LLCORNER", (ACS_LLCORNER)); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2495 SetDictInt("ACS_URCORNER", (ACS_URCORNER)); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2496 SetDictInt("ACS_LRCORNER", (ACS_LRCORNER)); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2497 SetDictInt("ACS_LTEE", (ACS_LTEE)); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2498 SetDictInt("ACS_RTEE", (ACS_RTEE)); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2499 SetDictInt("ACS_BTEE", (ACS_BTEE)); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2500 SetDictInt("ACS_TTEE", (ACS_TTEE)); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2501 SetDictInt("ACS_HLINE", (ACS_HLINE)); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2502 SetDictInt("ACS_VLINE", (ACS_VLINE)); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2503 SetDictInt("ACS_PLUS", (ACS_PLUS)); |
|
20647
dd78b1a71f3e
Check for HP/UX curses problems. Define _XOPEN_SOURCE_EXTENDED and
Martin v. Löwis <martin@v.loewis.de>
parents:
20583
diff
changeset
|
2504 #if !defined(__hpux) || defined(HAVE_NCURSES_H) |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2505 /* On HP/UX 11, these are of type cchar_t, which is not an |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2506 integral type. If this is a problem on more platforms, a |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2507 configure test should be added to determine whether ACS_S1 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2508 is of integral type. */ |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2509 SetDictInt("ACS_S1", (ACS_S1)); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2510 SetDictInt("ACS_S9", (ACS_S9)); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2511 SetDictInt("ACS_DIAMOND", (ACS_DIAMOND)); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2512 SetDictInt("ACS_CKBOARD", (ACS_CKBOARD)); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2513 SetDictInt("ACS_DEGREE", (ACS_DEGREE)); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2514 SetDictInt("ACS_PLMINUS", (ACS_PLMINUS)); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2515 SetDictInt("ACS_BULLET", (ACS_BULLET)); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2516 SetDictInt("ACS_LARROW", (ACS_LARROW)); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2517 SetDictInt("ACS_RARROW", (ACS_RARROW)); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2518 SetDictInt("ACS_DARROW", (ACS_DARROW)); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2519 SetDictInt("ACS_UARROW", (ACS_UARROW)); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2520 SetDictInt("ACS_BOARD", (ACS_BOARD)); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2521 SetDictInt("ACS_LANTERN", (ACS_LANTERN)); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2522 SetDictInt("ACS_BLOCK", (ACS_BLOCK)); |
|
20647
dd78b1a71f3e
Check for HP/UX curses problems. Define _XOPEN_SOURCE_EXTENDED and
Martin v. Löwis <martin@v.loewis.de>
parents:
20583
diff
changeset
|
2523 #endif |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2524 SetDictInt("ACS_BSSB", (ACS_ULCORNER)); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2525 SetDictInt("ACS_SSBB", (ACS_LLCORNER)); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2526 SetDictInt("ACS_BBSS", (ACS_URCORNER)); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2527 SetDictInt("ACS_SBBS", (ACS_LRCORNER)); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2528 SetDictInt("ACS_SBSS", (ACS_RTEE)); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2529 SetDictInt("ACS_SSSB", (ACS_LTEE)); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2530 SetDictInt("ACS_SSBS", (ACS_BTEE)); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2531 SetDictInt("ACS_BSSS", (ACS_TTEE)); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2532 SetDictInt("ACS_BSBS", (ACS_HLINE)); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2533 SetDictInt("ACS_SBSB", (ACS_VLINE)); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2534 SetDictInt("ACS_SSSS", (ACS_PLUS)); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2535 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2536 /* The following are never available with strict SYSV curses */ |
|
15369
3abcb6966617
Patch from Randall Hopper to fix PR #116172, "curses module fails to
Andrew M. Kuchling <amk@amk.ca>
parents:
14334
diff
changeset
|
2537 #ifdef ACS_S3 |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2538 SetDictInt("ACS_S3", (ACS_S3)); |
|
15369
3abcb6966617
Patch from Randall Hopper to fix PR #116172, "curses module fails to
Andrew M. Kuchling <amk@amk.ca>
parents:
14334
diff
changeset
|
2539 #endif |
|
3abcb6966617
Patch from Randall Hopper to fix PR #116172, "curses module fails to
Andrew M. Kuchling <amk@amk.ca>
parents:
14334
diff
changeset
|
2540 #ifdef ACS_S7 |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2541 SetDictInt("ACS_S7", (ACS_S7)); |
|
15369
3abcb6966617
Patch from Randall Hopper to fix PR #116172, "curses module fails to
Andrew M. Kuchling <amk@amk.ca>
parents:
14334
diff
changeset
|
2542 #endif |
|
3abcb6966617
Patch from Randall Hopper to fix PR #116172, "curses module fails to
Andrew M. Kuchling <amk@amk.ca>
parents:
14334
diff
changeset
|
2543 #ifdef ACS_LEQUAL |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2544 SetDictInt("ACS_LEQUAL", (ACS_LEQUAL)); |
|
15369
3abcb6966617
Patch from Randall Hopper to fix PR #116172, "curses module fails to
Andrew M. Kuchling <amk@amk.ca>
parents:
14334
diff
changeset
|
2545 #endif |
|
3abcb6966617
Patch from Randall Hopper to fix PR #116172, "curses module fails to
Andrew M. Kuchling <amk@amk.ca>
parents:
14334
diff
changeset
|
2546 #ifdef ACS_GEQUAL |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2547 SetDictInt("ACS_GEQUAL", (ACS_GEQUAL)); |
|
15369
3abcb6966617
Patch from Randall Hopper to fix PR #116172, "curses module fails to
Andrew M. Kuchling <amk@amk.ca>
parents:
14334
diff
changeset
|
2548 #endif |
|
3abcb6966617
Patch from Randall Hopper to fix PR #116172, "curses module fails to
Andrew M. Kuchling <amk@amk.ca>
parents:
14334
diff
changeset
|
2549 #ifdef ACS_PI |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2550 SetDictInt("ACS_PI", (ACS_PI)); |
|
15369
3abcb6966617
Patch from Randall Hopper to fix PR #116172, "curses module fails to
Andrew M. Kuchling <amk@amk.ca>
parents:
14334
diff
changeset
|
2551 #endif |
|
3abcb6966617
Patch from Randall Hopper to fix PR #116172, "curses module fails to
Andrew M. Kuchling <amk@amk.ca>
parents:
14334
diff
changeset
|
2552 #ifdef ACS_NEQUAL |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2553 SetDictInt("ACS_NEQUAL", (ACS_NEQUAL)); |
|
15369
3abcb6966617
Patch from Randall Hopper to fix PR #116172, "curses module fails to
Andrew M. Kuchling <amk@amk.ca>
parents:
14334
diff
changeset
|
2554 #endif |
|
3abcb6966617
Patch from Randall Hopper to fix PR #116172, "curses module fails to
Andrew M. Kuchling <amk@amk.ca>
parents:
14334
diff
changeset
|
2555 #ifdef ACS_STERLING |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2556 SetDictInt("ACS_STERLING", (ACS_STERLING)); |
|
12738
3d26cb3808a7
Changes by AMK: Use HAVE_NCURSES_H to include correct header file
Andrew M. Kuchling <amk@amk.ca>
parents:
12737
diff
changeset
|
2557 #endif |
|
3d26cb3808a7
Changes by AMK: Use HAVE_NCURSES_H to include correct header file
Andrew M. Kuchling <amk@amk.ca>
parents:
12737
diff
changeset
|
2558 |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2559 SetDictInt("LINES", LINES); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2560 SetDictInt("COLS", COLS); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2561 |
|
73746
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
2562 winobj = (PyCursesWindowObject *)PyCursesWindow_New(win, NULL); |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
2563 screen_encoding = winobj->encoding; |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
2564 return (PyObject *)winobj; |
|
1855
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2565 } |
|
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2566 |
|
15418
06465ed81826
Patch #102412 from mwh: Add support for the setupterm() function, to
Andrew M. Kuchling <amk@amk.ca>
parents:
15384
diff
changeset
|
2567 static PyObject * |
|
06465ed81826
Patch #102412 from mwh: Add support for the setupterm() function, to
Andrew M. Kuchling <amk@amk.ca>
parents:
15384
diff
changeset
|
2568 PyCurses_setupterm(PyObject* self, PyObject *args, PyObject* keywds) |
|
06465ed81826
Patch #102412 from mwh: Add support for the setupterm() function, to
Andrew M. Kuchling <amk@amk.ca>
parents:
15384
diff
changeset
|
2569 { |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2570 int fd = -1; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2571 int err; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2572 char* termstr = NULL; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2573 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2574 static char *kwlist[] = {"term", "fd", NULL}; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2575 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2576 if (!PyArg_ParseTupleAndKeywords( |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2577 args, keywds, "|zi:setupterm", kwlist, &termstr, &fd)) { |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2578 return NULL; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2579 } |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2580 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2581 if (fd == -1) { |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2582 PyObject* sys_stdout; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2583 |
|
86999
01c4a0af73cf
Issue #19512, #19515: remove shared identifiers, move identifiers where they
Victor Stinner <victor.stinner@gmail.com>
parents:
86974
diff
changeset
|
2584 sys_stdout = PySys_GetObject("stdout"); |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2585 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2586 if (sys_stdout == NULL || sys_stdout == Py_None) { |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2587 PyErr_SetString( |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2588 PyCursesError, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2589 "lost sys.stdout"); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2590 return NULL; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2591 } |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2592 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2593 fd = PyObject_AsFileDescriptor(sys_stdout); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2594 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2595 if (fd == -1) { |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2596 return NULL; |
|
61619
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
2597 } |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2598 } |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2599 |
|
63338
845cef2eb1d7
- Issue #7567: PyCurses_setupterm: Don't call `setupterm' twice.
Matthias Klose <doko@ubuntu.com>
parents:
61617
diff
changeset
|
2600 if (!initialised_setupterm && setupterm(termstr,fd,&err) == ERR) { |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2601 char* s = "setupterm: unknown error"; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2602 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2603 if (err == 0) { |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2604 s = "setupterm: could not find terminal"; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2605 } else if (err == -1) { |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2606 s = "setupterm: could not find terminfo database"; |
|
61619
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
2607 } |
|
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
2608 |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2609 PyErr_SetString(PyCursesError,s); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2610 return NULL; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2611 } |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2612 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2613 initialised_setupterm = TRUE; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2614 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2615 Py_INCREF(Py_None); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2616 return Py_None; |
|
15418
06465ed81826
Patch #102412 from mwh: Add support for the setupterm() function, to
Andrew M. Kuchling <amk@amk.ca>
parents:
15384
diff
changeset
|
2617 } |
|
12737
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
2618 |
|
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
2619 static PyObject * |
|
13465
8e92d941e07f
Patch from Peter Schneider-Kamp: convert curses module to ANSI prototypes,
Andrew M. Kuchling <amk@amk.ca>
parents:
13388
diff
changeset
|
2620 PyCurses_IntrFlush(PyObject *self, PyObject *args) |
|
1855
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2621 { |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2622 int ch; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2623 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2624 PyCursesInitialised; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2625 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2626 switch(PyTuple_Size(args)) { |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2627 case 1: |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2628 if (!PyArg_ParseTuple(args,"i;True(1), False(0)",&ch)) return NULL; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2629 break; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2630 default: |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2631 PyErr_SetString(PyExc_TypeError, "intrflush requires 1 argument"); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2632 return NULL; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2633 } |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2634 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2635 return PyCursesCheckERR(intrflush(NULL,ch), "intrflush"); |
|
1855
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2636 } |
|
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2637 |
|
39442
654c380cf8b9
Merged revisions 46753-51188 via svnmerge from
Thomas Wouters <thomas@python.org>
parents:
36675
diff
changeset
|
2638 #ifdef HAVE_CURSES_IS_TERM_RESIZED |
|
654c380cf8b9
Merged revisions 46753-51188 via svnmerge from
Thomas Wouters <thomas@python.org>
parents:
36675
diff
changeset
|
2639 static PyObject * |
|
654c380cf8b9
Merged revisions 46753-51188 via svnmerge from
Thomas Wouters <thomas@python.org>
parents:
36675
diff
changeset
|
2640 PyCurses_Is_Term_Resized(PyObject *self, PyObject *args) |
|
654c380cf8b9
Merged revisions 46753-51188 via svnmerge from
Thomas Wouters <thomas@python.org>
parents:
36675
diff
changeset
|
2641 { |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2642 int lines; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2643 int columns; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2644 int result; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2645 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2646 PyCursesInitialised; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2647 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2648 if (!PyArg_ParseTuple(args,"ii:is_term_resized", &lines, &columns)) |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2649 return NULL; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2650 result = is_term_resized(lines, columns); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2651 if (result == TRUE) { |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2652 Py_INCREF(Py_True); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2653 return Py_True; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2654 } else { |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2655 Py_INCREF(Py_False); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2656 return Py_False; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2657 } |
|
39442
654c380cf8b9
Merged revisions 46753-51188 via svnmerge from
Thomas Wouters <thomas@python.org>
parents:
36675
diff
changeset
|
2658 } |
|
654c380cf8b9
Merged revisions 46753-51188 via svnmerge from
Thomas Wouters <thomas@python.org>
parents:
36675
diff
changeset
|
2659 #endif /* HAVE_CURSES_IS_TERM_RESIZED */ |
|
654c380cf8b9
Merged revisions 46753-51188 via svnmerge from
Thomas Wouters <thomas@python.org>
parents:
36675
diff
changeset
|
2660 |
|
16351
ef32bfa5f5c6
Patch #103485 from Donn Cave: patches to make the module compile on AIX and
Andrew M. Kuchling <amk@amk.ca>
parents:
16350
diff
changeset
|
2661 #if !defined(__NetBSD__) |
|
1855
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2662 static PyObject * |
|
13465
8e92d941e07f
Patch from Peter Schneider-Kamp: convert curses module to ANSI prototypes,
Andrew M. Kuchling <amk@amk.ca>
parents:
13388
diff
changeset
|
2663 PyCurses_KeyName(PyObject *self, PyObject *args) |
|
12737
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
2664 { |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2665 const char *knp; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2666 int ch; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2667 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2668 PyCursesInitialised; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2669 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2670 if (!PyArg_ParseTuple(args,"i",&ch)) return NULL; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2671 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2672 if (ch < 0) { |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2673 PyErr_SetString(PyExc_ValueError, "invalid key number"); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2674 return NULL; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2675 } |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2676 knp = keyname(ch); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2677 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2678 return PyBytes_FromString((knp == NULL) ? "" : (char *)knp); |
|
12737
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
2679 } |
|
16351
ef32bfa5f5c6
Patch #103485 from Donn Cave: patches to make the module compile on AIX and
Andrew M. Kuchling <amk@amk.ca>
parents:
16350
diff
changeset
|
2680 #endif |
|
12737
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
2681 |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2682 static PyObject * |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2683 PyCurses_KillChar(PyObject *self) |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2684 { |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2685 char ch; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2686 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2687 ch = killchar(); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2688 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2689 return PyBytes_FromStringAndSize(&ch, 1); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2690 } |
|
12737
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
2691 |
|
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
2692 static PyObject * |
|
13465
8e92d941e07f
Patch from Peter Schneider-Kamp: convert curses module to ANSI prototypes,
Andrew M. Kuchling <amk@amk.ca>
parents:
13388
diff
changeset
|
2693 PyCurses_Meta(PyObject *self, PyObject *args) |
|
1855
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2694 { |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2695 int ch; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2696 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2697 PyCursesInitialised; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2698 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2699 switch(PyTuple_Size(args)) { |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2700 case 1: |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2701 if (!PyArg_ParseTuple(args,"i;True(1), False(0)",&ch)) return NULL; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2702 break; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2703 default: |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2704 PyErr_SetString(PyExc_TypeError, "meta requires 1 argument"); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2705 return NULL; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2706 } |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2707 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2708 return PyCursesCheckERR(meta(stdscr, ch), "meta"); |
|
12737
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
2709 } |
|
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
2710 |
|
13036
c09a570eb6eb
Added support for mouse functions: mousemask(), mouseinterval(),
Andrew M. Kuchling <amk@amk.ca>
parents:
12988
diff
changeset
|
2711 #ifdef NCURSES_MOUSE_VERSION |
|
c09a570eb6eb
Added support for mouse functions: mousemask(), mouseinterval(),
Andrew M. Kuchling <amk@amk.ca>
parents:
12988
diff
changeset
|
2712 static PyObject * |
|
13465
8e92d941e07f
Patch from Peter Schneider-Kamp: convert curses module to ANSI prototypes,
Andrew M. Kuchling <amk@amk.ca>
parents:
13388
diff
changeset
|
2713 PyCurses_MouseInterval(PyObject *self, PyObject *args) |
|
13036
c09a570eb6eb
Added support for mouse functions: mousemask(), mouseinterval(),
Andrew M. Kuchling <amk@amk.ca>
parents:
12988
diff
changeset
|
2714 { |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2715 int interval; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2716 PyCursesInitialised; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2717 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2718 if (!PyArg_ParseTuple(args,"i;interval",&interval)) |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2719 return NULL; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2720 return PyCursesCheckERR(mouseinterval(interval), "mouseinterval"); |
|
13036
c09a570eb6eb
Added support for mouse functions: mousemask(), mouseinterval(),
Andrew M. Kuchling <amk@amk.ca>
parents:
12988
diff
changeset
|
2721 } |
|
c09a570eb6eb
Added support for mouse functions: mousemask(), mouseinterval(),
Andrew M. Kuchling <amk@amk.ca>
parents:
12988
diff
changeset
|
2722 |
|
c09a570eb6eb
Added support for mouse functions: mousemask(), mouseinterval(),
Andrew M. Kuchling <amk@amk.ca>
parents:
12988
diff
changeset
|
2723 static PyObject * |
|
13465
8e92d941e07f
Patch from Peter Schneider-Kamp: convert curses module to ANSI prototypes,
Andrew M. Kuchling <amk@amk.ca>
parents:
13388
diff
changeset
|
2724 PyCurses_MouseMask(PyObject *self, PyObject *args) |
|
13036
c09a570eb6eb
Added support for mouse functions: mousemask(), mouseinterval(),
Andrew M. Kuchling <amk@amk.ca>
parents:
12988
diff
changeset
|
2725 { |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2726 int newmask; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2727 mmask_t oldmask, availmask; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2728 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2729 PyCursesInitialised; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2730 if (!PyArg_ParseTuple(args,"i;mousemask",&newmask)) |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2731 return NULL; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2732 availmask = mousemask(newmask, &oldmask); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2733 return Py_BuildValue("(ll)", (long)availmask, (long)oldmask); |
|
13036
c09a570eb6eb
Added support for mouse functions: mousemask(), mouseinterval(),
Andrew M. Kuchling <amk@amk.ca>
parents:
12988
diff
changeset
|
2734 } |
|
c09a570eb6eb
Added support for mouse functions: mousemask(), mouseinterval(),
Andrew M. Kuchling <amk@amk.ca>
parents:
12988
diff
changeset
|
2735 #endif |
|
c09a570eb6eb
Added support for mouse functions: mousemask(), mouseinterval(),
Andrew M. Kuchling <amk@amk.ca>
parents:
12988
diff
changeset
|
2736 |
|
12737
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
2737 static PyObject * |
|
15574
4a9f1552ba68
Wrapper for napms() function, contributed by Thomas Gellekum <tg@FreeBSD.org>
Andrew M. Kuchling <amk@amk.ca>
parents:
15418
diff
changeset
|
2738 PyCurses_Napms(PyObject *self, PyObject *args) |
|
4a9f1552ba68
Wrapper for napms() function, contributed by Thomas Gellekum <tg@FreeBSD.org>
Andrew M. Kuchling <amk@amk.ca>
parents:
15418
diff
changeset
|
2739 { |
|
4a9f1552ba68
Wrapper for napms() function, contributed by Thomas Gellekum <tg@FreeBSD.org>
Andrew M. Kuchling <amk@amk.ca>
parents:
15418
diff
changeset
|
2740 int ms; |
|
4a9f1552ba68
Wrapper for napms() function, contributed by Thomas Gellekum <tg@FreeBSD.org>
Andrew M. Kuchling <amk@amk.ca>
parents:
15418
diff
changeset
|
2741 |
|
61501
00220ebeed0a
Merged revisions 81073 via svnmerge from
Andrew M. Kuchling <amk@amk.ca>
parents:
61500
diff
changeset
|
2742 PyCursesInitialised; |
|
21756
d60350d71b60
Patch #477752: Drop old-style getargs from curses.
Martin v. Löwis <martin@v.loewis.de>
parents:
21741
diff
changeset
|
2743 if (!PyArg_ParseTuple(args, "i;ms", &ms)) return NULL; |
|
15574
4a9f1552ba68
Wrapper for napms() function, contributed by Thomas Gellekum <tg@FreeBSD.org>
Andrew M. Kuchling <amk@amk.ca>
parents:
15418
diff
changeset
|
2744 |
|
4a9f1552ba68
Wrapper for napms() function, contributed by Thomas Gellekum <tg@FreeBSD.org>
Andrew M. Kuchling <amk@amk.ca>
parents:
15418
diff
changeset
|
2745 return Py_BuildValue("i", napms(ms)); |
|
4a9f1552ba68
Wrapper for napms() function, contributed by Thomas Gellekum <tg@FreeBSD.org>
Andrew M. Kuchling <amk@amk.ca>
parents:
15418
diff
changeset
|
2746 } |
|
4a9f1552ba68
Wrapper for napms() function, contributed by Thomas Gellekum <tg@FreeBSD.org>
Andrew M. Kuchling <amk@amk.ca>
parents:
15418
diff
changeset
|
2747 |
|
4a9f1552ba68
Wrapper for napms() function, contributed by Thomas Gellekum <tg@FreeBSD.org>
Andrew M. Kuchling <amk@amk.ca>
parents:
15418
diff
changeset
|
2748 |
|
4a9f1552ba68
Wrapper for napms() function, contributed by Thomas Gellekum <tg@FreeBSD.org>
Andrew M. Kuchling <amk@amk.ca>
parents:
15418
diff
changeset
|
2749 static PyObject * |
|
13465
8e92d941e07f
Patch from Peter Schneider-Kamp: convert curses module to ANSI prototypes,
Andrew M. Kuchling <amk@amk.ca>
parents:
13388
diff
changeset
|
2750 PyCurses_NewPad(PyObject *self, PyObject *args) |
|
12737
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
2751 { |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2752 WINDOW *win; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2753 int nlines, ncols; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2754 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2755 PyCursesInitialised; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2756 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2757 if (!PyArg_ParseTuple(args,"ii;nlines,ncols",&nlines,&ncols)) return NULL; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2758 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2759 win = newpad(nlines, ncols); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2760 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2761 if (win == NULL) { |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2762 PyErr_SetString(PyCursesError, catchall_NULL); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2763 return NULL; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2764 } |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2765 |
|
73746
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
2766 return (PyObject *)PyCursesWindow_New(win, NULL); |
|
1855
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2767 } |
|
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2768 |
|
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2769 static PyObject * |
|
13465
8e92d941e07f
Patch from Peter Schneider-Kamp: convert curses module to ANSI prototypes,
Andrew M. Kuchling <amk@amk.ca>
parents:
13388
diff
changeset
|
2770 PyCurses_NewWindow(PyObject *self, PyObject *args) |
|
1855
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2771 { |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2772 WINDOW *win; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2773 int nlines, ncols, begin_y=0, begin_x=0; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2774 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2775 PyCursesInitialised; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2776 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2777 switch (PyTuple_Size(args)) { |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2778 case 2: |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2779 if (!PyArg_ParseTuple(args,"ii;nlines,ncols",&nlines,&ncols)) |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2780 return NULL; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2781 break; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2782 case 4: |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2783 if (!PyArg_ParseTuple(args, "iiii;nlines,ncols,begin_y,begin_x", |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2784 &nlines,&ncols,&begin_y,&begin_x)) |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2785 return NULL; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2786 break; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2787 default: |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2788 PyErr_SetString(PyExc_TypeError, "newwin requires 2 or 4 arguments"); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2789 return NULL; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2790 } |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2791 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2792 win = newwin(nlines,ncols,begin_y,begin_x); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2793 if (win == NULL) { |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2794 PyErr_SetString(PyCursesError, catchall_NULL); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2795 return NULL; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2796 } |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2797 |
|
73746
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
2798 return (PyObject *)PyCursesWindow_New(win, NULL); |
|
1855
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2799 } |
|
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2800 |
|
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2801 static PyObject * |
|
13465
8e92d941e07f
Patch from Peter Schneider-Kamp: convert curses module to ANSI prototypes,
Andrew M. Kuchling <amk@amk.ca>
parents:
13388
diff
changeset
|
2802 PyCurses_Pair_Content(PyObject *self, PyObject *args) |
|
12737
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
2803 { |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2804 short pair,f,b; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2805 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2806 PyCursesInitialised; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2807 PyCursesInitialisedColor; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2808 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2809 switch(PyTuple_Size(args)) { |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2810 case 1: |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2811 if (!PyArg_ParseTuple(args, "h;pair", &pair)) return NULL; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2812 break; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2813 default: |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2814 PyErr_SetString(PyExc_TypeError, "pair_content requires 1 argument"); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2815 return NULL; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2816 } |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2817 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2818 if (pair_content(pair, &f, &b)==ERR) { |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2819 PyErr_SetString(PyCursesError, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2820 "Argument 1 was out of range. (1..COLOR_PAIRS-1)"); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2821 return NULL; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2822 } |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2823 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2824 return Py_BuildValue("(ii)", f, b); |
|
12737
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
2825 } |
|
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
2826 |
|
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
2827 static PyObject * |
|
13465
8e92d941e07f
Patch from Peter Schneider-Kamp: convert curses module to ANSI prototypes,
Andrew M. Kuchling <amk@amk.ca>
parents:
13388
diff
changeset
|
2828 PyCurses_pair_number(PyObject *self, PyObject *args) |
|
1855
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2829 { |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2830 int n; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2831 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2832 PyCursesInitialised; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2833 PyCursesInitialisedColor; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2834 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2835 switch(PyTuple_Size(args)) { |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2836 case 1: |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2837 if (!PyArg_ParseTuple(args, "i;pairvalue", &n)) return NULL; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2838 break; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2839 default: |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2840 PyErr_SetString(PyExc_TypeError, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2841 "pair_number requires 1 argument"); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2842 return NULL; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2843 } |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2844 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2845 return PyLong_FromLong((long) ((n & A_COLOR) >> 8)); |
|
12737
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
2846 } |
|
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
2847 |
|
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
2848 static PyObject * |
|
13465
8e92d941e07f
Patch from Peter Schneider-Kamp: convert curses module to ANSI prototypes,
Andrew M. Kuchling <amk@amk.ca>
parents:
13388
diff
changeset
|
2849 PyCurses_Putp(PyObject *self, PyObject *args) |
|
12737
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
2850 { |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2851 char *str; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2852 |
|
73331
38f4a251608f
Issue #10570: curses.putp() is now expecting a byte string, instead of a
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73311
diff
changeset
|
2853 if (!PyArg_ParseTuple(args,"y;str", &str)) |
|
38f4a251608f
Issue #10570: curses.putp() is now expecting a byte string, instead of a
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73311
diff
changeset
|
2854 return NULL; |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2855 return PyCursesCheckERR(putp(str), "putp"); |
|
12737
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
2856 } |
|
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
2857 |
|
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
2858 static PyObject * |
|
13465
8e92d941e07f
Patch from Peter Schneider-Kamp: convert curses module to ANSI prototypes,
Andrew M. Kuchling <amk@amk.ca>
parents:
13388
diff
changeset
|
2859 PyCurses_QiFlush(PyObject *self, PyObject *args) |
|
12737
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
2860 { |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2861 int flag = 0; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2862 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2863 PyCursesInitialised; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2864 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2865 switch(PyTuple_Size(args)) { |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2866 case 0: |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2867 qiflush(); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2868 Py_INCREF(Py_None); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2869 return Py_None; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2870 case 1: |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2871 if (!PyArg_ParseTuple(args, "i;True(1) or False(0)", &flag)) return NULL; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2872 if (flag) qiflush(); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2873 else noqiflush(); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2874 Py_INCREF(Py_None); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2875 return Py_None; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2876 default: |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2877 PyErr_SetString(PyExc_TypeError, "qiflush requires 0 or 1 arguments"); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2878 return NULL; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2879 } |
|
12737
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
2880 } |
|
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
2881 |
|
41554
06145fbc7ab9
Merged revisions 53952-54987 via svnmerge from
Guido van Rossum <guido@python.org>
parents:
40626
diff
changeset
|
2882 /* Internal helper used for updating curses.LINES, curses.COLS, _curses.LINES |
|
06145fbc7ab9
Merged revisions 53952-54987 via svnmerge from
Guido van Rossum <guido@python.org>
parents:
40626
diff
changeset
|
2883 * and _curses.COLS */ |
|
48407
e22deaeb6c1b
Merged revisions 64365,64370,64406,64408-64409,64412,64416-64417,64420-64421,64425-64428 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents:
47580
diff
changeset
|
2884 #if defined(HAVE_CURSES_RESIZETERM) || defined(HAVE_CURSES_RESIZE_TERM) |
|
41554
06145fbc7ab9
Merged revisions 53952-54987 via svnmerge from
Guido van Rossum <guido@python.org>
parents:
40626
diff
changeset
|
2885 static int |
|
06145fbc7ab9
Merged revisions 53952-54987 via svnmerge from
Guido van Rossum <guido@python.org>
parents:
40626
diff
changeset
|
2886 update_lines_cols(void) |
|
06145fbc7ab9
Merged revisions 53952-54987 via svnmerge from
Guido van Rossum <guido@python.org>
parents:
40626
diff
changeset
|
2887 { |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2888 PyObject *o; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2889 PyObject *m = PyImport_ImportModuleNoBlock("curses"); |
|
72926
db4aa878cea2
Port SetAttrString/HasAttrString to SetAttrId/GetAttrId.
Martin v. Löwis <martin@v.loewis.de>
parents:
72925
diff
changeset
|
2890 _Py_IDENTIFIER(LINES); |
|
db4aa878cea2
Port SetAttrString/HasAttrString to SetAttrId/GetAttrId.
Martin v. Löwis <martin@v.loewis.de>
parents:
72925
diff
changeset
|
2891 _Py_IDENTIFIER(COLS); |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2892 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2893 if (!m) |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2894 return 0; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2895 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2896 o = PyLong_FromLong(LINES); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2897 if (!o) { |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2898 Py_DECREF(m); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2899 return 0; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2900 } |
|
72926
db4aa878cea2
Port SetAttrString/HasAttrString to SetAttrId/GetAttrId.
Martin v. Löwis <martin@v.loewis.de>
parents:
72925
diff
changeset
|
2901 if (_PyObject_SetAttrId(m, &PyId_LINES, o)) { |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2902 Py_DECREF(m); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2903 Py_DECREF(o); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2904 return 0; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2905 } |
|
72926
db4aa878cea2
Port SetAttrString/HasAttrString to SetAttrId/GetAttrId.
Martin v. Löwis <martin@v.loewis.de>
parents:
72925
diff
changeset
|
2906 /* PyId_LINES.object will be initialized here. */ |
|
db4aa878cea2
Port SetAttrString/HasAttrString to SetAttrId/GetAttrId.
Martin v. Löwis <martin@v.loewis.de>
parents:
72925
diff
changeset
|
2907 if (PyDict_SetItem(ModDict, PyId_LINES.object, o)) { |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2908 Py_DECREF(m); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2909 Py_DECREF(o); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2910 return 0; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2911 } |
|
41554
06145fbc7ab9
Merged revisions 53952-54987 via svnmerge from
Guido van Rossum <guido@python.org>
parents:
40626
diff
changeset
|
2912 Py_DECREF(o); |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2913 o = PyLong_FromLong(COLS); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2914 if (!o) { |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2915 Py_DECREF(m); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2916 return 0; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2917 } |
|
72926
db4aa878cea2
Port SetAttrString/HasAttrString to SetAttrId/GetAttrId.
Martin v. Löwis <martin@v.loewis.de>
parents:
72925
diff
changeset
|
2918 if (_PyObject_SetAttrId(m, &PyId_COLS, o)) { |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2919 Py_DECREF(m); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2920 Py_DECREF(o); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2921 return 0; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2922 } |
|
72926
db4aa878cea2
Port SetAttrString/HasAttrString to SetAttrId/GetAttrId.
Martin v. Löwis <martin@v.loewis.de>
parents:
72925
diff
changeset
|
2923 if (PyDict_SetItem(ModDict, PyId_COLS.object, o)) { |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2924 Py_DECREF(m); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2925 Py_DECREF(o); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2926 return 0; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2927 } |
|
41554
06145fbc7ab9
Merged revisions 53952-54987 via svnmerge from
Guido van Rossum <guido@python.org>
parents:
40626
diff
changeset
|
2928 Py_DECREF(o); |
|
06145fbc7ab9
Merged revisions 53952-54987 via svnmerge from
Guido van Rossum <guido@python.org>
parents:
40626
diff
changeset
|
2929 Py_DECREF(m); |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2930 return 1; |
|
41554
06145fbc7ab9
Merged revisions 53952-54987 via svnmerge from
Guido van Rossum <guido@python.org>
parents:
40626
diff
changeset
|
2931 } |
|
48407
e22deaeb6c1b
Merged revisions 64365,64370,64406,64408-64409,64412,64416-64417,64420-64421,64425-64428 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents:
47580
diff
changeset
|
2932 #endif |
|
41554
06145fbc7ab9
Merged revisions 53952-54987 via svnmerge from
Guido van Rossum <guido@python.org>
parents:
40626
diff
changeset
|
2933 |
|
39442
654c380cf8b9
Merged revisions 46753-51188 via svnmerge from
Thomas Wouters <thomas@python.org>
parents:
36675
diff
changeset
|
2934 #ifdef HAVE_CURSES_RESIZETERM |
|
654c380cf8b9
Merged revisions 46753-51188 via svnmerge from
Thomas Wouters <thomas@python.org>
parents:
36675
diff
changeset
|
2935 static PyObject * |
|
654c380cf8b9
Merged revisions 46753-51188 via svnmerge from
Thomas Wouters <thomas@python.org>
parents:
36675
diff
changeset
|
2936 PyCurses_ResizeTerm(PyObject *self, PyObject *args) |
|
654c380cf8b9
Merged revisions 46753-51188 via svnmerge from
Thomas Wouters <thomas@python.org>
parents:
36675
diff
changeset
|
2937 { |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2938 int lines; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2939 int columns; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2940 PyObject *result; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2941 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2942 PyCursesInitialised; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2943 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2944 if (!PyArg_ParseTuple(args,"ii:resizeterm", &lines, &columns)) |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2945 return NULL; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2946 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2947 result = PyCursesCheckERR(resizeterm(lines, columns), "resizeterm"); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2948 if (!result) |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2949 return NULL; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2950 if (!update_lines_cols()) |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2951 return NULL; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2952 return result; |
|
39442
654c380cf8b9
Merged revisions 46753-51188 via svnmerge from
Thomas Wouters <thomas@python.org>
parents:
36675
diff
changeset
|
2953 } |
|
654c380cf8b9
Merged revisions 46753-51188 via svnmerge from
Thomas Wouters <thomas@python.org>
parents:
36675
diff
changeset
|
2954 |
|
654c380cf8b9
Merged revisions 46753-51188 via svnmerge from
Thomas Wouters <thomas@python.org>
parents:
36675
diff
changeset
|
2955 #endif |
|
654c380cf8b9
Merged revisions 46753-51188 via svnmerge from
Thomas Wouters <thomas@python.org>
parents:
36675
diff
changeset
|
2956 |
|
654c380cf8b9
Merged revisions 46753-51188 via svnmerge from
Thomas Wouters <thomas@python.org>
parents:
36675
diff
changeset
|
2957 #ifdef HAVE_CURSES_RESIZE_TERM |
|
654c380cf8b9
Merged revisions 46753-51188 via svnmerge from
Thomas Wouters <thomas@python.org>
parents:
36675
diff
changeset
|
2958 static PyObject * |
|
654c380cf8b9
Merged revisions 46753-51188 via svnmerge from
Thomas Wouters <thomas@python.org>
parents:
36675
diff
changeset
|
2959 PyCurses_Resize_Term(PyObject *self, PyObject *args) |
|
654c380cf8b9
Merged revisions 46753-51188 via svnmerge from
Thomas Wouters <thomas@python.org>
parents:
36675
diff
changeset
|
2960 { |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2961 int lines; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2962 int columns; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2963 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2964 PyObject *result; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2965 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2966 PyCursesInitialised; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2967 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2968 if (!PyArg_ParseTuple(args,"ii:resize_term", &lines, &columns)) |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2969 return NULL; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2970 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2971 result = PyCursesCheckERR(resize_term(lines, columns), "resize_term"); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2972 if (!result) |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2973 return NULL; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2974 if (!update_lines_cols()) |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2975 return NULL; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2976 return result; |
|
39442
654c380cf8b9
Merged revisions 46753-51188 via svnmerge from
Thomas Wouters <thomas@python.org>
parents:
36675
diff
changeset
|
2977 } |
|
654c380cf8b9
Merged revisions 46753-51188 via svnmerge from
Thomas Wouters <thomas@python.org>
parents:
36675
diff
changeset
|
2978 #endif /* HAVE_CURSES_RESIZE_TERM */ |
|
654c380cf8b9
Merged revisions 46753-51188 via svnmerge from
Thomas Wouters <thomas@python.org>
parents:
36675
diff
changeset
|
2979 |
|
12737
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
2980 static PyObject * |
|
13465
8e92d941e07f
Patch from Peter Schneider-Kamp: convert curses module to ANSI prototypes,
Andrew M. Kuchling <amk@amk.ca>
parents:
13388
diff
changeset
|
2981 PyCurses_setsyx(PyObject *self, PyObject *args) |
|
12737
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
2982 { |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2983 int y,x; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2984 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2985 PyCursesInitialised; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2986 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2987 if (PyTuple_Size(args)!=2) { |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2988 PyErr_SetString(PyExc_TypeError, "setsyx requires 2 arguments"); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2989 return NULL; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2990 } |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2991 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2992 if (!PyArg_ParseTuple(args, "ii;y, x", &y, &x)) return NULL; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2993 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2994 setsyx(y,x); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2995 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2996 Py_INCREF(Py_None); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
2997 return Py_None; |
|
1855
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2998 } |
|
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2999 |
|
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
3000 static PyObject * |
|
21756
d60350d71b60
Patch #477752: Drop old-style getargs from curses.
Martin v. Löwis <martin@v.loewis.de>
parents:
21741
diff
changeset
|
3001 PyCurses_Start_Color(PyObject *self) |
|
1855
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
3002 { |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3003 int code; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3004 PyObject *c, *cp; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3005 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3006 PyCursesInitialised; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3007 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3008 code = start_color(); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3009 if (code != ERR) { |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3010 initialisedcolors = TRUE; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3011 c = PyLong_FromLong((long) COLORS); |
|
84829
aedcf7ef8489
Fix possible NULL pointer dereference in PyCurses_Start_Color()
Christian Heimes <christian@cheimes.de>
parents:
83794
diff
changeset
|
3012 if (c == NULL) |
|
aedcf7ef8489
Fix possible NULL pointer dereference in PyCurses_Start_Color()
Christian Heimes <christian@cheimes.de>
parents:
83794
diff
changeset
|
3013 return NULL; |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3014 PyDict_SetItemString(ModDict, "COLORS", c); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3015 Py_DECREF(c); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3016 cp = PyLong_FromLong((long) COLOR_PAIRS); |
|
84829
aedcf7ef8489
Fix possible NULL pointer dereference in PyCurses_Start_Color()
Christian Heimes <christian@cheimes.de>
parents:
83794
diff
changeset
|
3017 if (cp == NULL) |
|
aedcf7ef8489
Fix possible NULL pointer dereference in PyCurses_Start_Color()
Christian Heimes <christian@cheimes.de>
parents:
83794
diff
changeset
|
3018 return NULL; |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3019 PyDict_SetItemString(ModDict, "COLOR_PAIRS", cp); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3020 Py_DECREF(cp); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3021 Py_INCREF(Py_None); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3022 return Py_None; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3023 } else { |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3024 PyErr_SetString(PyCursesError, "start_color() returned ERR"); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3025 return NULL; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3026 } |
|
12737
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
3027 } |
|
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
3028 |
|
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
3029 static PyObject * |
|
13715
06d4225919d4
Added wrappers for tiget{flag,num,str}, for querying terminfo capabilities
Andrew M. Kuchling <amk@amk.ca>
parents:
13708
diff
changeset
|
3030 PyCurses_tigetflag(PyObject *self, PyObject *args) |
|
06d4225919d4
Added wrappers for tiget{flag,num,str}, for querying terminfo capabilities
Andrew M. Kuchling <amk@amk.ca>
parents:
13708
diff
changeset
|
3031 { |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3032 char *capname; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3033 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3034 PyCursesSetupTermCalled; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3035 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3036 if (!PyArg_ParseTuple(args, "s", &capname)) |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3037 return NULL; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3038 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3039 return PyLong_FromLong( (long) tigetflag( capname ) ); |
|
13715
06d4225919d4
Added wrappers for tiget{flag,num,str}, for querying terminfo capabilities
Andrew M. Kuchling <amk@amk.ca>
parents:
13708
diff
changeset
|
3040 } |
|
06d4225919d4
Added wrappers for tiget{flag,num,str}, for querying terminfo capabilities
Andrew M. Kuchling <amk@amk.ca>
parents:
13708
diff
changeset
|
3041 |
|
06d4225919d4
Added wrappers for tiget{flag,num,str}, for querying terminfo capabilities
Andrew M. Kuchling <amk@amk.ca>
parents:
13708
diff
changeset
|
3042 static PyObject * |
|
06d4225919d4
Added wrappers for tiget{flag,num,str}, for querying terminfo capabilities
Andrew M. Kuchling <amk@amk.ca>
parents:
13708
diff
changeset
|
3043 PyCurses_tigetnum(PyObject *self, PyObject *args) |
|
06d4225919d4
Added wrappers for tiget{flag,num,str}, for querying terminfo capabilities
Andrew M. Kuchling <amk@amk.ca>
parents:
13708
diff
changeset
|
3044 { |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3045 char *capname; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3046 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3047 PyCursesSetupTermCalled; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3048 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3049 if (!PyArg_ParseTuple(args, "s", &capname)) |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3050 return NULL; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3051 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3052 return PyLong_FromLong( (long) tigetnum( capname ) ); |
|
13715
06d4225919d4
Added wrappers for tiget{flag,num,str}, for querying terminfo capabilities
Andrew M. Kuchling <amk@amk.ca>
parents:
13708
diff
changeset
|
3053 } |
|
06d4225919d4
Added wrappers for tiget{flag,num,str}, for querying terminfo capabilities
Andrew M. Kuchling <amk@amk.ca>
parents:
13708
diff
changeset
|
3054 |
|
06d4225919d4
Added wrappers for tiget{flag,num,str}, for querying terminfo capabilities
Andrew M. Kuchling <amk@amk.ca>
parents:
13708
diff
changeset
|
3055 static PyObject * |
|
06d4225919d4
Added wrappers for tiget{flag,num,str}, for querying terminfo capabilities
Andrew M. Kuchling <amk@amk.ca>
parents:
13708
diff
changeset
|
3056 PyCurses_tigetstr(PyObject *self, PyObject *args) |
|
06d4225919d4
Added wrappers for tiget{flag,num,str}, for querying terminfo capabilities
Andrew M. Kuchling <amk@amk.ca>
parents:
13708
diff
changeset
|
3057 { |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3058 char *capname; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3059 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3060 PyCursesSetupTermCalled; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3061 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3062 if (!PyArg_ParseTuple(args, "s", &capname)) |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3063 return NULL; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3064 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3065 capname = tigetstr( capname ); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3066 if (capname == 0 || capname == (char*) -1) { |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3067 Py_INCREF(Py_None); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3068 return Py_None; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3069 } |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3070 return PyBytes_FromString( capname ); |
|
13715
06d4225919d4
Added wrappers for tiget{flag,num,str}, for querying terminfo capabilities
Andrew M. Kuchling <amk@amk.ca>
parents:
13708
diff
changeset
|
3071 } |
|
06d4225919d4
Added wrappers for tiget{flag,num,str}, for querying terminfo capabilities
Andrew M. Kuchling <amk@amk.ca>
parents:
13708
diff
changeset
|
3072 |
|
06d4225919d4
Added wrappers for tiget{flag,num,str}, for querying terminfo capabilities
Andrew M. Kuchling <amk@amk.ca>
parents:
13708
diff
changeset
|
3073 static PyObject * |
|
15384
3cb12e0e7acd
Patch #102278: add tparm() function to _curses module
Andrew M. Kuchling <amk@amk.ca>
parents:
15369
diff
changeset
|
3074 PyCurses_tparm(PyObject *self, PyObject *args) |
|
3cb12e0e7acd
Patch #102278: add tparm() function to _curses module
Andrew M. Kuchling <amk@amk.ca>
parents:
15369
diff
changeset
|
3075 { |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3076 char* fmt; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3077 char* result = NULL; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3078 int i1=0,i2=0,i3=0,i4=0,i5=0,i6=0,i7=0,i8=0,i9=0; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3079 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3080 PyCursesSetupTermCalled; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3081 |
|
73311
e41663970ca5
Issue #10570: curses.tigetstr() is now expecting a byte string, instead of a
Victor Stinner <victor.stinner@haypocalc.com>
parents:
68257
diff
changeset
|
3082 if (!PyArg_ParseTuple(args, "y|iiiiiiiii:tparm", |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3083 &fmt, &i1, &i2, &i3, &i4, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3084 &i5, &i6, &i7, &i8, &i9)) { |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3085 return NULL; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3086 } |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3087 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3088 result = tparm(fmt,i1,i2,i3,i4,i5,i6,i7,i8,i9); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3089 if (!result) { |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3090 PyErr_SetString(PyCursesError, "tparm() returned NULL"); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3091 return NULL; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3092 } |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3093 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3094 return PyBytes_FromString(result); |
|
15384
3cb12e0e7acd
Patch #102278: add tparm() function to _curses module
Andrew M. Kuchling <amk@amk.ca>
parents:
15369
diff
changeset
|
3095 } |
|
3cb12e0e7acd
Patch #102278: add tparm() function to _curses module
Andrew M. Kuchling <amk@amk.ca>
parents:
15369
diff
changeset
|
3096 |
|
3cb12e0e7acd
Patch #102278: add tparm() function to _curses module
Andrew M. Kuchling <amk@amk.ca>
parents:
15369
diff
changeset
|
3097 static PyObject * |
|
13465
8e92d941e07f
Patch from Peter Schneider-Kamp: convert curses module to ANSI prototypes,
Andrew M. Kuchling <amk@amk.ca>
parents:
13388
diff
changeset
|
3098 PyCurses_TypeAhead(PyObject *self, PyObject *args) |
|
12974
e7992d0d6808
Added .timeout() method and .typeahead() function
Andrew M. Kuchling <amk@amk.ca>
parents:
12913
diff
changeset
|
3099 { |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3100 int fd; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3101 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3102 PyCursesInitialised; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3103 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3104 if (!PyArg_ParseTuple(args,"i;fd",&fd)) return NULL; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3105 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3106 return PyCursesCheckERR(typeahead( fd ), "typeahead"); |
|
12974
e7992d0d6808
Added .timeout() method and .typeahead() function
Andrew M. Kuchling <amk@amk.ca>
parents:
12913
diff
changeset
|
3107 } |
|
e7992d0d6808
Added .timeout() method and .typeahead() function
Andrew M. Kuchling <amk@amk.ca>
parents:
12913
diff
changeset
|
3108 |
|
e7992d0d6808
Added .timeout() method and .typeahead() function
Andrew M. Kuchling <amk@amk.ca>
parents:
12913
diff
changeset
|
3109 static PyObject * |
|
13465
8e92d941e07f
Patch from Peter Schneider-Kamp: convert curses module to ANSI prototypes,
Andrew M. Kuchling <amk@amk.ca>
parents:
13388
diff
changeset
|
3110 PyCurses_UnCtrl(PyObject *self, PyObject *args) |
|
12737
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
3111 { |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3112 PyObject *temp; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3113 chtype ch; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3114 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3115 PyCursesInitialised; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3116 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3117 if (!PyArg_ParseTuple(args,"O;ch or int",&temp)) return NULL; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3118 |
|
73746
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
3119 if (!PyCurses_ConvertToChtype(NULL, temp, &ch)) |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3120 return NULL; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3121 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3122 return PyBytes_FromString(unctrl(ch)); |
|
1855
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
3123 } |
|
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
3124 |
|
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
3125 static PyObject * |
|
13465
8e92d941e07f
Patch from Peter Schneider-Kamp: convert curses module to ANSI prototypes,
Andrew M. Kuchling <amk@amk.ca>
parents:
13388
diff
changeset
|
3126 PyCurses_UngetCh(PyObject *self, PyObject *args) |
|
1855
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
3127 { |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3128 PyObject *temp; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3129 chtype ch; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3130 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3131 PyCursesInitialised; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3132 |
|
73746
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
3133 if (!PyArg_ParseTuple(args,"O;ch or int",&temp)) |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3134 return NULL; |
|
73746
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
3135 |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
3136 if (!PyCurses_ConvertToChtype(NULL, temp, &ch)) |
|
c3581ca21a57
Issue #12567: The curses module uses Unicode functions for Unicode arguments
Victor Stinner <victor.stinner@haypocalc.com>
parents:
73332
diff
changeset
|
3137 return NULL; |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3138 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3139 return PyCursesCheckERR(ungetch(ch), "ungetch"); |
|
1855
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
3140 } |
|
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
3141 |
|
72297
b1e03d10391e
Issue #12567: Add curses.unget_wch() function
Victor Stinner <victor.stinner@haypocalc.com>
parents:
71656
diff
changeset
|
3142 #ifdef HAVE_NCURSESW |
|
b1e03d10391e
Issue #12567: Add curses.unget_wch() function
Victor Stinner <victor.stinner@haypocalc.com>
parents:
71656
diff
changeset
|
3143 /* Convert an object to a character (wchar_t): |
|
b1e03d10391e
Issue #12567: Add curses.unget_wch() function
Victor Stinner <victor.stinner@haypocalc.com>
parents:
71656
diff
changeset
|
3144 |
|
b1e03d10391e
Issue #12567: Add curses.unget_wch() function
Victor Stinner <victor.stinner@haypocalc.com>
parents:
71656
diff
changeset
|
3145 - int |
|
b1e03d10391e
Issue #12567: Add curses.unget_wch() function
Victor Stinner <victor.stinner@haypocalc.com>
parents:
71656
diff
changeset
|
3146 - str of length 1 |
|
b1e03d10391e
Issue #12567: Add curses.unget_wch() function
Victor Stinner <victor.stinner@haypocalc.com>
parents:
71656
diff
changeset
|
3147 |
|
b1e03d10391e
Issue #12567: Add curses.unget_wch() function
Victor Stinner <victor.stinner@haypocalc.com>
parents:
71656
diff
changeset
|
3148 Return 1 on success, 0 on error. */ |
|
b1e03d10391e
Issue #12567: Add curses.unget_wch() function
Victor Stinner <victor.stinner@haypocalc.com>
parents:
71656
diff
changeset
|
3149 static int |
|
b1e03d10391e
Issue #12567: Add curses.unget_wch() function
Victor Stinner <victor.stinner@haypocalc.com>
parents:
71656
diff
changeset
|
3150 PyCurses_ConvertToWchar_t(PyObject *obj, |
|
b1e03d10391e
Issue #12567: Add curses.unget_wch() function
Victor Stinner <victor.stinner@haypocalc.com>
parents:
71656
diff
changeset
|
3151 wchar_t *wch) |
|
b1e03d10391e
Issue #12567: Add curses.unget_wch() function
Victor Stinner <victor.stinner@haypocalc.com>
parents:
71656
diff
changeset
|
3152 { |
|
b1e03d10391e
Issue #12567: Add curses.unget_wch() function
Victor Stinner <victor.stinner@haypocalc.com>
parents:
71656
diff
changeset
|
3153 if (PyUnicode_Check(obj)) { |
|
b1e03d10391e
Issue #12567: Add curses.unget_wch() function
Victor Stinner <victor.stinner@haypocalc.com>
parents:
71656
diff
changeset
|
3154 wchar_t buffer[2]; |
|
b1e03d10391e
Issue #12567: Add curses.unget_wch() function
Victor Stinner <victor.stinner@haypocalc.com>
parents:
71656
diff
changeset
|
3155 if (PyUnicode_AsWideChar(obj, buffer, 2) != 1) { |
|
b1e03d10391e
Issue #12567: Add curses.unget_wch() function
Victor Stinner <victor.stinner@haypocalc.com>
parents:
71656
diff
changeset
|
3156 PyErr_Format(PyExc_TypeError, |
|
b1e03d10391e
Issue #12567: Add curses.unget_wch() function
Victor Stinner <victor.stinner@haypocalc.com>
parents:
71656
diff
changeset
|
3157 "expect bytes or str of length 1, or int, " |
|
b1e03d10391e
Issue #12567: Add curses.unget_wch() function
Victor Stinner <victor.stinner@haypocalc.com>
parents:
71656
diff
changeset
|
3158 "got a str of length %zi", |
|
72863
afa42c04f0a3
Fix misuse of PyUnicode_GET_SIZE, use PyUnicode_GET_LENGTH instead
Victor Stinner <victor.stinner@haypocalc.com>
parents:
72835
diff
changeset
|
3159 PyUnicode_GET_LENGTH(obj)); |
|
72297
b1e03d10391e
Issue #12567: Add curses.unget_wch() function
Victor Stinner <victor.stinner@haypocalc.com>
parents:
71656
diff
changeset
|
3160 return 0; |
|
b1e03d10391e
Issue #12567: Add curses.unget_wch() function
Victor Stinner <victor.stinner@haypocalc.com>
parents:
71656
diff
changeset
|
3161 } |
|
b1e03d10391e
Issue #12567: Add curses.unget_wch() function
Victor Stinner <victor.stinner@haypocalc.com>
parents:
71656
diff
changeset
|
3162 *wch = buffer[0]; |
|
b1e03d10391e
Issue #12567: Add curses.unget_wch() function
Victor Stinner <victor.stinner@haypocalc.com>
parents:
71656
diff
changeset
|
3163 return 2; |
|
b1e03d10391e
Issue #12567: Add curses.unget_wch() function
Victor Stinner <victor.stinner@haypocalc.com>
parents:
71656
diff
changeset
|
3164 } |
|
b1e03d10391e
Issue #12567: Add curses.unget_wch() function
Victor Stinner <victor.stinner@haypocalc.com>
parents:
71656
diff
changeset
|
3165 else if (PyLong_CheckExact(obj)) { |
|
b1e03d10391e
Issue #12567: Add curses.unget_wch() function
Victor Stinner <victor.stinner@haypocalc.com>
parents:
71656
diff
changeset
|
3166 long value; |
|
b1e03d10391e
Issue #12567: Add curses.unget_wch() function
Victor Stinner <victor.stinner@haypocalc.com>
parents:
71656
diff
changeset
|
3167 int overflow; |
|
b1e03d10391e
Issue #12567: Add curses.unget_wch() function
Victor Stinner <victor.stinner@haypocalc.com>
parents:
71656
diff
changeset
|
3168 value = PyLong_AsLongAndOverflow(obj, &overflow); |
|
b1e03d10391e
Issue #12567: Add curses.unget_wch() function
Victor Stinner <victor.stinner@haypocalc.com>
parents:
71656
diff
changeset
|
3169 if (overflow) { |
|
b1e03d10391e
Issue #12567: Add curses.unget_wch() function
Victor Stinner <victor.stinner@haypocalc.com>
parents:
71656
diff
changeset
|
3170 PyErr_SetString(PyExc_OverflowError, |
|
b1e03d10391e
Issue #12567: Add curses.unget_wch() function
Victor Stinner <victor.stinner@haypocalc.com>
parents:
71656
diff
changeset
|
3171 "int doesn't fit in long"); |
|
b1e03d10391e
Issue #12567: Add curses.unget_wch() function
Victor Stinner <victor.stinner@haypocalc.com>
parents:
71656
diff
changeset
|
3172 return 0; |
|
b1e03d10391e
Issue #12567: Add curses.unget_wch() function
Victor Stinner <victor.stinner@haypocalc.com>
parents:
71656
diff
changeset
|
3173 } |
|
b1e03d10391e
Issue #12567: Add curses.unget_wch() function
Victor Stinner <victor.stinner@haypocalc.com>
parents:
71656
diff
changeset
|
3174 *wch = (wchar_t)value; |
|
b1e03d10391e
Issue #12567: Add curses.unget_wch() function
Victor Stinner <victor.stinner@haypocalc.com>
parents:
71656
diff
changeset
|
3175 if ((long)*wch != value) { |
|
b1e03d10391e
Issue #12567: Add curses.unget_wch() function
Victor Stinner <victor.stinner@haypocalc.com>
parents:
71656
diff
changeset
|
3176 PyErr_Format(PyExc_OverflowError, |
|
b1e03d10391e
Issue #12567: Add curses.unget_wch() function
Victor Stinner <victor.stinner@haypocalc.com>
parents:
71656
diff
changeset
|
3177 "character doesn't fit in wchar_t"); |
|
b1e03d10391e
Issue #12567: Add curses.unget_wch() function
Victor Stinner <victor.stinner@haypocalc.com>
parents:
71656
diff
changeset
|
3178 return 0; |
|
b1e03d10391e
Issue #12567: Add curses.unget_wch() function
Victor Stinner <victor.stinner@haypocalc.com>
parents:
71656
diff
changeset
|
3179 } |
|
b1e03d10391e
Issue #12567: Add curses.unget_wch() function
Victor Stinner <victor.stinner@haypocalc.com>
parents:
71656
diff
changeset
|
3180 return 1; |
|
b1e03d10391e
Issue #12567: Add curses.unget_wch() function
Victor Stinner <victor.stinner@haypocalc.com>
parents:
71656
diff
changeset
|
3181 } |
|
b1e03d10391e
Issue #12567: Add curses.unget_wch() function
Victor Stinner <victor.stinner@haypocalc.com>
parents:
71656
diff
changeset
|
3182 else { |
|
b1e03d10391e
Issue #12567: Add curses.unget_wch() function
Victor Stinner <victor.stinner@haypocalc.com>
parents:
71656
diff
changeset
|
3183 PyErr_Format(PyExc_TypeError, |
|
b1e03d10391e
Issue #12567: Add curses.unget_wch() function
Victor Stinner <victor.stinner@haypocalc.com>
parents:
71656
diff
changeset
|
3184 "expect bytes or str of length 1, or int, got %s", |
|
b1e03d10391e
Issue #12567: Add curses.unget_wch() function
Victor Stinner <victor.stinner@haypocalc.com>
parents:
71656
diff
changeset
|
3185 Py_TYPE(obj)->tp_name); |
|
b1e03d10391e
Issue #12567: Add curses.unget_wch() function
Victor Stinner <victor.stinner@haypocalc.com>
parents:
71656
diff
changeset
|
3186 return 0; |
|
b1e03d10391e
Issue #12567: Add curses.unget_wch() function
Victor Stinner <victor.stinner@haypocalc.com>
parents:
71656
diff
changeset
|
3187 } |
|
b1e03d10391e
Issue #12567: Add curses.unget_wch() function
Victor Stinner <victor.stinner@haypocalc.com>
parents:
71656
diff
changeset
|
3188 } |
|
b1e03d10391e
Issue #12567: Add curses.unget_wch() function
Victor Stinner <victor.stinner@haypocalc.com>
parents:
71656
diff
changeset
|
3189 |
|
b1e03d10391e
Issue #12567: Add curses.unget_wch() function
Victor Stinner <victor.stinner@haypocalc.com>
parents:
71656
diff
changeset
|
3190 static PyObject * |
|
b1e03d10391e
Issue #12567: Add curses.unget_wch() function
Victor Stinner <victor.stinner@haypocalc.com>
parents:
71656
diff
changeset
|
3191 PyCurses_Unget_Wch(PyObject *self, PyObject *args) |
|
b1e03d10391e
Issue #12567: Add curses.unget_wch() function
Victor Stinner <victor.stinner@haypocalc.com>
parents:
71656
diff
changeset
|
3192 { |
|
b1e03d10391e
Issue #12567: Add curses.unget_wch() function
Victor Stinner <victor.stinner@haypocalc.com>
parents:
71656
diff
changeset
|
3193 PyObject *obj; |
|
b1e03d10391e
Issue #12567: Add curses.unget_wch() function
Victor Stinner <victor.stinner@haypocalc.com>
parents:
71656
diff
changeset
|
3194 wchar_t wch; |
|
b1e03d10391e
Issue #12567: Add curses.unget_wch() function
Victor Stinner <victor.stinner@haypocalc.com>
parents:
71656
diff
changeset
|
3195 |
|
b1e03d10391e
Issue #12567: Add curses.unget_wch() function
Victor Stinner <victor.stinner@haypocalc.com>
parents:
71656
diff
changeset
|
3196 PyCursesInitialised; |
|
b1e03d10391e
Issue #12567: Add curses.unget_wch() function
Victor Stinner <victor.stinner@haypocalc.com>
parents:
71656
diff
changeset
|
3197 |
|
b1e03d10391e
Issue #12567: Add curses.unget_wch() function
Victor Stinner <victor.stinner@haypocalc.com>
parents:
71656
diff
changeset
|
3198 if (!PyArg_ParseTuple(args,"O", &obj)) |
|
b1e03d10391e
Issue #12567: Add curses.unget_wch() function
Victor Stinner <victor.stinner@haypocalc.com>
parents:
71656
diff
changeset
|
3199 return NULL; |
|
b1e03d10391e
Issue #12567: Add curses.unget_wch() function
Victor Stinner <victor.stinner@haypocalc.com>
parents:
71656
diff
changeset
|
3200 |
|
b1e03d10391e
Issue #12567: Add curses.unget_wch() function
Victor Stinner <victor.stinner@haypocalc.com>
parents:
71656
diff
changeset
|
3201 if (!PyCurses_ConvertToWchar_t(obj, &wch)) |
|
b1e03d10391e
Issue #12567: Add curses.unget_wch() function
Victor Stinner <victor.stinner@haypocalc.com>
parents:
71656
diff
changeset
|
3202 return NULL; |
|
b1e03d10391e
Issue #12567: Add curses.unget_wch() function
Victor Stinner <victor.stinner@haypocalc.com>
parents:
71656
diff
changeset
|
3203 return PyCursesCheckERR(unget_wch(wch), "unget_wch"); |
|
b1e03d10391e
Issue #12567: Add curses.unget_wch() function
Victor Stinner <victor.stinner@haypocalc.com>
parents:
71656
diff
changeset
|
3204 } |
|
b1e03d10391e
Issue #12567: Add curses.unget_wch() function
Victor Stinner <victor.stinner@haypocalc.com>
parents:
71656
diff
changeset
|
3205 #endif |
|
b1e03d10391e
Issue #12567: Add curses.unget_wch() function
Victor Stinner <victor.stinner@haypocalc.com>
parents:
71656
diff
changeset
|
3206 |
|
1855
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
3207 static PyObject * |
|
13465
8e92d941e07f
Patch from Peter Schneider-Kamp: convert curses module to ANSI prototypes,
Andrew M. Kuchling <amk@amk.ca>
parents:
13388
diff
changeset
|
3208 PyCurses_Use_Env(PyObject *self, PyObject *args) |
|
1855
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
3209 { |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3210 int flag; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3211 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3212 switch(PyTuple_Size(args)) { |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3213 case 1: |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3214 if (!PyArg_ParseTuple(args,"i;True(1), False(0)",&flag)) |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3215 return NULL; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3216 break; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3217 default: |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3218 PyErr_SetString(PyExc_TypeError, "use_env requires 1 argument"); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3219 return NULL; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3220 } |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3221 use_env(flag); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3222 Py_INCREF(Py_None); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3223 return Py_None; |
|
1855
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
3224 } |
|
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
3225 |
|
30140
f3654c5ada94
[Patch #739124] Add use_default_colors() to curses module
Andrew M. Kuchling <amk@amk.ca>
parents:
26313
diff
changeset
|
3226 #ifndef STRICT_SYSV_CURSES |
|
f3654c5ada94
[Patch #739124] Add use_default_colors() to curses module
Andrew M. Kuchling <amk@amk.ca>
parents:
26313
diff
changeset
|
3227 static PyObject * |
|
f3654c5ada94
[Patch #739124] Add use_default_colors() to curses module
Andrew M. Kuchling <amk@amk.ca>
parents:
26313
diff
changeset
|
3228 PyCurses_Use_Default_Colors(PyObject *self) |
|
f3654c5ada94
[Patch #739124] Add use_default_colors() to curses module
Andrew M. Kuchling <amk@amk.ca>
parents:
26313
diff
changeset
|
3229 { |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3230 int code; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3231 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3232 PyCursesInitialised; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3233 PyCursesInitialisedColor; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3234 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3235 code = use_default_colors(); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3236 if (code != ERR) { |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3237 Py_INCREF(Py_None); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3238 return Py_None; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3239 } else { |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3240 PyErr_SetString(PyCursesError, "use_default_colors() returned ERR"); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3241 return NULL; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3242 } |
|
30140
f3654c5ada94
[Patch #739124] Add use_default_colors() to curses module
Andrew M. Kuchling <amk@amk.ca>
parents:
26313
diff
changeset
|
3243 } |
|
f3654c5ada94
[Patch #739124] Add use_default_colors() to curses module
Andrew M. Kuchling <amk@amk.ca>
parents:
26313
diff
changeset
|
3244 #endif /* STRICT_SYSV_CURSES */ |
|
f3654c5ada94
[Patch #739124] Add use_default_colors() to curses module
Andrew M. Kuchling <amk@amk.ca>
parents:
26313
diff
changeset
|
3245 |
|
1855
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
3246 /* List of functions defined in the module */ |
|
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
3247 |
|
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
3248 static PyMethodDef PyCurses_methods[] = { |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3249 {"baudrate", (PyCFunction)PyCurses_baudrate, METH_NOARGS}, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3250 {"beep", (PyCFunction)PyCurses_beep, METH_NOARGS}, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3251 {"can_change_color", (PyCFunction)PyCurses_can_change_color, METH_NOARGS}, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3252 {"cbreak", (PyCFunction)PyCurses_cbreak, METH_VARARGS}, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3253 {"color_content", (PyCFunction)PyCurses_Color_Content, METH_VARARGS}, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3254 {"color_pair", (PyCFunction)PyCurses_color_pair, METH_VARARGS}, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3255 {"curs_set", (PyCFunction)PyCurses_Curs_Set, METH_VARARGS}, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3256 {"def_prog_mode", (PyCFunction)PyCurses_def_prog_mode, METH_NOARGS}, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3257 {"def_shell_mode", (PyCFunction)PyCurses_def_shell_mode, METH_NOARGS}, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3258 {"delay_output", (PyCFunction)PyCurses_Delay_Output, METH_VARARGS}, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3259 {"doupdate", (PyCFunction)PyCurses_doupdate, METH_NOARGS}, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3260 {"echo", (PyCFunction)PyCurses_echo, METH_VARARGS}, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3261 {"endwin", (PyCFunction)PyCurses_endwin, METH_NOARGS}, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3262 {"erasechar", (PyCFunction)PyCurses_EraseChar, METH_NOARGS}, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3263 {"filter", (PyCFunction)PyCurses_filter, METH_NOARGS}, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3264 {"flash", (PyCFunction)PyCurses_flash, METH_NOARGS}, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3265 {"flushinp", (PyCFunction)PyCurses_flushinp, METH_NOARGS}, |
|
13036
c09a570eb6eb
Added support for mouse functions: mousemask(), mouseinterval(),
Andrew M. Kuchling <amk@amk.ca>
parents:
12988
diff
changeset
|
3266 #ifdef NCURSES_MOUSE_VERSION |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3267 {"getmouse", (PyCFunction)PyCurses_GetMouse, METH_NOARGS}, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3268 {"ungetmouse", (PyCFunction)PyCurses_UngetMouse, METH_VARARGS}, |
|
13036
c09a570eb6eb
Added support for mouse functions: mousemask(), mouseinterval(),
Andrew M. Kuchling <amk@amk.ca>
parents:
12988
diff
changeset
|
3269 #endif |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3270 {"getsyx", (PyCFunction)PyCurses_getsyx, METH_NOARGS}, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3271 {"getwin", (PyCFunction)PyCurses_GetWin, METH_O}, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3272 {"has_colors", (PyCFunction)PyCurses_has_colors, METH_NOARGS}, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3273 {"has_ic", (PyCFunction)PyCurses_has_ic, METH_NOARGS}, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3274 {"has_il", (PyCFunction)PyCurses_has_il, METH_NOARGS}, |
|
13708
fe89ea1c9108
Modified version of patch #100963 from Mark Favas: has_key() is an
Andrew M. Kuchling <amk@amk.ca>
parents:
13706
diff
changeset
|
3275 #ifndef STRICT_SYSV_CURSES |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3276 {"has_key", (PyCFunction)PyCurses_has_key, METH_VARARGS}, |
|
1855
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
3277 #endif |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3278 {"halfdelay", (PyCFunction)PyCurses_HalfDelay, METH_VARARGS}, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3279 {"init_color", (PyCFunction)PyCurses_Init_Color, METH_VARARGS}, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3280 {"init_pair", (PyCFunction)PyCurses_Init_Pair, METH_VARARGS}, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3281 {"initscr", (PyCFunction)PyCurses_InitScr, METH_NOARGS}, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3282 {"intrflush", (PyCFunction)PyCurses_IntrFlush, METH_VARARGS}, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3283 {"isendwin", (PyCFunction)PyCurses_isendwin, METH_NOARGS}, |
|
39442
654c380cf8b9
Merged revisions 46753-51188 via svnmerge from
Thomas Wouters <thomas@python.org>
parents:
36675
diff
changeset
|
3284 #ifdef HAVE_CURSES_IS_TERM_RESIZED |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3285 {"is_term_resized", (PyCFunction)PyCurses_Is_Term_Resized, METH_VARARGS}, |
|
39442
654c380cf8b9
Merged revisions 46753-51188 via svnmerge from
Thomas Wouters <thomas@python.org>
parents:
36675
diff
changeset
|
3286 #endif |
|
16351
ef32bfa5f5c6
Patch #103485 from Donn Cave: patches to make the module compile on AIX and
Andrew M. Kuchling <amk@amk.ca>
parents:
16350
diff
changeset
|
3287 #if !defined(__NetBSD__) |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3288 {"keyname", (PyCFunction)PyCurses_KeyName, METH_VARARGS}, |
|
16351
ef32bfa5f5c6
Patch #103485 from Donn Cave: patches to make the module compile on AIX and
Andrew M. Kuchling <amk@amk.ca>
parents:
16350
diff
changeset
|
3289 #endif |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3290 {"killchar", (PyCFunction)PyCurses_KillChar, METH_NOARGS}, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3291 {"longname", (PyCFunction)PyCurses_longname, METH_NOARGS}, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3292 {"meta", (PyCFunction)PyCurses_Meta, METH_VARARGS}, |
|
13036
c09a570eb6eb
Added support for mouse functions: mousemask(), mouseinterval(),
Andrew M. Kuchling <amk@amk.ca>
parents:
12988
diff
changeset
|
3293 #ifdef NCURSES_MOUSE_VERSION |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3294 {"mouseinterval", (PyCFunction)PyCurses_MouseInterval, METH_VARARGS}, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3295 {"mousemask", (PyCFunction)PyCurses_MouseMask, METH_VARARGS}, |
|
13036
c09a570eb6eb
Added support for mouse functions: mousemask(), mouseinterval(),
Andrew M. Kuchling <amk@amk.ca>
parents:
12988
diff
changeset
|
3296 #endif |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3297 {"napms", (PyCFunction)PyCurses_Napms, METH_VARARGS}, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3298 {"newpad", (PyCFunction)PyCurses_NewPad, METH_VARARGS}, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3299 {"newwin", (PyCFunction)PyCurses_NewWindow, METH_VARARGS}, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3300 {"nl", (PyCFunction)PyCurses_nl, METH_VARARGS}, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3301 {"nocbreak", (PyCFunction)PyCurses_nocbreak, METH_NOARGS}, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3302 {"noecho", (PyCFunction)PyCurses_noecho, METH_NOARGS}, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3303 {"nonl", (PyCFunction)PyCurses_nonl, METH_NOARGS}, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3304 {"noqiflush", (PyCFunction)PyCurses_noqiflush, METH_NOARGS}, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3305 {"noraw", (PyCFunction)PyCurses_noraw, METH_NOARGS}, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3306 {"pair_content", (PyCFunction)PyCurses_Pair_Content, METH_VARARGS}, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3307 {"pair_number", (PyCFunction)PyCurses_pair_number, METH_VARARGS}, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3308 {"putp", (PyCFunction)PyCurses_Putp, METH_VARARGS}, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3309 {"qiflush", (PyCFunction)PyCurses_QiFlush, METH_VARARGS}, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3310 {"raw", (PyCFunction)PyCurses_raw, METH_VARARGS}, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3311 {"reset_prog_mode", (PyCFunction)PyCurses_reset_prog_mode, METH_NOARGS}, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3312 {"reset_shell_mode", (PyCFunction)PyCurses_reset_shell_mode, METH_NOARGS}, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3313 {"resetty", (PyCFunction)PyCurses_resetty, METH_NOARGS}, |
|
39442
654c380cf8b9
Merged revisions 46753-51188 via svnmerge from
Thomas Wouters <thomas@python.org>
parents:
36675
diff
changeset
|
3314 #ifdef HAVE_CURSES_RESIZETERM |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3315 {"resizeterm", (PyCFunction)PyCurses_ResizeTerm, METH_VARARGS}, |
|
39442
654c380cf8b9
Merged revisions 46753-51188 via svnmerge from
Thomas Wouters <thomas@python.org>
parents:
36675
diff
changeset
|
3316 #endif |
|
654c380cf8b9
Merged revisions 46753-51188 via svnmerge from
Thomas Wouters <thomas@python.org>
parents:
36675
diff
changeset
|
3317 #ifdef HAVE_CURSES_RESIZE_TERM |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3318 {"resize_term", (PyCFunction)PyCurses_Resize_Term, METH_VARARGS}, |
|
39442
654c380cf8b9
Merged revisions 46753-51188 via svnmerge from
Thomas Wouters <thomas@python.org>
parents:
36675
diff
changeset
|
3319 #endif |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3320 {"savetty", (PyCFunction)PyCurses_savetty, METH_NOARGS}, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3321 {"setsyx", (PyCFunction)PyCurses_setsyx, METH_VARARGS}, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3322 {"setupterm", (PyCFunction)PyCurses_setupterm, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3323 METH_VARARGS|METH_KEYWORDS}, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3324 {"start_color", (PyCFunction)PyCurses_Start_Color, METH_NOARGS}, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3325 {"termattrs", (PyCFunction)PyCurses_termattrs, METH_NOARGS}, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3326 {"termname", (PyCFunction)PyCurses_termname, METH_NOARGS}, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3327 {"tigetflag", (PyCFunction)PyCurses_tigetflag, METH_VARARGS}, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3328 {"tigetnum", (PyCFunction)PyCurses_tigetnum, METH_VARARGS}, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3329 {"tigetstr", (PyCFunction)PyCurses_tigetstr, METH_VARARGS}, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3330 {"tparm", (PyCFunction)PyCurses_tparm, METH_VARARGS}, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3331 {"typeahead", (PyCFunction)PyCurses_TypeAhead, METH_VARARGS}, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3332 {"unctrl", (PyCFunction)PyCurses_UnCtrl, METH_VARARGS}, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3333 {"ungetch", (PyCFunction)PyCurses_UngetCh, METH_VARARGS}, |
|
72297
b1e03d10391e
Issue #12567: Add curses.unget_wch() function
Victor Stinner <victor.stinner@haypocalc.com>
parents:
71656
diff
changeset
|
3334 #ifdef HAVE_NCURSESW |
|
b1e03d10391e
Issue #12567: Add curses.unget_wch() function
Victor Stinner <victor.stinner@haypocalc.com>
parents:
71656
diff
changeset
|
3335 {"unget_wch", (PyCFunction)PyCurses_Unget_Wch, METH_VARARGS}, |
|
b1e03d10391e
Issue #12567: Add curses.unget_wch() function
Victor Stinner <victor.stinner@haypocalc.com>
parents:
71656
diff
changeset
|
3336 #endif |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3337 {"use_env", (PyCFunction)PyCurses_Use_Env, METH_VARARGS}, |
|
30140
f3654c5ada94
[Patch #739124] Add use_default_colors() to curses module
Andrew M. Kuchling <amk@amk.ca>
parents:
26313
diff
changeset
|
3338 #ifndef STRICT_SYSV_CURSES |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3339 {"use_default_colors", (PyCFunction)PyCurses_Use_Default_Colors, METH_NOARGS}, |
|
30140
f3654c5ada94
[Patch #739124] Add use_default_colors() to curses module
Andrew M. Kuchling <amk@amk.ca>
parents:
26313
diff
changeset
|
3340 #endif |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3341 {NULL, NULL} /* sentinel */ |
|
1855
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
3342 }; |
|
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
3343 |
|
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
3344 /* Initialization function for the module */ |
|
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
3345 |
|
47580
94f64f11fdd0
Implement PEP 3121: new module initialization and finalization API.
Martin v. Löwis <martin@v.loewis.de>
parents:
47301
diff
changeset
|
3346 |
|
94f64f11fdd0
Implement PEP 3121: new module initialization and finalization API.
Martin v. Löwis <martin@v.loewis.de>
parents:
47301
diff
changeset
|
3347 static struct PyModuleDef _cursesmodule = { |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3348 PyModuleDef_HEAD_INIT, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3349 "_curses", |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3350 NULL, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3351 -1, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3352 PyCurses_methods, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3353 NULL, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3354 NULL, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3355 NULL, |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3356 NULL |
|
47580
94f64f11fdd0
Implement PEP 3121: new module initialization and finalization API.
Martin v. Löwis <martin@v.loewis.de>
parents:
47301
diff
changeset
|
3357 }; |
|
94f64f11fdd0
Implement PEP 3121: new module initialization and finalization API.
Martin v. Löwis <martin@v.loewis.de>
parents:
47301
diff
changeset
|
3358 |
|
24471
f66b3a3509c7
Excise DL_EXPORT/DL_IMPORT from Modules/*. Required adding a prototype
Mark Hammond <mhammond@skippinet.com.au>
parents:
21845
diff
changeset
|
3359 PyMODINIT_FUNC |
|
47580
94f64f11fdd0
Implement PEP 3121: new module initialization and finalization API.
Martin v. Löwis <martin@v.loewis.de>
parents:
47301
diff
changeset
|
3360 PyInit__curses(void) |
|
1855
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
3361 { |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3362 PyObject *m, *d, *v, *c_api_object; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3363 static void *PyCurses_API[PyCurses_API_pointers]; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3364 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3365 /* Initialize object type */ |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3366 if (PyType_Ready(&PyCursesWindow_Type) < 0) |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3367 return NULL; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3368 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3369 /* Initialize the C API pointer array */ |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3370 PyCurses_API[0] = (void *)&PyCursesWindow_Type; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3371 PyCurses_API[1] = (void *)func_PyCursesSetupTermCalled; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3372 PyCurses_API[2] = (void *)func_PyCursesInitialised; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3373 PyCurses_API[3] = (void *)func_PyCursesInitialisedColor; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3374 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3375 /* Create the module and add the functions */ |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3376 m = PyModule_Create(&_cursesmodule); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3377 if (m == NULL) |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3378 return NULL; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3379 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3380 /* Add some symbolic constants to the module */ |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3381 d = PyModule_GetDict(m); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3382 if (d == NULL) |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3383 return NULL; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3384 ModDict = d; /* For PyCurses_InitScr to use later */ |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3385 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3386 /* Add a capsule for the C API */ |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3387 c_api_object = PyCapsule_New(PyCurses_API, PyCurses_CAPSULE_NAME, NULL); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3388 PyDict_SetItemString(d, "_C_API", c_api_object); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3389 Py_DECREF(c_api_object); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3390 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3391 /* For exception curses.error */ |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3392 PyCursesError = PyErr_NewException("_curses.error", NULL, NULL); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3393 PyDict_SetItemString(d, "error", PyCursesError); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3394 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3395 /* Make the version available */ |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3396 v = PyBytes_FromString(PyCursesVersion); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3397 PyDict_SetItemString(d, "version", v); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3398 PyDict_SetItemString(d, "__version__", v); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3399 Py_DECREF(v); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3400 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3401 SetDictInt("ERR", ERR); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3402 SetDictInt("OK", OK); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3403 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3404 /* Here are some attributes you can add to chars to print */ |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3405 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3406 SetDictInt("A_ATTRIBUTES", A_ATTRIBUTES); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3407 SetDictInt("A_NORMAL", A_NORMAL); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3408 SetDictInt("A_STANDOUT", A_STANDOUT); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3409 SetDictInt("A_UNDERLINE", A_UNDERLINE); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3410 SetDictInt("A_REVERSE", A_REVERSE); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3411 SetDictInt("A_BLINK", A_BLINK); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3412 SetDictInt("A_DIM", A_DIM); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3413 SetDictInt("A_BOLD", A_BOLD); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3414 SetDictInt("A_ALTCHARSET", A_ALTCHARSET); |
|
16351
ef32bfa5f5c6
Patch #103485 from Donn Cave: patches to make the module compile on AIX and
Andrew M. Kuchling <amk@amk.ca>
parents:
16350
diff
changeset
|
3415 #if !defined(__NetBSD__) |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3416 SetDictInt("A_INVIS", A_INVIS); |
|
16351
ef32bfa5f5c6
Patch #103485 from Donn Cave: patches to make the module compile on AIX and
Andrew M. Kuchling <amk@amk.ca>
parents:
16350
diff
changeset
|
3417 #endif |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3418 SetDictInt("A_PROTECT", A_PROTECT); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3419 SetDictInt("A_CHARTEXT", A_CHARTEXT); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3420 SetDictInt("A_COLOR", A_COLOR); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3421 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3422 /* The following are never available with strict SYSV curses */ |
|
15369
3abcb6966617
Patch from Randall Hopper to fix PR #116172, "curses module fails to
Andrew M. Kuchling <amk@amk.ca>
parents:
14334
diff
changeset
|
3423 #ifdef A_HORIZONTAL |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3424 SetDictInt("A_HORIZONTAL", A_HORIZONTAL); |
|
15369
3abcb6966617
Patch from Randall Hopper to fix PR #116172, "curses module fails to
Andrew M. Kuchling <amk@amk.ca>
parents:
14334
diff
changeset
|
3425 #endif |
|
3abcb6966617
Patch from Randall Hopper to fix PR #116172, "curses module fails to
Andrew M. Kuchling <amk@amk.ca>
parents:
14334
diff
changeset
|
3426 #ifdef A_LEFT |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3427 SetDictInt("A_LEFT", A_LEFT); |
|
15369
3abcb6966617
Patch from Randall Hopper to fix PR #116172, "curses module fails to
Andrew M. Kuchling <amk@amk.ca>
parents:
14334
diff
changeset
|
3428 #endif |
|
3abcb6966617
Patch from Randall Hopper to fix PR #116172, "curses module fails to
Andrew M. Kuchling <amk@amk.ca>
parents:
14334
diff
changeset
|
3429 #ifdef A_LOW |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3430 SetDictInt("A_LOW", A_LOW); |
|
15369
3abcb6966617
Patch from Randall Hopper to fix PR #116172, "curses module fails to
Andrew M. Kuchling <amk@amk.ca>
parents:
14334
diff
changeset
|
3431 #endif |
|
3abcb6966617
Patch from Randall Hopper to fix PR #116172, "curses module fails to
Andrew M. Kuchling <amk@amk.ca>
parents:
14334
diff
changeset
|
3432 #ifdef A_RIGHT |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3433 SetDictInt("A_RIGHT", A_RIGHT); |
|
15369
3abcb6966617
Patch from Randall Hopper to fix PR #116172, "curses module fails to
Andrew M. Kuchling <amk@amk.ca>
parents:
14334
diff
changeset
|
3434 #endif |
|
3abcb6966617
Patch from Randall Hopper to fix PR #116172, "curses module fails to
Andrew M. Kuchling <amk@amk.ca>
parents:
14334
diff
changeset
|
3435 #ifdef A_TOP |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3436 SetDictInt("A_TOP", A_TOP); |
|
15369
3abcb6966617
Patch from Randall Hopper to fix PR #116172, "curses module fails to
Andrew M. Kuchling <amk@amk.ca>
parents:
14334
diff
changeset
|
3437 #endif |
|
3abcb6966617
Patch from Randall Hopper to fix PR #116172, "curses module fails to
Andrew M. Kuchling <amk@amk.ca>
parents:
14334
diff
changeset
|
3438 #ifdef A_VERTICAL |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3439 SetDictInt("A_VERTICAL", A_VERTICAL); |
|
12737
77a5a14695b3
Oliver Andrich's ncurses-specific curses module, version 1.5b1
Andrew M. Kuchling <amk@amk.ca>
parents:
12576
diff
changeset
|
3440 #endif |
|
12738
3d26cb3808a7
Changes by AMK: Use HAVE_NCURSES_H to include correct header file
Andrew M. Kuchling <amk@amk.ca>
parents:
12737
diff
changeset
|
3441 |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3442 SetDictInt("COLOR_BLACK", COLOR_BLACK); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3443 SetDictInt("COLOR_RED", COLOR_RED); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3444 SetDictInt("COLOR_GREEN", COLOR_GREEN); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3445 SetDictInt("COLOR_YELLOW", COLOR_YELLOW); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3446 SetDictInt("COLOR_BLUE", COLOR_BLUE); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3447 SetDictInt("COLOR_MAGENTA", COLOR_MAGENTA); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3448 SetDictInt("COLOR_CYAN", COLOR_CYAN); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3449 SetDictInt("COLOR_WHITE", COLOR_WHITE); |
|
1855
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
3450 |
|
13036
c09a570eb6eb
Added support for mouse functions: mousemask(), mouseinterval(),
Andrew M. Kuchling <amk@amk.ca>
parents:
12988
diff
changeset
|
3451 #ifdef NCURSES_MOUSE_VERSION |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3452 /* Mouse-related constants */ |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3453 SetDictInt("BUTTON1_PRESSED", BUTTON1_PRESSED); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3454 SetDictInt("BUTTON1_RELEASED", BUTTON1_RELEASED); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3455 SetDictInt("BUTTON1_CLICKED", BUTTON1_CLICKED); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3456 SetDictInt("BUTTON1_DOUBLE_CLICKED", BUTTON1_DOUBLE_CLICKED); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3457 SetDictInt("BUTTON1_TRIPLE_CLICKED", BUTTON1_TRIPLE_CLICKED); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3458 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3459 SetDictInt("BUTTON2_PRESSED", BUTTON2_PRESSED); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3460 SetDictInt("BUTTON2_RELEASED", BUTTON2_RELEASED); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3461 SetDictInt("BUTTON2_CLICKED", BUTTON2_CLICKED); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3462 SetDictInt("BUTTON2_DOUBLE_CLICKED", BUTTON2_DOUBLE_CLICKED); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3463 SetDictInt("BUTTON2_TRIPLE_CLICKED", BUTTON2_TRIPLE_CLICKED); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3464 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3465 SetDictInt("BUTTON3_PRESSED", BUTTON3_PRESSED); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3466 SetDictInt("BUTTON3_RELEASED", BUTTON3_RELEASED); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3467 SetDictInt("BUTTON3_CLICKED", BUTTON3_CLICKED); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3468 SetDictInt("BUTTON3_DOUBLE_CLICKED", BUTTON3_DOUBLE_CLICKED); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3469 SetDictInt("BUTTON3_TRIPLE_CLICKED", BUTTON3_TRIPLE_CLICKED); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3470 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3471 SetDictInt("BUTTON4_PRESSED", BUTTON4_PRESSED); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3472 SetDictInt("BUTTON4_RELEASED", BUTTON4_RELEASED); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3473 SetDictInt("BUTTON4_CLICKED", BUTTON4_CLICKED); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3474 SetDictInt("BUTTON4_DOUBLE_CLICKED", BUTTON4_DOUBLE_CLICKED); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3475 SetDictInt("BUTTON4_TRIPLE_CLICKED", BUTTON4_TRIPLE_CLICKED); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3476 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3477 SetDictInt("BUTTON_SHIFT", BUTTON_SHIFT); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3478 SetDictInt("BUTTON_CTRL", BUTTON_CTRL); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3479 SetDictInt("BUTTON_ALT", BUTTON_ALT); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3480 |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3481 SetDictInt("ALL_MOUSE_EVENTS", ALL_MOUSE_EVENTS); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3482 SetDictInt("REPORT_MOUSE_POSITION", REPORT_MOUSE_POSITION); |
|
13036
c09a570eb6eb
Added support for mouse functions: mousemask(), mouseinterval(),
Andrew M. Kuchling <amk@amk.ca>
parents:
12988
diff
changeset
|
3483 #endif |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3484 /* Now set everything up for KEY_ variables */ |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3485 { |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3486 int key; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3487 char *key_n; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3488 char *key_n2; |
|
16351
ef32bfa5f5c6
Patch #103485 from Donn Cave: patches to make the module compile on AIX and
Andrew M. Kuchling <amk@amk.ca>
parents:
16350
diff
changeset
|
3489 #if !defined(__NetBSD__) |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3490 for (key=KEY_MIN;key < KEY_MAX; key++) { |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3491 key_n = (char *)keyname(key); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3492 if (key_n == NULL || strcmp(key_n,"UNKNOWN KEY")==0) |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3493 continue; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3494 if (strncmp(key_n,"KEY_F(",6)==0) { |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3495 char *p1, *p2; |
|
84491
41ef797e6639
Issue #18203: Replace malloc() with PyMem_Malloc() in Python modules
Victor Stinner <victor.stinner@gmail.com>
parents:
84022
diff
changeset
|
3496 key_n2 = PyMem_Malloc(strlen(key_n)+1); |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3497 if (!key_n2) { |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3498 PyErr_NoMemory(); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3499 break; |
|
61619
9e4385db370e
Recorded merge of revisions 81215 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
60000
diff
changeset
|
3500 } |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3501 p1 = key_n; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3502 p2 = key_n2; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3503 while (*p1) { |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3504 if (*p1 != '(' && *p1 != ')') { |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3505 *p2 = *p1; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3506 p2++; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3507 } |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3508 p1++; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3509 } |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3510 *p2 = (char)0; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3511 } else |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3512 key_n2 = key_n; |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3513 SetDictInt(key_n2,key); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3514 if (key_n2 != key_n) |
|
84491
41ef797e6639
Issue #18203: Replace malloc() with PyMem_Malloc() in Python modules
Victor Stinner <victor.stinner@gmail.com>
parents:
84022
diff
changeset
|
3515 PyMem_Free(key_n2); |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3516 } |
|
16351
ef32bfa5f5c6
Patch #103485 from Donn Cave: patches to make the module compile on AIX and
Andrew M. Kuchling <amk@amk.ca>
parents:
16350
diff
changeset
|
3517 #endif |
|
61617
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3518 SetDictInt("KEY_MIN", KEY_MIN); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3519 SetDictInt("KEY_MAX", KEY_MAX); |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3520 } |
|
7f053e25b335
Recorded merge of revisions 81213 via svnmerge from
Victor Stinner <victor.stinner@haypocalc.com>
parents:
61511
diff
changeset
|
3521 return m; |
|
1855
9dbdb83d4178
Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
3522 } |
