changeset: 73763:919259054621 user: Victor Stinner date: Sun Nov 27 00:19:53 2011 +0100 files: Lib/test/test_curses.py setup.py description: Issue #13415: Help to locate curses.h when _curses module is linked to ncursesw diff -r 37300a1df7d7 -r 919259054621 Lib/test/test_curses.py --- a/Lib/test/test_curses.py Sat Nov 26 22:02:29 2011 +0100 +++ b/Lib/test/test_curses.py Sun Nov 27 00:19:53 2011 +0100 @@ -268,7 +268,10 @@ if not hasattr(curses, 'unget_wch'): return for ch in ('a', '\xe9', '\u20ac', '\U0010FFFF'): - curses.unget_wch(ch) + try: + curses.unget_wch(ch) + except Exception as err: + raise Exception("unget_wch(%a) failed: %s" % (ch, err)) read = stdscr.get_wch() read = chr(read) if read != ch: diff -r 37300a1df7d7 -r 919259054621 setup.py --- a/setup.py Sat Nov 26 22:02:29 2011 +0100 +++ b/setup.py Sun Nov 27 00:19:53 2011 +0100 @@ -1173,13 +1173,16 @@ # Curses support, requiring the System V version of curses, often # provided by the ncurses library. panel_library = 'panel' + curses_includes = [] if curses_library.startswith('ncurses'): if curses_library == 'ncursesw': # Bug 1464056: If _curses.so links with ncursesw, # _curses_panel.so must link with panelw. panel_library = 'panelw' + curses_includes = ['/usr/include/ncursesw'] curses_libs = [curses_library] exts.append( Extension('_curses', ['_cursesmodule.c'], + include_dirs=curses_includes, define_macros=curses_defines, libraries = curses_libs) ) elif curses_library == 'curses' and platform != 'darwin': @@ -1202,6 +1205,7 @@ if (module_enabled(exts, '_curses') and self.compiler.find_library_file(lib_dirs, panel_library)): exts.append( Extension('_curses_panel', ['_curses_panel.c'], + include_dirs=curses_includes, libraries = [panel_library] + curses_libs) ) else: missing.append('_curses_panel')