… | |
… | |
917 | else |
917 | else |
918 | screen.cur.col = ncol - width; |
918 | screen.cur.col = ncol - width; |
919 | } |
919 | } |
920 | |
920 | |
921 | // nuke the character at this position, if required |
921 | // nuke the character at this position, if required |
922 | if (expect_false ( |
922 | // due to wonderful coincidences everywhere else in this loop |
|
|
923 | // we never have to check for overwriting a wide char itself, |
|
|
924 | // only its tail. |
923 | line->t[screen.cur.col] == NOCHAR |
925 | if (expect_false (line->t[screen.cur.col] == NOCHAR)) |
924 | || (screen.cur.col < ncol - 1 |
|
|
925 | && line->t[screen.cur.col + 1] == NOCHAR) |
|
|
926 | )) |
|
|
927 | scr_kill_char (*line, screen.cur.col); |
926 | scr_kill_char (*line, screen.cur.col); |
928 | |
927 | |
929 | line->touch (); |
928 | line->touch (); |
930 | |
929 | |
931 | do |
930 | do |