Commit 104c397
Build hygiene so the curses modules build against a limited curses (e.g. the
native SVr4 curses of illumos/Solaris), matching how other optional functions
are already gated:
* Probe and #ifdef-gate the X/Open attr_t functions (window.attr_get/attr_set/
attr_on/attr_off/color_set), the soft-label attribute functions
(slk_attr_on/off/set, slk_color) and scr_set(); scr_set is probed separately
from the scr_dump family, which SVr4 has without it.
* Stop gating update_lines_cols() on resizeterm(): it only reads LINES/COLS and
is used unconditionally (e.g. by set_term()), so a build without resizeterm()
failed to link.
* On Solaris/illumos define _BOOL (and include <stdbool.h>) so the SVr4
<curses.h> "typedef char bool" does not clash with C's bool.
test.test_curses: skip or guard the tests that use the now-optional functions,
split test_attributes so its chtype-based part still runs, and treat the native
curses of NetBSD and illumos/Solaris as having broken newterm() (they crash on
repeated newterm()/delscreen(), like ncurses before 6.5).
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
1 parent ee50ed3 commit 104c397
8 files changed
Lines changed: 781 additions & 29 deletions
File tree
- Include
- Lib/test
- Misc/NEWS.d/next/Build
- Modules
- clinic
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
43 | 43 | | |
44 | 44 | | |
45 | 45 | | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
46 | 55 | | |
47 | 56 | | |
48 | 57 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
84 | 84 | | |
85 | 85 | | |
86 | 86 | | |
87 | | - | |
88 | | - | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
89 | 91 | | |
90 | | - | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
91 | 96 | | |
92 | 97 | | |
93 | 98 | | |
| |||
1140 | 1145 | | |
1141 | 1146 | | |
1142 | 1147 | | |
| 1148 | + | |
| 1149 | + | |
| 1150 | + | |
| 1151 | + | |
| 1152 | + | |
| 1153 | + | |
| 1154 | + | |
| 1155 | + | |
1143 | 1156 | | |
1144 | 1157 | | |
| 1158 | + | |
1145 | 1159 | | |
1146 | 1160 | | |
1147 | 1161 | | |
| |||
1167 | 1181 | | |
1168 | 1182 | | |
1169 | 1183 | | |
1170 | | - | |
1171 | | - | |
1172 | | - | |
1173 | | - | |
1174 | | - | |
1175 | 1184 | | |
1176 | 1185 | | |
| 1186 | + | |
1177 | 1187 | | |
1178 | 1188 | | |
1179 | 1189 | | |
| |||
1383 | 1393 | | |
1384 | 1394 | | |
1385 | 1395 | | |
| 1396 | + | |
1386 | 1397 | | |
1387 | | - | |
| 1398 | + | |
| 1399 | + | |
1388 | 1400 | | |
1389 | 1401 | | |
1390 | 1402 | | |
| |||
1846 | 1858 | | |
1847 | 1859 | | |
1848 | 1860 | | |
1849 | | - | |
1850 | | - | |
1851 | | - | |
| 1861 | + | |
| 1862 | + | |
| 1863 | + | |
| 1864 | + | |
| 1865 | + | |
1852 | 1866 | | |
1853 | 1867 | | |
1854 | 1868 | | |
| |||
Lines changed: 4 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2433 | 2433 | | |
2434 | 2434 | | |
2435 | 2435 | | |
| 2436 | + | |
2436 | 2437 | | |
2437 | 2438 | | |
2438 | 2439 | | |
| |||
2458 | 2459 | | |
2459 | 2460 | | |
2460 | 2461 | | |
| 2462 | + | |
2461 | 2463 | | |
| 2464 | + | |
2462 | 2465 | | |
2463 | 2466 | | |
2464 | 2467 | | |
| |||
2482 | 2485 | | |
2483 | 2486 | | |
2484 | 2487 | | |
| 2488 | + | |
2485 | 2489 | | |
| 2490 | + | |
2486 | 2491 | | |
2487 | 2492 | | |
2488 | 2493 | | |
| |||
2499 | 2504 | | |
2500 | 2505 | | |
2501 | 2506 | | |
| 2507 | + | |
2502 | 2508 | | |
| 2509 | + | |
2503 | 2510 | | |
2504 | 2511 | | |
2505 | 2512 | | |
| |||
2516 | 2523 | | |
2517 | 2524 | | |
2518 | 2525 | | |
| 2526 | + | |
2519 | 2527 | | |
| 2528 | + | |
2520 | 2529 | | |
2521 | 2530 | | |
2522 | 2531 | | |
| |||
2538 | 2547 | | |
2539 | 2548 | | |
2540 | 2549 | | |
| 2550 | + | |
2541 | 2551 | | |
2542 | 2552 | | |
2543 | 2553 | | |
| |||
6083 | 6093 | | |
6084 | 6094 | | |
6085 | 6095 | | |
| 6096 | + | |
6086 | 6097 | | |
6087 | 6098 | | |
6088 | 6099 | | |
| |||
6099 | 6110 | | |
6100 | 6111 | | |
6101 | 6112 | | |
| 6113 | + | |
6102 | 6114 | | |
6103 | 6115 | | |
6104 | 6116 | | |
| |||
7462 | 7474 | | |
7463 | 7475 | | |
7464 | 7476 | | |
7465 | | - | |
7466 | 7477 | | |
7467 | | - | |
| 7478 | + | |
| 7479 | + | |
| 7480 | + | |
7468 | 7481 | | |
7469 | 7482 | | |
7470 | 7483 | | |
| |||
7533 | 7546 | | |
7534 | 7547 | | |
7535 | 7548 | | |
7536 | | - | |
7537 | | - | |
7538 | 7549 | | |
7539 | 7550 | | |
7540 | 7551 | | |
| |||
8371 | 8382 | | |
8372 | 8383 | | |
8373 | 8384 | | |
| 8385 | + | |
8374 | 8386 | | |
8375 | 8387 | | |
8376 | 8388 | | |
| |||
8388 | 8400 | | |
8389 | 8401 | | |
8390 | 8402 | | |
| 8403 | + | |
8391 | 8404 | | |
| 8405 | + | |
8392 | 8406 | | |
8393 | 8407 | | |
8394 | 8408 | | |
| |||
8406 | 8420 | | |
8407 | 8421 | | |
8408 | 8422 | | |
| 8423 | + | |
8409 | 8424 | | |
| 8425 | + | |
8410 | 8426 | | |
8411 | 8427 | | |
8412 | 8428 | | |
| |||
8430 | 8446 | | |
8431 | 8447 | | |
8432 | 8448 | | |
| 8449 | + | |
8433 | 8450 | | |
| 8451 | + | |
8434 | 8452 | | |
8435 | 8453 | | |
8436 | 8454 | | |
| |||
8447 | 8465 | | |
8448 | 8466 | | |
8449 | 8467 | | |
| 8468 | + | |
8450 | 8469 | | |
8451 | 8470 | | |
8452 | 8471 | | |
| |||
0 commit comments