On Thu, Apr 30, 2015 at 06:09:22PM -0400, Stephen Powell wrote:
> On Thu, 30 Apr 2015 07:39:31 -0400 (EDT), Thomas Dickey wrote:
> > 
> > There is no possibility that I will include a patch which implies
> > that PuTTY is xterm, but that inevitably leads to more bug reports.
> > 
> 
> Nor should you.  I agree.  But apparently you did not review my patch
> carefully enough.  The patch itself does not even mention PuTTY.

The intent of the patch is to remove functionality from the xterm description
to make it more like the putty description.  Keep in mind that the original
"putty" description was not from the core PuTTY developers; they have never
contributed to any of this.

> The only mention of PuTTY is in this bug report.  But the patch itself
> does not mention PuTTY.
> >
> > The existing "putty" entry already does what is asked.
> > 
> > See for example
> > 
> > http://invisible-island.net/ncurses/terminfo.src.html#tic-putty
> 
> No, it doesn't.  I am aware of the existence of the "putty" terminal
> type definition in ncurses, but I don't use it because it is way
> out of date.  (That's one problem with a terminal implemented in

PuTTY hasn't changed that much.  I used the default keyboard settings.

> software.  The terminal's capabilities can change over time, whereas
> a hardware terminal generally doesn't change its behavior over time.)
> 
> For a more complete discussion of this topic, please see my PuTTY
> web page at
> 
>    http://users.wowway.com/~zlinuxman/putty.htm#ConnectionD

I read through this, but don't see anything other than a PuTTY-centric
viewpoint.  Encouraging PuTTY users to use TERM=xterm only leads to
bug reports.  To remind you, here's an infocmp listing showing the
differences:

comparing xterm-new to putty.
    comparing booleans.
        OTbs: T:F.
        bw: F:T.
        ccc: F:T.
        hs: F:T.
        km: T:F.
        mc5i: T:F.
        npc: T:F.
        xon: F:T.
        AX: T:F.
    comparing numbers.
        cols: 80, NULL.
        lines: 24, NULL.
        ncv: NULL, 22.
        U8: NULL, 1.
    comparing strings.
        acsc: '``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~', 
'``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~'.
        clear: '\E[H\E[2J', '\E[H\E[J'.
        cnorm: '\E[?12l\E[?25h', '\E[?25h'.
        cud1: '^J', '\ED'.
        cuu1: '\E[A', '\EM'.
        cvvis: '\E[?12;25h', NULL.
        dim: '\E[2m', NULL.
        dispc: NULL, 
'%?%p1%{8}%=%t\E%%G\342\227\230\E%%@%e%p1%{10}%=%t\E%%G\342\227\231\E%%@%e%p1%{12}%=%t\E%%G\342\231\0\E%%@%e%p1%{13}%=%t\E%%G\342\231\252\E%%@%e%p1%{14}%=%t\E%%G\342\231\253\E%%@%e%p1%{15}%=%t\E%%G\342\230\274\E%%@%e%p1%{27}%=%t\E%%G\342\206\220\E%%@%e%p1%{155}%=%t\E%%G\340\202\242\E%%@%e%p1%c%;'.
        dsl: NULL, '\E]0;\007'.
        enacs: NULL, '\E(B\E)0'.
        flash: '\E[?5h$<100/>\E[?5l', '\E[?5h\E[?5l'.
        fsl: NULL, '^G'.
        ich: '\E[%p1%d@', NULL.
        initc: NULL, 
'\E]P%p1%x%p2%{255}%*%{1000}%/%02x%p3%{255}%*%{1000}%/%02x%p4%{255}%*%{1000}%/%02x'.
        invis: '\E[8m', NULL.
        is2: '\E[!p\E[?3;4l\E[4l\E>', 
'\E7\E[r\E[m\E[?7h\E[?1;4;6l\E[4l\E8\E>\E]R'.
        kDC: '\E[3;2~', NULL.
        kEND: '\E[1;2F', NULL.
        kHOM: '\E[1;2H', NULL.
        kIC: '\E[2;2~', NULL.
        kLFT: '\E[1;2D', NULL.
        kNXT: '\E[6;2~', NULL.
        kPRV: '\E[5;2~', NULL.
        kRIT: '\E[1;2C', NULL.
        kb2: '\EOE', '\E[G'.
        kcub1: '\EOD', '\E[D'.
        kcud1: '\EOB', '\E[B'.
        kcuf1: '\EOC', '\E[C'.
        kcuu1: '\EOA', '\E[A'.
        kend: '\EOF', '\E[4~'.
        kent: '\EOM', NULL.
        kf1: '\EOP', '\E[11~'.
        kf13: '\E[1;2P', '\E[25~'.
        kf14: '\E[1;2Q', '\E[26~'.
        kf15: '\E[1;2R', '\E[28~'.
        kf16: '\E[1;2S', '\E[29~'.
        kf17: '\E[15;2~', '\E[31~'.
        kf18: '\E[17;2~', '\E[32~'.
        kf19: '\E[18;2~', '\E[33~'.
        kf2: '\EOQ', '\E[12~'.
        kf20: '\E[19;2~', '\E[34~'.
        kf21: '\E[20;2~', NULL.
        kf22: '\E[21;2~', NULL.
        kf23: '\E[23;2~', NULL.
        kf24: '\E[24;2~', NULL.
        kf25: '\E[1;5P', NULL.
        kf26: '\E[1;5Q', NULL.
        kf27: '\E[1;5R', NULL.
        kf28: '\E[1;5S', NULL.
        kf29: '\E[15;5~', NULL.
        kf3: '\EOR', '\E[13~'.
        kf30: '\E[17;5~', NULL.
        kf31: '\E[18;5~', NULL.
        kf32: '\E[19;5~', NULL.
        kf33: '\E[20;5~', NULL.
        kf34: '\E[21;5~', NULL.
        kf35: '\E[23;5~', NULL.
        kf36: '\E[24;5~', NULL.
        kf37: '\E[1;6P', NULL.
        kf38: '\E[1;6Q', NULL.
        kf39: '\E[1;6R', NULL.
        kf4: '\EOS', '\E[14~'.
        kf40: '\E[1;6S', NULL.
        kf41: '\E[15;6~', NULL.
        kf42: '\E[17;6~', NULL.
        kf43: '\E[18;6~', NULL.
        kf44: '\E[19;6~', NULL.
        kf45: '\E[20;6~', NULL.
        kf46: '\E[21;6~', NULL.
        kf47: '\E[23;6~', NULL.
        kf48: '\E[24;6~', NULL.
        kf49: '\E[1;3P', NULL.
        kf50: '\E[1;3Q', NULL.
        kf51: '\E[1;3R', NULL.
        kf52: '\E[1;3S', NULL.
        kf53: '\E[15;3~', NULL.
        kf54: '\E[17;3~', NULL.
        kf55: '\E[18;3~', NULL.
        kf56: '\E[19;3~', NULL.
        kf57: '\E[20;3~', NULL.
        kf58: '\E[21;3~', NULL.
        kf59: '\E[23;3~', NULL.
        kf60: '\E[24;3~', NULL.
        kf61: '\E[1;4P', NULL.
        kf62: '\E[1;4Q', NULL.
        kf63: '\E[1;4R', NULL.
        khome: '\EOH', '\E[1~'.
        kind: '\E[1;2B', NULL.
        kri: '\E[1;2A', NULL.
        kspd: NULL, '^Z'.
        mc0: '\E[i', NULL.
        mc4: '\E[4i', NULL.
        mc5: '\E[5i', NULL.
        meml: '\El', NULL.
        memu: '\Em', NULL.
        nel: NULL, '^M^J'.
        oc: NULL, '\E]R'.
        ritm: '\E[23m', NULL.
        rmacs: '\E(B', '^O'.
        rmcup: '\E[?1049l', '\E[2J\E[?47l'.
        rmkx: '\E[?1l\E>', NULL.
        rmm: '\E[?1034l', NULL.
        rmpch: NULL, '\E[10m'.
        rs1: '\Ec', NULL.
        rs2: '\E[!p\E[?3;4l\E[4l\E>', '\E<\E["p\E[50;6"p\Ec\E[?3l\E]R\E[?1000l'.
        s0ds: NULL, '\E[10m'.
        s1ds: NULL, '\E[11m'.
        s2ds: NULL, '\E[12m'.
        setb: 
'\E[4%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m', NULL.
        setf: 
'\E[3%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m', NULL.
        sgr: 
'%?%p9%t\E(0%e\E(B%;\E[0%?%p6%t;1%;%?%p5%t;2%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%?%p7%t;8%;m',
 
'\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;'.
        sgr0: '\E(B\E[m', '\E[m\017'.
        sitm: '\E[3m', NULL.
        smacs: '\E(0', '^N'.
        smcup: '\E[?1049h', '\E[?47h'.
        smkx: '\E[?1h\E=', NULL.
        smm: '\E[?1034h', NULL.
        smpch: NULL, '\E[11m'.
        tsl: NULL, '\E]0;'.
        u8: '\E[?1;2c', '\E[?6c'.
        Cr: '\E]112\007', NULL.
        Cs: '\E]12;%p1%s\007', NULL.
        Ms: '\E]52;%p1%s;%p2%s\007', NULL.
        Se: '\E[2 q', NULL.
        Ss: '\E[%p1%d q', NULL.
        TS: NULL, '\E]0;'.
        kDC3: '\E[3;3~', NULL.
        kDC4: '\E[3;4~', NULL.
        kDC5: '\E[3;5~', NULL.
        kDC6: '\E[3;6~', NULL.
        kDC7: '\E[3;7~', NULL.
        kDN: '\E[1;2B', NULL.
        kDN3: '\E[1;3B', NULL.
        kDN4: '\E[1;4B', NULL.
        kDN5: '\E[1;5B', NULL.
        kDN6: '\E[1;6B', NULL.
        kDN7: '\E[1;7B', NULL.
        kEND3: '\E[1;3F', NULL.
        kEND4: '\E[1;4F', NULL.
        kEND5: '\E[1;5F', NULL.
        kEND6: '\E[1;6F', NULL.
        kEND7: '\E[1;7F', NULL.
        kHOM3: '\E[1;3H', NULL.
        kHOM4: '\E[1;4H', NULL.
        kHOM5: '\E[1;5H', NULL.
        kHOM6: '\E[1;6H', NULL.
        kHOM7: '\E[1;7H', NULL.
        kIC3: '\E[2;3~', NULL.
        kIC4: '\E[2;4~', NULL.
        kIC5: '\E[2;5~', NULL.
        kIC6: '\E[2;6~', NULL.
        kIC7: '\E[2;7~', NULL.
        kLFT3: '\E[1;3D', NULL.
        kLFT4: '\E[1;4D', NULL.
        kLFT5: '\E[1;5D', NULL.
        kLFT6: '\E[1;6D', NULL.
        kLFT7: '\E[1;7D', NULL.
        kNXT3: '\E[6;3~', NULL.
        kNXT4: '\E[6;4~', NULL.
        kNXT5: '\E[6;5~', NULL.
        kNXT6: '\E[6;6~', NULL.
        kNXT7: '\E[6;7~', NULL.
        kPRV3: '\E[5;3~', NULL.
        kPRV4: '\E[5;4~', NULL.
        kPRV5: '\E[5;5~', NULL.
        kPRV6: '\E[5;6~', NULL.
        kPRV7: '\E[5;7~', NULL.
        kRIT3: '\E[1;3C', NULL.
        kRIT4: '\E[1;4C', NULL.
        kRIT5: '\E[1;5C', NULL.
        kRIT6: '\E[1;6C', NULL.
        kRIT7: '\E[1;7C', NULL.
        kUP: '\E[1;2A', NULL.
        kUP3: '\E[1;3A', NULL.
        kUP4: '\E[1;4A', NULL.
        kUP5: '\E[1;5A', NULL.
        kUP6: '\E[1;6A', NULL.
        kUP7: '\E[1;7A', NULL.

-- 
Thomas E. Dickey <dic...@invisible-island.net>
http://invisible-island.net
ftp://invisible-island.net

Attachment: signature.asc
Description: Digital signature

Reply via email to