--- aclocal.m4 | 40 +++++++++------- configure | 46 ++++++++++-------- include/curses.h.in | 5 +- include/termcap.h.in | 2 include/tic.h | 4 - man/man_db.renames | 2 man/ncurses.3x | 4 + misc/gen-pkgconfig.in | 23 +++++++++ misc/terminfo.src | 107 +++++++++++++++++++++++++++++++++++++------- ncurses/Makefile.in | 2 ncurses/run_cmd.sh | 11 ++++ ncurses/tinfo/MKfallback.sh | 14 ++++- ncurses/tinfo/lib_setup.c | 3 + progs/Makefile.in | 4 - test/test.priv.h | 4 - test/tracemunch | 2 16 files changed, 206 insertions(+), 67 deletions(-) --- aclocal.m4 +++ aclocal.m4 2022-02-21 08:55:21.204338965 +0000 @@ -676,7 +676,7 @@ AC_CHECK_SIZEOF(bool,,[ AC_CACHE_CHECK(for type of bool, cf_cv_type_of_bool,[ rm -f cf_test.out AC_TRY_RUN([ -#include +//#include // conflict with exit declaration #include #if defined(__cplusplus) @@ -5915,12 +5915,15 @@ cat >>$cf_edit_man <>$cf_edit_man <>$cf_edit_man <>$cf_edit_man <>$cf_edit_man <\$TMP + < "\$i" | sed -f $srcdir/edit_man.sed >\$TMP CF_EOF fi @@ -5970,7 +5973,7 @@ cat >>$cf_edit_man <>$cf_edit_man <>$cf_edit_man <>$cf_edit_man <>$cf_edit_man <>$cf_edit_man <>$cf_edit_man <\$TMP CF_EOF if test -n "$cf_compress" ; then @@ -6045,9 +6048,9 @@ cat >>$cf_edit_man <>$cf_edit_man <&6 if test "x$with_pcre2" != xno ; then cf_with_pcre2_ok=no - for cf_with_pcre2 in libpcre2 libpcre2-posix libpcre + for cf_with_pcre2 in libpcre2 libpcre2-8 libpcre2-posix libpcre do if test "$PKG_CONFIG" != none && "$PKG_CONFIG" --exists "$cf_with_pcre2"; then @@ -14892,12 +14892,15 @@ cat >>$cf_edit_man <>$cf_edit_man <>$cf_edit_man <>$cf_edit_man <>$cf_edit_man <\$TMP + < "\$i" | sed -f $srcdir/edit_man.sed >\$TMP CF_EOF fi @@ -14947,7 +14950,7 @@ cat >>$cf_edit_man <>$cf_edit_man <>$cf_edit_man <>$cf_edit_man <>$cf_edit_man <>$cf_edit_man <>$cf_edit_man <\$TMP CF_EOF if test -n "$cf_compress" ; then @@ -15022,9 +15025,9 @@ cat >>$cf_edit_man <>$cf_edit_man < #undef GCC_NORETURN #define GCC_NORETURN _Noreturn @@ -226,6 +226,9 @@ typedef @cf_cv_typeof_chtype@ chtype; typedef @cf_cv_typeof_mmask_t@ mmask_t; #endif +#include +#include + /* * We need FILE, etc. Include this before checking any feature symbols. */ --- include/termcap.h.in +++ include/termcap.h.in 2022-02-21 08:55:21.208338888 +0000 @@ -47,6 +47,8 @@ extern "C" { #endif /* __cplusplus */ +#include +#include #include #undef NCURSES_OSPEED --- include/tic.h +++ include/tic.h 2022-02-21 08:55:21.208338888 +0000 @@ -237,12 +237,12 @@ struct user_table_entry */ /* out-of-band values for representing absent capabilities */ -#define ABSENT_BOOLEAN ((signed char)-1) /* 255 */ +#define ABSENT_BOOLEAN (-1) /* 255 */ #define ABSENT_NUMERIC (-1) #define ABSENT_STRING (char *)0 /* out-of-band values for representing cancels */ -#define CANCELLED_BOOLEAN ((signed char)-2) /* 254 */ +#define CANCELLED_BOOLEAN (-2) /* 254 */ #define CANCELLED_NUMERIC (-2) #define CANCELLED_STRING (char *)(-1) --- man/man_db.renames +++ man/man_db.renames 2022-02-21 08:55:21.208338888 +0000 @@ -164,6 +164,7 @@ term.7 term.7 term_variables.3x terminfo_variables.3ncurses terminfo.5 terminfo.5 terminfo.\\\*n terminfo.5 +curs_terminfo.\\\*n terminfo.5 tic.1m tic.1 toe.1m toe.1 tput.1 tput.1 @@ -172,6 +173,7 @@ user_caps.5 user_caps.5 wresize.3x wresize.3ncurses # # Other: +tack.1 tack.1 tack.1m tack.1 # getty.1 getty.8 --- man/ncurses.3x +++ man/ncurses.3x 2022-02-21 08:55:21.208338888 +0000 @@ -139,6 +139,10 @@ after the shell environment variable \fB [See \fBterminfo\fP(\*n) for further details.] .SS Datatypes .PP +Beware: the terminal your program is running may or may not have +the features you expect. Ncurses makes no attempt to check available +features in advance. This is upon the programmer. +.PP The \fBncurses\fP library permits manipulation of data structures, called \fIwindows\fP, which can be thought of as two-dimensional arrays of characters representing all or part of a CRT screen. --- misc/gen-pkgconfig.in +++ misc/gen-pkgconfig.in 2022-02-21 08:55:21.208338888 +0000 @@ -83,6 +83,8 @@ if [ "$includedir" != "/usr/include" ]; fi lib_flags= +push= +pop= for opt in -L$libdir @EXTRA_PKG_LDFLAGS@ @LIBS@ do case $opt in @@ -92,12 +94,26 @@ do -specs*) # ignore linker specs-files which were used to build library continue ;; + -Wl,--hash-size=*) # ignore hash as gold linker can not do + continue + ;; -Wl,-z,*) # ignore flags used to manipulate shared image continue ;; -Wl,--dynamic-linker*) # ignore ELF interpreter continue ;; + -Wl,-Bsymbolic-functions*) # affect symbol resolution + continue + ;; + -Wl,-O*) # ignore linker how optimizes + continue + ;; + -Wl,--as-needed) + push="-Wl,--push-state,--as-needed " + pop=" -Wl,--pop-state" + continue + ;; -L*) lib_check=`echo "x$opt" | sed -e 's/^.-L//'` [ -d "$lib_check" ] || continue @@ -186,19 +202,22 @@ do LIBS="-l$name" desc="ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" + deps= reqs= if [ $name = $MAIN_LIBRARY ]; then desc="$desc library" - [ $NEED_TINFO = yes ] && LIBS="$LIBS -l$TINFO_ARG_SUFFIX" + [ $NEED_TINFO = yes ] && LIBS="$LIBS ${push}-l$TINFO_ARG_SUFFIX${pop}" [ -n "@LIBS@" ] && LIBS="$LIBS @LIBS@" elif [ $name = $SUB_LIBRARY ]; then desc="$desc terminal interface library" elif expr $name : ".*${CXX_NAME}.*" >/dev/null ; then reqs="$PANEL_LIBRARY${suffix}, $MENU_LIBRARY${suffix}, $FORM_LIBRARY${suffix}, $MAIN_LIBRARY${suffix}" + deps="-l$PANEL_LIBRARY -l$MENU_LIBRARY -l$FORM_LIBRARY -l$MAIN_LIBRARY" desc="$desc add-on library" else reqs="$MAIN_LIBRARY${suffix}" + deps="-l$MAIN_LIBRARY" desc="$desc add-on library" fi @@ -208,6 +227,8 @@ do [ $NEED_TINFO != yes ] ; then [ -n "$reqs" ] && reqs="$reqs, " reqs="${reqs}${SUB_LIBRARY}${suffix}" + [ -n "$deps" ] && deps="$deps " + deps="${deps}-l${SUB_LIBRARY}" fi if [ $name = $MAIN_LIBRARY ] --- misc/terminfo.src +++ misc/terminfo.src 2022-02-21 08:55:21.208338888 +0000 @@ -305,7 +305,9 @@ dumb|80-column dumb tty, am, cols#80, bel=^G, cr=\r, cud1=\n, ind=\n, -unknown|unknown terminal type, +unknown|switch|patch|unknown terminal type, + gn, use=dumb, +net|network|arpanet|dialup|unknown network terminal type, gn, use=dumb, lpr|printer|line printer, OTbs, hc, os, @@ -1018,9 +1020,15 @@ linux-c|Linux console 1.3.6+ for older n # The 2.2.x kernels add a private mode that sets the cursor type; use that to # get a block cursor for cvvis. # reported by Frank Heckenbach . +# +# Do not use a block cursor, +# This because many programs do have a workaround for the long time +# missed cvvis entry. A `\E[?1c' in civis will cause a visible but +# zero high cusor ... re-add it for kernels 2.6.11+ +# linux2.2|Linux 2.2.x console, civis=\E[?25l\E[?1c, cnorm=\E[?25h\E[?0c, - cvvis=\E[?25h\E[?8c, use=linux-c-nc, + cvvis=\E[?25h\E[?0c, use=linux-c-nc, # Linux 2.6.x has a fix for SI/SO to work with UTF-8 encoding added here: # http://lkml.iu.edu/hypermail/linux/kernel/0602.2/0738.html @@ -1053,6 +1061,7 @@ linux2.6|Linux 2.6.x console, acsc=++\,\,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxy yzz{{||}}~~, enacs=\E)0, rmacs=^O, + cvvis=\E[?25h\E[?8c, sgr=\E[0;10%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p5 %t;2%;%?%p6%t;1%;m%?%p9%t\016%e\017%;, sgr0=\E[m\017, smacs=^N, use=linux2.2, @@ -5270,7 +5279,7 @@ xterm+88color2|xterm 88-color feature, # These variants of XFree86 3.9.16 xterm are built as a configure option. xterm-256color|xterm with 256 colors, - use=xterm+osc104, use=xterm+256color, use=xterm-new, + use=xterm+osc104, use=xterm+256color, use=xterm-suse, xterm-88color|xterm with 88 colors, use=xterm+osc104, use=xterm+88color, use=xterm-256color, @@ -5548,8 +5557,26 @@ xterm-noapp|xterm with cursor keys in no xterm-24|vs100|xterms|xterm terminal emulator 24-line (X Window System), lines#24, use=xterm-old, +# For SUSE Linux: Werner Fink +# Note that the modern xterm does not use escape sequences +# for the numbers on the numpad keys in case of switched +# into application mode and with numlock enabled. +# To test this, use `tput smkx' and `Ctrl-V + key stroke' +xterm-suse|xterm terminal emulator (X.Org X11R7.7 Window System with SuSE LINUX), + kbs=\177, kdch1=\E[3~, + kDIV=\EOo, kMUL=\EOj, kMIN=\EOm, kPLS=\EOk, + kfnd=\E[1~, kslt=\E[4~, + use=xterm-p370, + # This is xterm for ncurses. xterm|xterm terminal emulator (X Window System), + use=xterm-suse, + +# xterm-debian is identical to xterm-new with the addition of a small +# VT220-ism regarding the backspace and delete keys; this is mandated by +# the keyboard configuration section of the Debian Policy Manual. +xterm-debian|Debian xterm (backspace and delete changed), + kbs=\177, kdch1=\E[3~, use=xterm-new, # This entry assumes that xterm's handling of VT100 SI/SO is disabled by @@ -5950,7 +5977,7 @@ xterms-sun|small (80x24) xterm with sunF #### GNOME (VTE) # this describes the alpha-version of GNOME terminal shipped with Redhat 6.0 -gnome-rh62|GNOME terminal, +gnome-rh62|GNOME terminal on Red Hat, bce, kdch1=^?, kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS, use=xterm-color, @@ -6237,10 +6264,14 @@ mgt|Multi GNOME Terminal, #### KDE # This is kvt 0-18.7, shipped with Redhat 6.0 (though whether it supports bce # or not is debatable). -kvt|KDE terminal, +kvt-rh|KDE terminal, bce, km@, kdch1=^?, kend=\E[F, khome=\E[H, use=xterm-color, +# This is kvt for SuSE because we do not support BrokenByDesign[tm]. +kvt|KDE terminal, + kdch1=\E[3~, use=kvt-rh, + # Konsole 1.0.1 (2001/11/25) # (formerly known as kvt) # @@ -6492,7 +6523,7 @@ mlterm3|multi lingual terminal emulator mlterm2|multi lingual terminal emulator 2.x, am, eslok, km, mc5i, mir, msgr, npc, xenl, XT, colors#8, cols#80, it#8, lines#24, pairs#64, - acsc=00``aaffgghhjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, + acsc=++\,\,--..00II``aaffgghhjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, bel=^G, bold=\E[1m, cbt=\E[Z, clear=\E[H\E[2J, cr=\r, csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=\n, cuf=\E[%p1%dC, cuf1=\E[C, @@ -6569,7 +6600,7 @@ rxvt-basic|rxvt terminal base (X Window enacs=\E(B\E)0, flash=\E[?5h$<100/>\E[?5l, home=\E[H, ht=^I, hts=\EH, ich=\E[%p1%d@, il=\E[%p1%dL, il1=\E[L, ind=\n, is1=\E[?47l\E=\E[?1l, - is2=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l, kbs=^H, + is2=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l, kbs=^?, kcbt=\E[Z, kmous=\E[M, rc=\E8, rev=\E[7m, ri=\EM, rmacs=^O, rmcup=\E[2J\E[?47l\E8, rmir=\E[4l, rmkx=\E>, rmso=\E[27m, rmul=\E[24m, @@ -6664,8 +6695,8 @@ rxvt-basic|rxvt terminal base (X Window # Removed kDN6, etc (control+shift) since rxvt does not implement this -TD rxvt+pcfkeys|rxvt fragment for PC-style fkeys, kDC=\E[3$, kEND=\E[8$, kHOM=\E[7$, kIC=\E[2$, kLFT=\E[d, - kNXT=\E[6$, kPRV=\E[5$, kRIT=\E[c, kcub1=\E[D, kcud1=\E[B, - kcuf1=\E[C, kcuu1=\E[A, kel=\E[8\^, kend=\E[8~, kf1=\E[11~, + kNXT=\E[6$, kPRV=\E[5$, kRIT=\E[c, kcub1=\EOD, kcud1=\EOB, + kcuf1=\EOC, kcuu1=\EOA, kel=\E[8\^, kend=\E[8~, kf1=\E[11~, kf10=\E[21~, kf11=\E[23~, kf12=\E[24~, kf13=\E[25~, kf14=\E[26~, kf15=\E[28~, kf16=\E[29~, kf17=\E[31~, kf18=\E[32~, kf19=\E[33~, kf2=\E[12~, kf20=\E[34~, @@ -6753,6 +6784,38 @@ rxvt-cygwin-native|rxvt terminal emulato \302x\263y\363z\362{\343|\330~\376, use=rxvt-cygwin, +# From: Thomas Dickey 04 Oct 1997 +# Updated: Özgür Kesim 02 Nov 1997 +# Updated: Marc Lehmann , 17 Feb 2005 +# Updated: Marc Lehmann , 04 Nov 2008: change init/reset sequences +# +rxvt-unicode|rxvt-unicode terminal (X Window System), + bw, ccc, hs, mc5i, npc, btns#5, colors#88, lm#0, ncv#0, pairs#256, + acsc=+C\,D-A.B0E``aaffgghFiGjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, + dsl=\E]2;\007, ech=\E[%p1%dX, enacs=, flash=\E[?5h$<20/>\E[?5l, + fsl=^G, indn=\E[%p1%dS, + initc=\E]4;%p1%d;rgb\:%p2%{65535}%*%{1000}%/%4.4X/%p3%{65535}%*%{1000}%/%4.4X/%p4%{65535}%*%{1000}%/%4.4X\E\\, + is1=\E[!p, + is2=\E[r\E[m\E[2J\E[?7;25h\E[?1;3;4;5;6;9;66;1000;1001;1049l\E[4l, + kIC=\E2$, mc0=\E[i, mc4=\E[4i, mc5=\E[5i, op=\E[39;49m, + rin=\E[%p1%dT, ritm=\E[23m, rmacs=\E(B, rmam=\E[?7l, + rmcup=\E[r\E[?1049l, rmkx=\E[?1l\E>, rs1=\Ec, + rs2=\E[r\E[m\E[?7;25h\E[?1;3;4;5;6;9;66;1000;1001;1049l\E[4l, + s2ds=\E*B, s3ds=\E+B, + setab=\E[48;5;%p1%dm, setaf=\E[38;5;%p1%dm, + setb=%?%p1%{7}%>%t\E[48;5;%p1%dm%e\E[4%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m%;, + setf=%?%p1%{7}%>%t\E[38;5;%p1%dm%e\E[3%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m%;, + sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%?%p7%t;8%;m%?%p9%t\E(0%e\E(B%;, + sgr0=\E[m\E(B, sitm=\E[3m, smacs=\E(0, smam=\E[?7h, + smcup=\E[?1049h, smkx=\E[?1h\E=, + tsl=\E]2;, u6=\E[%i%d;%dR, u7=\E[6n, u8=\E[?1;2c, u9=\E[c, + use=rxvt-basic, + +rxvt-unicode-256color|rxvt-unicode terminal with 256 colors (X Window System), + colors#256, + pairs#32767, + use=rxvt-unicode, + # This variant is supposed to work with rxvt 2.7.7 when compiled with # NO_BRIGHTCOLOR defined. rxvt needs more work... rxvt-16color|rxvt with 16 colors like aixterm, @@ -6817,7 +6880,7 @@ Eterm|Eterm-color|Eterm with xterm-style home=\E[H, hpa=\E[%i%p1%dG, ht=^I, hts=\EH, ich=\E[%p1%d@, il=\E[%p1%dL, il1=\E[L, ind=\n, is1=\E[?47l\E>\E[?1l, is2=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l, kNXT@, - kPRV@, ka1=\E[7~, ka3=\E[5~, kb2=\EOu, kbeg=\EOu, kbs=^H, + kPRV@, ka1=\E[7~, ka3=\E[5~, kb2=\EOu, kbeg=\EOu, kbs=^?, kc1=\E[8~, kc3=\E[6~, kent=\EOM, khlp=\E[28~, kmous=\E[M, mc4=\E[4i, mc5=\E[5i, rc=\E8, rev=\E[7m, ri=\EM, rmacs=^O, rmam=\E[?7l, rmcup=\E[2J\E[?47l\E8, rmir=\E[4l, rmkx=, @@ -7931,7 +7994,7 @@ pty|4bsd pseudo teletype, # https://github.com/emacs-mirror/emacs/blob/master/lisp/term.el # # The codes supported by the term.el terminal emulation in GNU Emacs 19.30 -eterm|GNU Emacs term.el terminal emulation, +eterm-19|GNU Emacs term.el terminal emulation, am, mir, xenl, cols#80, lines#24, bel=^G, bold=\E[1m, clear=\E[H\E[J, cr=\r, @@ -7944,6 +8007,13 @@ eterm|GNU Emacs term.el terminal emulati rmcup=\E[2J\E[?47l\E8, rmir=\E[4l, rmso=\E[m, rmul=\E[m, sgr0=\E[m, smcup=\E7\E[?47h, smir=\E[4h, smso=\E[7m, smul=\E[4m, +eterm|emacs|GNU Emacs term.el terminal emulation, + colors#8, pairs#64, + invis=\E[8m, kcub1=\EOD, kcud1=\EOB, + kcuf1=\EOC, kcuu1=\EOA, kend=\E[4~, + khome=\E[1~, knp=\E[6~, kpp=\E[5~, + setab=\E[%p1%{40}%+%dm, setaf=\E[%p1%{30}%+%dm, + use=eterm-19, # The codes supported by the term.el terminal emulation in GNU Emacs 22.2 eterm-color|Emacs term.el terminal emulator term-protocol-version 0.96, @@ -8071,7 +8141,7 @@ screen|VT 100/ANSI X3.64 virtual termina dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, el=\E[K, el1=\E[1K, enacs=\E(B\E)0, flash=\Eg, home=\E[H, hpa=\E[%i%p1%dG, ht=^I, hts=\EH, ich=\E[%p1%d@, il=\E[%p1%dL, il1=\E[L, - ind=\n, indn=\E[%p1%dS, is2=\E)0, kbs=^H, kcbt=\E[Z, + ind=\n, indn=\E[%p1%dS, is2=\E)0, kbs=^?, kcbt=\E[Z, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kf1=\EOP, kf10=\E[21~, kf11=\E[23~, kf12=\E[24~, kf2=\EOQ, kf3=\EOR, kf4=\EOS, kf5=\E[15~, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, @@ -8188,9 +8258,16 @@ screen.xterm-xfree86|screen.xterm-new|sc sgr=%?%p9%t\E(0%e\E(B%;\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%| %t;7%;%?%p4%t;5%;%?%p5%t;2%;m, E3@, use=screen+italics, use=screen+fkeys, - use=xterm+x11mouse, use=xterm-p370, + use=xterm+x11mouse, use=xterm-suse, #:screen.xterm|screen for modern xterm, #: use=screen.xterm-new, +screen.xterm|screen customized for modern xterm, + bce@, bw, + invis@, kIC@, kNXT@, kPRV@, meml@, memu@, rep@, + sgr=%?%p9%t\E(0%e\E(B%;\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%| + %t;7%;%?%p4%t;5%;%?%p5%t;2%;m, + E3@, use=screen+italics, use=screen+fkeys, + use=xterm+x11mouse, use=xterm-suse, # xterm-r6 does not really support khome/kend unless it is propped up by # the translations resource. screen.xterm-r6|screen customized for X11R6 xterm, @@ -8278,7 +8355,7 @@ screen2|VT 100/ANSI X3.64 virtual termin cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, el=\E[K, ht=^I, hts=\EH, ich=\E[%p1%d@, ich1=, il=\E[%p1%dL, - il1=\E[L, ind=\n, kbs=^H, kcub1=\ED, kcud1=\EB, kcuf1=\EC, + il1=\E[L, ind=\n, kbs=^?, kcub1=\ED, kcud1=\EB, kcuf1=\EC, kcuu1=\EA, kf0=\E~, kf1=\ES, kf2=\ET, kf3=\EU, kf4=\EV, kf5=\EW, kf6=\EP, kf7=\EQ, kf8=\ER, kf9=\E0I, khome=\EH, nel=\r\n, rc=\E8, ri=\EM, rmir=\E[4l, rmso=\E[23m, @@ -10235,7 +10312,7 @@ hp700-wy|HP 700/41 emulating Wyse30, ri=\Ej, rmir=\Er, rmso=\EG0$<10/>, rmul=\EG0$<10/>, sgr0=\EG0$<10/>, smir=\Eq, smso=\EG4$<10/>, smul=\EG8$<10/>, tbc=\E0, vpa=\E[%p1%{32}%+%c, -hp70092|hp70092a|hp70092A|HP 700/92, +hp70092|hp70092a|hp70092A|70092|HP 700/92, am, da, db, xhp, cols#80, lh#2, lines#24, lm#0, lw#8, nlab#8, acsc=0cjgktlrmfn/q\,t5u6v8w7x., bel=^G, blink=\E&dA, @@ -17881,7 +17958,7 @@ ibm3101|i3101|IBM 3101-10, cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA, ed=\EJ, el=\EI, home=\EH, hts=\E0, ind=\n, kcub1=\ED, kcud1=\EB, kcuf1=\EC, kcuu1=\EA, nel=\r\n, tbc=\EH, -ibm3151|IBM 3151 display, +ibm3151|i3151|IBM 3151 display, is2=\E S, rmacs=\E>B, rmcup=\E>B, rs2=\E S, s0ds=\E>B, sgr=\E4%{64}%?%p1%t%{65}%|%;%?%p2%t%{66}%|%;%?%p3%t%{65}%|%; %?%p4%t%{68}%|%;%?%p5%t%{64}%|%;%?%p6%t%{72}%|%;%?%p7%t @@ -18139,7 +18216,7 @@ lft|lft-pc850|LFT-PC850|IBM LFT PC850 De tbc=\E[3g, use=ecma+index, # "Megapel" refers to the display adapter, which was used with the IBM RT # aka IBM 6150. -ibm5081|hft|IBM Megapel Color display, +ibm5081|ibmmpel|hft|IBM Megapel Color display, acsc=jjkkllmmnnqqttuuvvwwxx, blink@, bold@, s0ds=\E(B, s1ds=\E(0, sgr0=\E[0m\E(B, use=ibm5154, ibm5081-c|ibmmpel-c|IBM 5081 1024x1024 256/4096 Megapel enhanced color display, --- ncurses/Makefile.in +++ ncurses/Makefile.in 2022-02-21 08:55:21.208338888 +0000 @@ -242,7 +242,7 @@ $(DESTDIR)$(libdir) : ../lib : ; mkdir $@ ./fallback.c : $(tinfo)/MKfallback.sh - $(SHELL) -e $(tinfo)/MKfallback.sh $(TERMINFO) $(TERMINFO_SRC) "$(TIC_PATH)" "$(INFOCMP_PATH)" $(FALLBACK_LIST) >$@ + $(SHELL) -e $(srcdir)/run_cmd.sh $(tinfo)/MKfallback.sh $(TERMINFO) $(TERMINFO_SRC) "$(TIC_PATH)" "$(INFOCMP_PATH)" $(FALLBACK_LIST) >$@ ./lib_gen.c : $(base)/MKlib_gen.sh ../include/curses.h $(SHELL) -e $(base)/MKlib_gen.sh "$(CPP) $(CPPFLAGS)" "$(AWK)" generated <../include/curses.h >$@ --- ncurses/run_cmd.sh +++ ncurses/run_cmd.sh 2022-02-21 08:55:21.208338888 +0000 @@ -0,0 +1,11 @@ +#!/bin/sh + +PATH=$PWD/../progs:$PATH +if test -n "$LD_LIBRARY_PATH"; then + LD_LIBRARY_PATH="$PWD/../lib:$LD_LIBRARY_PATH" +else + LD_LIBRARY_PATH="$PWD/../lib" +fi +export PATH LD_LIBRARY_PATH + +exec /bin/sh -e ${1+"$@"} --- ncurses/tinfo/MKfallback.sh +++ ncurses/tinfo/MKfallback.sh 2022-02-21 08:55:21.208338888 +0000 @@ -66,14 +66,22 @@ if test $# != 0 ; then TERMINFO=`pwd`/$tmp_info export TERMINFO + test -d "$TERMINFO" || mkdir -p "$TERMINFO" + TERMINFO_DIRS=$TERMINFO:$terminfo_dir export TERMINFO_DIRS - "$tic_path" -x "$terminfo_src" >&2 + "$tic_path" -o "$TERMINFO" -x "$terminfo_src" >&2 else tmp_info= fi +if test -n "$TERMINFO" -a -d "$TERMINFO" ; then + infocmp_args="-v1 -A $TERMINFO" +else + infocmp_args="-v1" +fi + cat </NCURSES_INT2/g' + "$infocmp_path" $infocmp_args -E "$x" | sed -e 's/\/NCURSES_INT2/g' done cat <= 0) { result = value; /* use extension feature */ } else if ((env = getenv("TERM")) != 0) { + char *yast = getenv("YAST_DOES_ACS"); + if (yast != 0) + return 0; /* YaST uses always correct font mappings */ if (strstr(env, "linux")) { result = 1; /* always broken */ } else if (strstr(env, "screen") != 0 --- progs/Makefile.in +++ progs/Makefile.in 2022-02-21 08:55:21.212338812 +0000 @@ -101,7 +101,7 @@ CFLAGS_LIBTOOL = $(CCFLAGS) CFLAGS_NORMAL = $(CCFLAGS) -DNCURSES_STATIC CFLAGS_DEBUG = $(CCFLAGS) -DNCURSES_STATIC @CC_G_OPT@ -DTRACE CFLAGS_PROFILE = $(CCFLAGS) -DNCURSES_STATIC -pg -CFLAGS_SHARED = $(CCFLAGS) @CC_SHARED_OPTS@ +CFLAGS_SHARED = $(CCFLAGS) -fPIE CFLAGS_DEFAULT = $(CFLAGS_@DFT_UPR_MODEL@) @@ -118,7 +118,7 @@ LDFLAGS_LIBTOOL = $(LDFLAGS) $(CFLAGS_LI LDFLAGS_NORMAL = $(LDFLAGS) $(CFLAGS_NORMAL) LDFLAGS_DEBUG = $(LDFLAGS) $(CFLAGS_DEBUG) LDFLAGS_PROFILE = $(LDFLAGS) $(CFLAGS_PROFILE) -LDFLAGS_SHARED = $(LDFLAGS) $(CFLAGS_SHARED) @LD_SHARED_OPTS@ +LDFLAGS_SHARED = $(LDFLAGS) $(CFLAGS_SHARED) -pie LDFLAGS_DEFAULT = $(LDFLAGS_@DFT_UPR_MODEL@) --- test/test.priv.h +++ test/test.priv.h 2022-02-21 08:55:21.212338812 +0000 @@ -1041,12 +1041,12 @@ extern char *_nc_strstr(const char *, co #endif /* out-of-band values for representing absent capabilities */ -#define ABSENT_BOOLEAN ((signed char)-1) /* 255 */ +#define ABSENT_BOOLEAN (char)-1) /* 255 */ #define ABSENT_NUMERIC (-1) #define ABSENT_STRING (char *)0 /* out-of-band values for representing cancels */ -#define CANCELLED_BOOLEAN ((signed char)-2) /* 254 */ +#define CANCELLED_BOOLEAN (-2) /* 254 */ #define CANCELLED_NUMERIC (-2) #define CANCELLED_STRING (char *)(-1) --- test/tracemunch +++ test/tracemunch 2022-02-21 08:55:21.212338812 +0000 @@ -1,4 +1,4 @@ -#!/usr/bin/env perl +#!/usr/bin/perl # $Id: tracemunch,v 1.41 2021/09/04 10:31:03 tom Exp $ ############################################################################## # Copyright 2018-2020,2021 Thomas E. Dickey #