Fixing the black remaining lines in mc and dialog. - st - Personal fork of st
 (HTM) git clone git://git.drkhsh.at/st.git
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
 (DIR) LICENSE
       ---
 (DIR) commit 26c101b70671d1adbdd4e31af70502605fe3ebbf
 (DIR) parent 384fabdb5b2ac6c700a974a7fac539c8c14107f6
 (HTM) Author: Christoph Lohmann <20h@r-36.net>
       Date:   Sun, 27 Jan 2013 13:26:06 +0100
       
       Fixing the black remaining lines in mc and dialog.
       
       This also applies some style fixes and handles some old blink codes.
       
       Diffstat:
         M st.c                                |      27 +++++++++++++++------------
       
       1 file changed, 15 insertions(+), 12 deletions(-)
       ---
 (DIR) diff --git a/st.c b/st.c
       @@ -1421,7 +1421,8 @@ tsetattr(int *attr, int l) {
                        case 4:
                                term.c.attr.mode |= ATTR_UNDERLINE;
                                break;
       -                case 5:
       +                case 5: /* slow blink */
       +                case 6: /* rapid blink */
                                term.c.attr.mode |= ATTR_BLINK;
                                break;
                        case 7:
       @@ -1438,6 +1439,7 @@ tsetattr(int *attr, int l) {
                                term.c.attr.mode &= ~ATTR_UNDERLINE;
                                break;
                        case 25:
       +                case 26:
                                term.c.attr.mode &= ~ATTR_BLINK;
                                break;
                        case 27:
       @@ -1744,7 +1746,7 @@ csihandle(void) {
                case 'X': /* ECH -- Erase <n> char */
                        DEFAULT(csiescseq.arg[0], 1);
                        tclearregion(term.c.x, term.c.y, term.c.x + csiescseq.arg[0],
       -                                term.c.y, 0);
       +                                term.c.y, 1);
                        break;
                case 'P': /* DCH -- Delete <n> char */
                        DEFAULT(csiescseq.arg[0], 1);
       @@ -2206,9 +2208,11 @@ tresize(int col, int row) {
                /* free unneeded rows */
                i = 0;
                if(slide > 0) {
       -                /* slide screen to keep cursor where we expect it -
       +                /*
       +                 * slide screen to keep cursor where we expect it -
                         * tscrollup would work here, but we can optimize to
       -                 * memmove because we're freeing the earlier lines */
       +                 * memmove because we're freeing the earlier lines
       +                 */
                        for(/* i = 0 */; i < slide; i++) {
                                free(term.line[i]);
                                free(term.alt[i]);
       @@ -2456,8 +2460,7 @@ xloadfonts(char *fontstr, int fontsize) {
        }
        
        void
       -xunloadfonts(void)
       -{
       +xunloadfonts(void) {
                int i, ip;
        
                /*
       @@ -2487,8 +2490,7 @@ xunloadfonts(void)
        }
        
        void
       -xzoom(const Arg *arg)
       -{
       +xzoom(const Arg *arg) {
                xunloadfonts();
                xloadfonts(usedfont, usedfontsize + arg->i);
                cresize(0, 0);
       @@ -3109,8 +3111,10 @@ kpress(XEvent *ev) {
        
        void
        cmessage(XEvent *e) {
       -        /* See xembed specs
       -           http://standards.freedesktop.org/xembed-spec/xembed-spec-latest.html */
       +        /*
       +         * See xembed specs
       +         *  http://standards.freedesktop.org/xembed-spec/xembed-spec-latest.html
       +         */
                if(e->xclient.message_type == xw.xembed && e->xclient.format == 32) {
                        if(e->xclient.data.l[1] == XEMBED_FOCUS_IN) {
                                xw.state |= WIN_FOCUSED;
       @@ -3126,8 +3130,7 @@ cmessage(XEvent *e) {
        }
        
        void
       -cresize(int width, int height)
       -{
       +cresize(int width, int height) {
                int col, row;
        
                if(width != 0)