--- .pkgextract +++ .pkgextract 2006-05-18 16:07:14.000000000 +0200 @@ -0,0 +1,6 @@ +tar Oxfj ../ncurses-5.6-20070128-patch.tar.bz2 | patch -p1 -s +patch -p0 -s --suffix=.va < ../ncurses-5.3-printw.dif +patch -p0 -s --suffix=.pt < ../ncurses-5.6-pthread.dif +patch -p0 -s --suffix=.ov < ../ncurses-5.6-overwrite.dif +patch -p0 -s --suffix=.cv < ../ncurses-5.6-coverity.patch +patch -p0 -s --suffix=.gpm < ../ncurses-5.6-gpm.dif --- aclocal.m4 +++ aclocal.m4 2007-01-31 13:28:46.000000000 +0100 @@ -298,7 +298,7 @@ AC_MSG_CHECKING([for size of bool]) AC_CACHE_VAL(cf_cv_type_of_bool,[ rm -f cf_test.out AC_TRY_RUN([ -#include +//#include // conflict with exit declaration #include #if defined(__cplusplus) @@ -2942,12 +2942,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 @@ -2990,7 +2993,7 @@ cat >>$cf_edit_man <>$cf_edit_man <>$cf_edit_man <>$cf_edit_man <\$TMP CF_EOF if test -n "$cf_compress" ; then @@ -3051,8 +3054,8 @@ cat >>$cf_edit_man <>$cf_edit_man <>$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 @@ -8234,7 +8237,7 @@ cat >>$cf_edit_man <>$cf_edit_man <>$cf_edit_man <>$cf_edit_man <\$TMP CF_EOF if test -n "$cf_compress" ; then @@ -8295,8 +8298,8 @@ cat >>$cf_edit_man <>$cf_edit_man < +// #include // conflict with exit declaration #include #if defined(__cplusplus) @@ -15217,6 +15221,7 @@ if test "$with_termlib" != no ; then TINFO_ARGS="-L${LIB_DIR} $TEST_ARGS" SHLIB_LIST="$SHLIB_LIST -l${TINFO_LIB_SUFFIX}" fi + TINFO_ARGS="$TINFO_ARGS -L${LIB_DIR} -l${LIB_NAME}${DFT_ARG_SUFFIX}" else TINFO_ARGS="-L${LIB_DIR} -l${LIB_NAME}${DFT_ARG_SUFFIX}" fi --- configure.in +++ configure.in 2007-01-31 15:37:34.000000000 +0100 @@ -1510,6 +1510,7 @@ if test "$with_termlib" != no ; then TINFO_ARGS="-L${LIB_DIR} $TEST_ARGS" SHLIB_LIST="$SHLIB_LIST -l${TINFO_LIB_SUFFIX}" fi + TINFO_ARGS="$TINFO_ARGS -L${LIB_DIR} -l${LIB_NAME}${DFT_ARG_SUFFIX}" else TINFO_ARGS="-L${LIB_DIR} -l${LIB_NAME}${DFT_ARG_SUFFIX}" fi --- include/curses.h.in +++ include/curses.h.in 2006-05-18 16:07:15.000000000 +0200 @@ -130,6 +130,8 @@ typedef unsigned @cf_cv_typeof_chtype@ c typedef unsigned @cf_cv_typeof_mmask_t@ mmask_t; #endif +#include +#include #include #include #include /* we need va_list */ --- include/termcap.h.in +++ include/termcap.h.in 2006-05-18 16:07:15.000000000 +0200 @@ -46,6 +46,8 @@ extern "C" { #endif /* __cplusplus */ +#include +#include #include #undef NCURSES_CONST --- include/tic.h +++ include/tic.h 2006-05-18 16:07:15.000000000 +0200 @@ -226,12 +226,12 @@ extern NCURSES_EXPORT(const struct name_ #define NOTFOUND ((struct name_table_entry *) 0) /* 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 2006-05-18 16:07:15.000000000 +0200 @@ -158,6 +158,8 @@ tput.1 tput.1 tset.1 tset.1 vprintf.3s vprintf.3 wresize.3x wresize.3ncurses +curs_terminfo.\\\*n terminfo.5 +tack.1 tack.1 # # Other: tack.1m tack.1 --- man/ncurses.3x +++ man/ncurses.3x 2006-05-18 16:07:15.000000000 +0200 @@ -88,6 +88,10 @@ after the shell environment variable \fB \fBtset(1)\fR is usually responsible for doing this. [See \fBterminfo\fR(\*n) for further details.] .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 upto the programmer. +.PP The \fBncurses\fR library permits manipulation of data structures, called \fIwindows\fR, which can be thought of as two-dimensional arrays of characters representing all or part of a CRT screen. A --- misc/ncurses-config.in +++ misc/ncurses-config.in 2008-04-10 11:12:06.528491302 +0200 @@ -73,7 +73,7 @@ while test $# -gt 0; do if test "${prefix}/include" != /usr/include ; then INCS="-I${prefix}/include" fi - if test "@WITH_OVERWRITE@" != no ; then + if test "${THIS%[0-9]*}" != ncurses ; then INCS="$INCS -I${prefix}/include/${THIS}" fi sed -e 's,^[ ]*,,' -e 's, [ ]*, ,g' -e 's,[ ]*$,,' <<-ENDECHO --- misc/terminfo.src +++ misc/terminfo.src 2007-01-31 14:27:30.000000000 +0100 @@ -301,7 +301,9 @@ dumb|80-column dumb tty, am, cols#80, bel=^G, cr=^M, cud1=^J, ind=^J, -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, @@ -747,9 +749,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+ +# linux|linux 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, # See the note on ICH/ICH1 VERSUS RMIR/SMIR near the end of file linux-nic|linux with ich/ich1 suppressed for non-curses programs, @@ -2141,6 +2149,7 @@ vt132|DEC vt132, # at the top of the keyboard. The "DO" key is used as F10 to avoid conflict # with the key marked (ESC) on the vt220. See vt220d for an alternate mapping. # PF1--PF4 are used as F1--F4. +# (cvvis added by werner) # vt220-old|vt200-old|DEC VT220 in vt100 emulation mode, OTbs, OTpt, am, mir, xenl, xon, @@ -2150,7 +2159,7 @@ vt220-old|vt200-old|DEC VT220 in vt100 e bel=^G, blink=\E[5m$<2>, bold=\E[1m$<2>, civis=\E[?25l, clear=\E[H\E[2J$<50>, cnorm=\E[?25h, cr=^M, csr=\E[%i%p1%d;%p2%dr, cub1=^H, cud1=\E[B, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH$<10>, cuu1=\E[A, dch1=\E[P, + cup=\E[%i%p1%d;%p2%dH$<10>, cuu1=\E[A, cvvis=\E[?25h, dch1=\E[P, dl1=\E[M, ed=\E[J$<50>, el=\E[K$<3>, home=\E[H, ht=^I, if=/usr/share/tabset/vt100, il1=\E[L, ind=\ED$<20/>, is2=\E[1;24r\E[24;1H, kbs=^H, kcub1=\E[D, kcud1=\E[B, @@ -2298,6 +2307,7 @@ vt320nam|v320n|DEC VT320 in vt100 emul. # to SMASH the 1k-barrier... # From: Adam Thompson Sept 10 1995 # (vt320: uncommented --esr) +# (cvvis added by werner) vt320|vt300|dec vt320 7 bit terminal, am, eslok, hs, mir, msgr, xenl, cols#80, lines#24, wsl#80, @@ -2307,7 +2317,7 @@ vt320|vt300|dec vt320 7 bit terminal, csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C, 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, + cvvis=\E[?25h, dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M, ech=\E[%p1%dX, ed=\E[J, el=\E[K, el1=\E[1K, fsl=\E[0$}, home=\E[H, ht=^I, hts=\EH, ich=\E[%p1%d@, il=\E[%p1%dL, il1=\E[L, ind=\ED, @@ -2740,13 +2750,14 @@ putty-vt100|VT100+ keyboard layout, # retrieving the window title, and for setting the window size (i.e., using # "resize -s"), though it does not pass SIGWINCH to the application if the # user resizes the window with the mouse. +# (cvvis added by werner) teraterm|Tera Term Pro, km, xon@, ncv#43, vt@, acsc=+\020\,\021-\030.^Y0\333`\004a\261f\370g\361h\260i\316j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376, blink=\E[5m, bold=\E[1m, civis=\E[?25l, clear=\E[H\E[J, cnorm=\E[?25h, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, - cuu1=\E[A, dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, + cuu1=\E[A, cvvis=\E[?25h, dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M, ech=\E[%p1%dX, ed=\E[J, el=\E[K, el1=\E[1K, flash=\E[?5h\E[?5l$<200/>, hpa=\E[%i%p1%dG, il=\E[%p1%dL, il1=\E[L, kdch1=\E[3~, kf1=\E[11~, @@ -2920,6 +2931,7 @@ xterm-r6|xterm-old|xterm X11R6 version, use=vt100+enq, # This is the base xterm entry for the xterm supplied with XFree86 3.2 & up. # The name has been changed and some aliases have been removed. +# (cvvis added by werner) xterm-xf86-v32|xterm terminal emulator (XFree86 3.2 Window System), OTbs, am, bce, km, mir, msgr, xenl, cols#80, it#8, lines#24, ncv@, @@ -2929,7 +2941,7 @@ xterm-xf86-v32|xterm terminal emulator ( csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C, 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, + cvvis=\E[?25h, dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M, ech=\E[%p1%dX, ed=\E[J, el=\E[K, el1=\E[1K, enacs=\E(B\E)0, flash=\E[?5h$<100/>\E[?5l, home=\E[H, hpa=\E[%i%p1%dG, ht=^I, hts=\EH, ich=\E[%p1%d@, ich1=\E[@, il=\E[%p1%dL, @@ -3285,8 +3297,26 @@ xterm-noapp|xterm with cursor keys in no xterm-24|vs100|xterms|xterm terminal emulator (X Window System), lines#24, use=xterm, +# 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 (X11R6.8.2 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-new, + # 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, # These entries allow access to the X titlebar and icon name as a status line. @@ -3379,7 +3409,7 @@ xterm-color|nxterm|generic color xterm, op=\E[m, use=xterm-r6, use=klone+color, # 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=\177, kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS, use=xterm-color, @@ -3468,10 +3498,14 @@ mgt|Multi GNOME Terminal, # 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=\177, kend=\E[F, khome=\E[H, use=xterm-color, +# This is kvt for SuSE because we do not support BrokenByDesign[tm]. +kvt|KDE terminal, + kbs=\177, kdch1=\E[3~, use=kvt-rh, + # Konsole 1.0.1 # (formerly known as kvt) # @@ -3559,17 +3593,18 @@ konsole|KDE console window, # # There are some problems with vttest: # test of character sets leaves it in line-drawing mode. +# Add cvvis mlterm|multi lingual terminal emulator, am, eslok, km, mc5i, mir, msgr, npc, xenl, colors#8, cols#80, it#8, lines#24, pairs#64, - acsc=00``aaffgghhjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, + acsc=++\,\,--..00II``aaffgghhjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, bel=^G, bold=\E[1m, cbt=\E[Z, civis=\E[?25l, clear=\E[H\E[2J, cnorm=\E[?25h, cr=^M, csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C, 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, - ech=\E[%p1%dX, ed=\E[J, el=\E[K, el1=\E[1K, enacs=, + cvvis=\E[?25h, dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, + dl1=\E[M, ech=\E[%p1%dX, ed=\E[J, el=\E[K, el1=\E[1K, enacs=, home=\E[H, hpa=\E[%i%p1%dG, ht=^I, hts=\EH, ich=\E[%p1%d@, ich1=\E[@, il=\E[%p1%dL, il1=\E[L, ind=^J, indn=\E[%p1%dS, is2=\E7\E[r\E[m\E[?7h\E[?1;3;4;6l\E[4l\E8\E>, @@ -3608,6 +3643,7 @@ mlterm|multi lingual terminal emulator, # rxvt is normally configured to look for "xterm" or "xterm-color" as $TERM. # Since rxvt is not really compatible with xterm, it should be configured as # "rxvt" (monochrome) and "rxvt-color". +# (cvvis added by werner) # # removed dch/dch1 because they are inconsistent with bce/ech -TD # remove km as per tack test -TD @@ -3619,13 +3655,14 @@ rxvt-basic|rxvt terminal base (X Window clear=\E[H\E[2J, cnorm=\E[?25h, cr=^M, csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, + cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, cvvis=\E[?25h, dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, el=\E[K, el1=\E[1K, enacs=\E(B\E)0, flash=\E[?5h\E[?5l, home=\E[H, ht=^I, hts=\EH, ich=\E[%p1%d@, ich1=\E[@, il=\E[%p1%dL, il1=\E[L, ind=^J, 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, - kcbt=\E[Z, kmous=\E[M, rc=\E8, rev=\E[7m, ri=\EM, rmacs=^O, + is2=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l, kbs=\177, kcbt=\E[Z, + kmous=\E[M, kf1=\E[11~, kf2=\E[12~, kf3=\E[13~, kf4=\E[14~, + 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, rs1=\E>\E[1;3;4;5;6l\E[?7h\E[m\E[r\E[2J\E[H, @@ -3634,7 +3671,7 @@ rxvt-basic|rxvt terminal base (X Window sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;, sgr0=\E[0m\017, smacs=^N, smcup=\E7\E[?47h, smir=\E[4h, smkx=\E=, smso=\E[7m, smul=\E[4m, tbc=\E[3g, use=vt100+enq, - use=rxvt+pcfkeys, use=vt220+keypad, + use=vt220+keypad, use=rxvt+pcfkeys, # Key Codes from rxvt reference: # # Note: Shift + F1-F10 generates F11-F20 @@ -3708,8 +3745,8 @@ rxvt-basic|rxvt terminal base (X Window # Removed kDN6, etc (control+shift) since rxvt does not implement this -TD rxvt+pcfkeys|fragment for PC-style fkeys, kDC=\E[3$, kEND=\E[8$, kHOM=\E[7$, kIC=\E2$, kLFT=\E[d, - kNXT=\E[6$, kPRV=\E[5$, kRIT=\E[c, kcub1=\E[D, kcud1=\E[B, - kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[3~, kel=\E[8\^, + kNXT=\E[6$, kPRV=\E[5$, kRIT=\E[c, kcub1=\EOD, kcud1=\EOB, + kcuf1=\EOC, kcuu1=\EOA, kdch1=\E[3~, 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~, @@ -3742,6 +3779,29 @@ rxvt-cygwin-native|rxvt terminal emulato acsc=0\333+\257\,\256-\^`\004a\261f\370g\361h\260j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\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 +# +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\\, + 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, + 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\017, 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, + # This variant is supposed to work with rxvt 2.7.7 when compiled with # NO_BRIGHTCOLOR defined. rxvt needs more work... rxvt-16color|xterm with 16 colors like aixterm, @@ -3752,7 +3812,7 @@ rxvt-16color|xterm with 16 colors like a # Eterm 0.9.3 # # removed kf0 which conflicts with kf10 -TD -# remove cvvis which conflicts with cnorm -TD +# remove cvvis which conflicts with cnorm -TD (and re-added by werner) # Eterm does not implement control/shift cursor keys such as kDN6, or kPRV/kNXT # but does otherwise follow the rxvt+pcfkeys model -TD # remove nonworking flash -TD @@ -3766,13 +3826,13 @@ Eterm|Eterm-color|Eterm with xterm-style csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=\E[B, cuf=\E[%p1%dC, cuf1=\E[C, 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, + cvvis=\E[?25h, dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M, ech=\E[%p1%dX, ed=\E[J, el=\E[K, el1=\E[1K, enacs=\E)0, home=\E[H, hpa=\E[%i%p1%dG, ht=^I, hts=\EH, ich=\E[%p1%d@, ich1=\E[@, il=\E[%p1%dL, il1=\E[L, ind=^J, 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=\177, 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=, @@ -4108,7 +4168,7 @@ pty|4bsd pseudo teletype, smso=\Ea$, smul=\Ea!, use=cbunix, # 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=^M, @@ -4121,6 +4181,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, # Entries for use by the `screen' program by Juergen Weigert, # Michael Schroeder, Oliver Laumann. The screen and @@ -4149,7 +4216,7 @@ screen|VT 100/ANSI X3.64 virtual termina cvvis=\E[34l, dch=\E[%p1%dP, dch1=\E[P, 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, ht=^I, hts=\EH, ich=\E[%p1%d@, - il=\E[%p1%dL, il1=\E[L, ind=^J, is2=\E)0, kbs=^H, kcbt=\E[Z, + il=\E[%p1%dL, il1=\E[L, ind=^J, is2=\E)0, kbs=\177, kcbt=\E[Z, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kdch1=\E[3~, kend=\E[4~, kf1=\EOP, kf10=\E[21~, kf11=\E[23~, kf12=\E[24~, kf2=\EOQ, kf3=\EOR, kf4=\EOS, @@ -4265,7 +4332,7 @@ screen2|old VT 100/ANSI X3.64 virtual te 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=^J, kbs=^H, kcub1=\ED, kcud1=\EB, kcuf1=\EC, + il1=\E[L, ind=^J, kbs=\177, 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=^M^J, rc=\E8, ri=\EM, rmir=\E[4l, rmso=\E[23m, @@ -5998,7 +6065,7 @@ hp700-wy|HP700/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, @@ -9129,6 +9196,7 @@ msk22714|mskermit22714|UCB MS-DOS Kermit # at support for the VT320 itself. # Please send changes with explanations to bug-gnu-emacs@prep.ai.mit.edu. # (vt320-k3: I added / based on the init string -- esr) +# (cvvis added by werner) vt320-k3|MS-Kermit 3.00's vt320 emulation, am, eslok, hs, km, mir, msgr, xenl, cols#80, it#8, lines#49, pb#9600, vt#3, @@ -9138,7 +9206,7 @@ vt320-k3|MS-Kermit 3.00's vt320 emulatio csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C, 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, + cvvis=\E[?25h, dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M, dsl=\E[0$~, ech=\E[%p1%dX, ed=\E[J, el=\E[K, flash=\E[?5h\E[?5l\E[?5h\E[?5l\E[?5h\E[?5l, fsl=\E[0$}, home=\E[H, hpa=\E[%i%p1%dG, ht=^I, hts=\EH, @@ -13413,7 +13481,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=^J, kcub1=\ED, kcud1=\EB, kcuf1=\EC, kcuu1=\EA, nel=^M^J, 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%{80}%|%;%c%?%p9%t\E>A%e\E>B%;, sgr0=\E4@\E>B, smacs=\E>A, smcup=\E>B, use=ibm3162, @@ -13641,7 +13709,7 @@ lft|lft-pc850|LFT-PC850|IBM LFT PC850 De sgr=\E[%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;%?%p7%t;8%;m%?%p9%t\E(0%e\E(B%;, sgr0=\E[0m, smacs=\E(0, smir=\E[4h, smso=\E[7m, smul=\E[4m, tbc=\E[3g, -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 2007-01-31 13:34:38.000000000 +0100 @@ -184,7 +184,7 @@ $(DESTDIR)$(libdir) : ../lib : ; mkdir $@ ./fallback.c : $(tinfo)/MKfallback.sh - sh $(tinfo)/MKfallback.sh @TERMINFO@ @TERMINFO_SRC@ $(FALLBACK_LIST) >$@ + sh $(srcdir)/run_cmd.sh $(tinfo)/MKfallback.sh @TERMINFO@ @TERMINFO_SRC@ $(FALLBACK_LIST) >$@ ./lib_gen.c : $(base)/MKlib_gen.sh ../include/curses.h sh $(base)/MKlib_gen.sh "$(CPP) $(CPPFLAGS)" "$(AWK)" generated <../include/curses.h >$@ --- ncurses/curses.priv.h +++ ncurses/curses.priv.h 2006-05-18 16:07:15.000000000 +0200 @@ -1202,6 +1202,8 @@ extern NCURSES_EXPORT(WINDOW *) _nc_make extern NCURSES_EXPORT(char *) _nc_trace_buf (int, size_t); extern NCURSES_EXPORT(char *) _nc_trace_bufcat (int, const char *); extern NCURSES_EXPORT(int) _nc_access (const char *, int); +extern NCURSES_EXPORT(void) _nc_fsid(void); +extern NCURSES_EXPORT(void) _nc_fseid(void); extern NCURSES_EXPORT(int) _nc_baudrate (int); extern NCURSES_EXPORT(int) _nc_freewin (WINDOW *); extern NCURSES_EXPORT(int) _nc_getenv_num (const char *); --- ncurses/run_cmd.sh +++ ncurses/run_cmd.sh 2006-05-18 16:07:15.000000000 +0200 @@ -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 ${1+"$@"} --- ncurses/tinfo/MKfallback.sh +++ ncurses/tinfo/MKfallback.sh 2006-05-18 16:07:15.000000000 +0200 @@ -57,6 +57,12 @@ else tmp_info= fi +if test -n "$TERMINFO" -a -d "$TERMINFO" ; then + infocmp="infocmp -v1 -A $TERMINFO" +else + infocmp="infocmp -v1" +fi + cat < #include +#ifdef linux +# include +#endif MODULE_ID("$Id: access.c,v 1.12 2006/08/05 17:18:14 tom Exp $") @@ -106,6 +109,30 @@ _nc_basename(char *path) return path + _nc_pathlast(path); } +NCURSES_EXPORT(void) +_nc_fsid() +{ +#ifdef linux + int _old_errno = errno; + setfsuid(getuid()); + setfsgid(getgid()); + errno = _old_errno; +#endif + return; +} + +NCURSES_EXPORT(void) +_nc_fseid() +{ +#ifdef linux + int _old_errno = errno; + setfsuid(geteuid()); + setfsgid(getegid()); + errno = _old_errno; +#endif + return; +} + NCURSES_EXPORT(int) _nc_access(const char *path, int mode) { --- ncurses/tinfo/lib_setup.c +++ ncurses/tinfo/lib_setup.c 2006-05-18 17:52:22.000000000 +0200 @@ -432,6 +432,9 @@ _nc_locale_breaks_acs(void) if ((env = getenv("NCURSES_NO_UTF8_ACS")) != 0) { return atoi(env); } 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")) return 1; /* always broken */ if (strstr(env, "screen") != 0 --- ncurses/tinfo/read_entry.c +++ ncurses/tinfo/read_entry.c 2006-05-18 16:07:15.000000000 +0200 @@ -366,6 +366,7 @@ _nc_read_file_entry(const char *const fi int limit; char buffer[MAX_ENTRY_SIZE + 1]; + _nc_fsid(); if (_nc_access(filename, R_OK) < 0 || (fd = open(filename, O_RDONLY | O_BINARY)) < 0) { T(("cannot open terminfo %s (errno=%d)", filename, errno)); @@ -382,6 +383,7 @@ _nc_read_file_entry(const char *const fi } close(fd); } + _nc_fseid(); return (code); } --- ncurses/tinfo/read_termcap.c +++ ncurses/tinfo/read_termcap.c 2006-05-18 16:07:15.000000000 +0200 @@ -319,14 +319,18 @@ _nc_getent( */ if (fd >= 0) { (void) lseek(fd, (off_t) 0, SEEK_SET); - } else if ((_nc_access(db_array[current], R_OK) < 0) - || (fd = open(db_array[current], O_RDONLY, 0)) < 0) { - /* No error on unfound file. */ - if (errno == ENOENT) - continue; - free(record); - return (TC_SYS_ERR); } else { + _nc_fsid(); + if ((_nc_access(db_array[current], R_OK) < 0) || + (fd = open(db_array[current], O_RDONLY, 0)) < 0) { + _nc_fseid(); + /* No error on unfound file. */ + if (errno == ENOENT) + continue; + free(record); + return (TC_SYS_ERR); + } + _nc_fseid(); myfd = TRUE; } lineno = 0; @@ -1097,8 +1101,10 @@ _nc_read_termcap_entry(const char *const for (i = 0; i < filecount; i++) { T(("Looking for %s in %s", tn, termpaths[i])); + _nc_fsid(); if (_nc_access(termpaths[i], R_OK) == 0 && (fp = fopen(termpaths[i], "r")) != (FILE *) 0) { + _nc_fseid(); _nc_set_source(termpaths[i]); /* @@ -1110,6 +1116,7 @@ _nc_read_termcap_entry(const char *const (void) fclose(fp); } + _nc_fseid(); } } if (copied != 0) --- test/test.priv.h +++ test/test.priv.h 2006-05-18 16:07:19.000000000 +0200 @@ -429,12 +429,12 @@ extern int optind; #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)