Skip to content

curses for win32 #40725

Closed as not planned
Closed as not planned

Description

@tonal
mannequin
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:

    assignee = None
    closed_at = None
    created_at = <Date 2004-08-09.11:05:57.000>
    labels = ['extension-modules', 'type-feature', 'OS-windows']
    title = 'curses for win32'
    updated_at = <Date 2016-08-03.03:22:13.589>
    user = 'https://github.com/tonal'

    bugs.python.org fields:

    activity = <Date 2016-08-03.03:22:13.589>
    actor = 'BreamoreBoy'
    assignee = 'none'
    closed = False
    closed_date = None
    closer = None
    components = ['Extension Modules', 'Windows']
    creation = <Date 2004-08-09.11:05:57.000>
    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']

    Activity

    1. tonal commented on Aug 9, 2004

      tonalmannequin
      MannequinAuthor

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

    2. akuchling commented on Jun 15, 2005

      @akuchling
      Contributor

      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.

    3. tonal commented on Jun 16, 2005

      tonalmannequin
      MannequinAuthor

      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. ;-)

    4. jlt63 commented on Jun 16, 2005

      jlt63mannequin
      Mannequin

      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

    5. akuchling commented on Jun 16, 2005

      @akuchling
      Contributor

      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.)

    6. jlt63 commented on Jun 16, 2005

      jlt63mannequin
      Mannequin

      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.

    7. akuchling commented on Jun 16, 2005

      @akuchling
      Contributor

      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.

    8. jlt63 commented on Jun 16, 2005

      jlt63mannequin
      Mannequin

      Logged In: YES
      user_id=86216

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

    9. techtonik commented on Feb 4, 2010

      techtonikmannequin
      Mannequin

      Can this be considered a duplicate of bpo-2889?

    10. jlt63 commented on Feb 16, 2010

      jlt63mannequin
      Mannequin

      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.

    11. BreamoreBoy commented on Aug 19, 2010

      BreamoreBoymannequin
      Mannequin

      Brian or Tim any interest in this?

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

    12. briancurtin commented on Aug 19, 2010

      @briancurtin
      Member

      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.

    13. tjguk commented on Aug 19, 2010

      @tjguk
      Member

      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?

    14. BreamoreBoy commented on Aug 21, 2010

      BreamoreBoymannequin
      Mannequin

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

    15. BreamoreBoy commented on Jul 9, 2014

      BreamoreBoymannequin
      Mannequin

      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

    16. mcepl commented on Aug 1, 2016

      mceplmannequin
      Mannequin

      Well, basically any solution is better than nothing ;)

    17. transferred this issue fromon Apr 9, 2022
    18. erlend-aasland commented on Dec 4, 2023

      @erlend-aasland
      Contributor

      See also #47138

    19. ashm-dev commented on Nov 13, 2025

      @ashm-dev
      Contributor

      Ping. Is this issue still relevant?

    20. briancurtin commented on Nov 13, 2025

      @briancurtin
      Member

      I would say no. This has been around for so long with no action, or at least none supportable. The aforementioned UniCurses hasn't had a release since 2012. #47138, an alternative, was also closed. I'll close this one as well then.

      If someone has actual activity to contribute to it, they can open it up then. Otherwise I don't see this moving forward.

    21. moved this from Features to Done in Curses issueson Nov 13, 2025
    Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

    Metadata

    Metadata

    Assignees

    No one assigned

      Labels

      Projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions