--- rxvt-unicode/src/screen.C 2008/07/21 16:51:31 1.309 +++ rxvt-unicode/src/screen.C 2008/11/04 13:30:41 1.312 @@ -1499,7 +1499,6 @@ selection_check (1); screen.cur.col -= count; - line->l = max (line->l - count, 0); scr_blank_line (*line, screen.cur.col, count, rstyle); break; @@ -1901,13 +1900,7 @@ # if ENABLE_FRILLS if (option (Opt_urgentOnBell)) - { - if (XWMHints *h = XGetWMHints(dpy, parent[0])) - { - h->flags |= XUrgencyHint; - XSetWMHints (dpy, parent[0], h); - } - } + set_urgency (1); # endif if (option (Opt_visualBell)) @@ -2212,7 +2205,7 @@ // redraw one or more characters // seek to the beginning of wide characters - while (stp[col] == NOCHAR && col > 0) + while (expect_false (stp[col] == NOCHAR && col > 0)) --col; rend_t rend = srp[col]; /* screen rendition (target rendtion) */ @@ -2259,7 +2252,7 @@ count -= i; /* dump any matching trailing chars */ // sometimes we optimize away the trailing NOCHAR's, add them back - while (i && text[count] == NOCHAR) + while (expect_false (i && text[count] == NOCHAR)) count++, i--; /* @@ -2269,7 +2262,7 @@ int back = bgcolor_of (rend); // desired background // only do special processing if any attributes are set, which is unlikely - if (rend & (RS_Bold | RS_Italic | RS_Uline | RS_RVid | RS_Blink | RS_Careful)) + if (expect_false (rend & (RS_Bold | RS_Italic | RS_Uline | RS_RVid | RS_Blink | RS_Careful))) { bool invert = rend & RS_RVid; @@ -2362,7 +2355,7 @@ */ rxvt_font *font = (*fontset[GET_STYLE (rend)])[GET_FONT (rend)]; - if (have_bg && back == Color_bg) + if (expect_true (have_bg && back == Color_bg)) { // this is very ugly, maybe push it into ->draw? @@ -2379,7 +2372,7 @@ else font->draw (*drawable, xpixel, ypixel, text, count, fore, back); - if (rend & RS_Uline && font->descent > 1 && fore != back) + if (expect_false (rend & RS_Uline && font->descent > 1 && fore != back)) { #if ENABLE_FRILLS if (ISSET_PIXCOLOR (Color_underline))