python / cpython

The Python programming language
https://www.python.org
Other
63.48k stars 30.4k forks source link

curses for win32 #40725

Open 9add156f-3eaf-4024-8808-2264b4750b8d opened 20 years ago

9add156f-3eaf-4024-8808-2264b4750b8d commented 20 years ago
BPO 1005895
Nosy @tonal, @tjguk, @mcepl
Files
  • _cursesmodule.c.patch
  • test_curses.py.patch
  • mingw32.mak: makefile for compile _curses
  • Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.

    Show more details

    GitHub fields: ```python assignee = None closed_at = None created_at = labels = ['extension-modules', 'type-feature', 'OS-windows'] title = 'curses for win32' updated_at = user = 'https://github.com/tonal' ``` bugs.python.org fields: ```python activity = actor = 'BreamoreBoy' assignee = 'none' closed = False closed_date = None closer = None components = ['Extension Modules', 'Windows'] creation = creator = 'shura_zam' dependencies = [] files = ['6163', '6164', '6165'] hgrepos = [] issue_num = 1005895 keywords = ['patch'] message_count = 16.0 messages = ['46600', '46601', '46602', '46603', '46604', '46605', '46606', '46607', '98813', '99410', '114369', '114372', '114397', '114484', '222627', '271783'] nosy_count = 5.0 nosy_names = ['jlt63', 'techtonik', 'shura_zam', 'tim.golden', 'mcepl'] pr_nums = [] priority = 'normal' resolution = None stage = 'patch review' status = 'open' superseder = None type = 'enhancement' url = 'https://bugs.python.org/issue1005895' versions = ['Python 3.4'] ```

    9add156f-3eaf-4024-8808-2264b4750b8d commented 20 years ago

    I have paths for compile _curses module. I use compiler - mingw32 v3.3.1 curses library - Public Domain Curses (PDCurses 2.6)

    akuchling commented 19 years ago

    Logged In: YES user_id=11375

    In the cursesmodule patch, the first argument to intrflush is changed from NULL to stdscr. Why? According to the ncurses man page, the window argument is ignored.

    use_env() is apparently a no-op for PDcurses; why not just remove the Python-visible use_env function completely?

    In the setting of _C_API_VERSION, what does the string "PDCurses M" mean? (In particular, what does the 'M' stand for?)

    Except for the above questions, the patches to test_curses.py and _cursesmodule.c look OK. I have no access to a Windows machine and no way to test them or the new .mak file, so I'm reassigning this bug to Jason Tishler, who does a lot of Cygwin work. Jason, please feel free to ask me any questions you might have about curses, the _cursesmodule.c file, or whatever.

    9add156f-3eaf-4024-8808-2264b4750b8d commented 19 years ago

    Logged In: YES user_id=980085

    In the cursesmodule patch, the first argument to intrflush is changed from NULL to stdscr. Why? In PDCurses intrflush return ERR if first arg is NULL.

    In the setting of _C_API_VERSION, what does the string "PDCurses M" mean? (In particular, what does the 'M' stand for?) _C_API_VERSION setting to numeric constant PDC_BUILD currentli 2601. Bat _C_API_NAME setting to name of C curses library. I modyfy source of PDCurses and add suffix "M". Currently all my changes applay in head branch, and suffix "M" not nidded. ;-)

    46b089dd-4dd4-4a01-bc73-573edfa28308 commented 19 years ago

    Logged In: YES user_id=86216

    I have no access to a Windows machine and no way to test them or the new .mak file, so I'm reassigning this bug to Jason Tishler, who does a lot of Cygwin work. Jason, please feel free to ask me any questions you might have about curses, the _cursesmodule.c file, or whatever.

    Andrew,

    Sorry, but I'm confused. What exactly are you asking me to do? Make sure Alexandr's patch doesn't break the Cygwin build? Other builds? Works?

    Thanks, Jason

    akuchling commented 19 years ago

    Logged In: YES user_id=11375

    As maintainer of the curses module, applying the patch is OK with me, but I'm not going to apply it because I don't use Cygwin, the affected platform. I leave it up to you to apply the patch, or reject it, or demand changes; I'm happy if you decide to apply it, but don't really care.

    (Note that the patch to test_curses.py won't apply cleanly; it includes some other fixes from Alexandr that I've already applied. If you decide to accept the patch, I can help straighten out test_curses.py.)

    46b089dd-4dd4-4a01-bc73-573edfa28308 commented 19 years ago

    Logged In: YES user_id=86216

    If the patch affects Cygwin, then it's not obvious:

    $ fgrep -i cygwin _cursesmodule.c.patch mingw32.mak 
    test_curses.py.patch
    $

    However, it seems to affect the native Windows build:

    $ grep -i 'platform.*win' _cursesmodule.c.patch mingw32.mak 
    test_curses.py.patch 
    test_curses.py.patch:+ if sys.platform == 'win32':

    Please point out actually where the patch affects Cygwin. Thanks.

    akuchling commented 19 years ago

    Logged In: YES user_id=11375

    Ah; I looked at the initial description which says 'mingw32' was used, and thought that was the Cygwin compiler. Sorry! If this patch applies to the standard windows build, just unassign it; some Windows person will have to look at it.

    46b089dd-4dd4-4a01-bc73-573edfa28308 commented 19 years ago

    Logged In: YES user_id=86216

    AFAICT, this patch applies to the standard Windows build. So, I'm unassigning it as suggested by Andrew.

    9432cd65-9f88-4bc6-8ad6-72e5ab1c730d commented 14 years ago

    Can this be considered a duplicate of bpo-2889?

    46b089dd-4dd4-4a01-bc73-573edfa28308 commented 14 years ago

    Sorry, but I don't know. I haven't looked at this issue for almost five years! And when I did, I only looked as far to determine it wasn't Cygwin related.

    83d2e70e-e599-4a04-b820-3814bbdb9bef commented 14 years ago

    Brian or Tim any interest in this?

    I consider bpo-2889 to be a duplicate of this and not the other way around.

    briancurtin commented 14 years ago

    I have zero knowledge and experience when it comes to curses so I'm afraid I can't really provide much here.

    One thing I can say is that this patch would have to be converted to be compiled by MSVC rather than MinGW. That was an early issue with bpo-2889 but it appears that patch was converted.

    tjguk commented 14 years ago

    It looks as though bpo-2889 has a better chance of getting into the VS build than this one, which appears to be MingW-based (at a quick glance). I'm loosely keen to see it in, although I have no knowledge of curses as such. I'll assign it to myself so it appears on my to-do queue but I'm not promising to do anything with it immediately. Anyone who feels up to the task, feel free to take it off me.

    Mark: why do you consider bpo-1005895 the master, so to speak? I can see more mileage in pursuing the other?

    83d2e70e-e599-4a04-b820-3814bbdb9bef commented 14 years ago

    Tim: mainly because this was raised some 4 years earlier and the title of bpo-2889 "curses for windows (alternative patch)"

    83d2e70e-e599-4a04-b820-3814bbdb9bef commented 10 years ago

    Is this worth pursuing as https://docs.python.org/3/howto/curses.html states "The Windows version of Python doesn’t include the curses module. A ported version called UniCurses is available" ? This is available at https://pypi.python.org/pypi/UniCurses

    4fce49d7-9c43-4783-b6f9-bd43eb64c326 commented 8 years ago

    Well, basically any solution is better than nothing ;)

    erlend-aasland commented 11 months ago

    See also #47138