mirror of
https://github.com/tmux/tmux.git
synced 2024-11-17 09:58:52 +00:00
Sync OpenBSD patchset 415:
Don't print wide characters at screen width - 1. Matches uterm behaviour and is probably a better idea anyway.
This commit is contained in:
parent
ac4e4a2b6c
commit
2e39ab59d7
@ -1,4 +1,4 @@
|
||||
/* $Id: screen-write.c,v 1.78 2009-10-23 17:06:23 tcunha Exp $ */
|
||||
/* $Id: screen-write.c,v 1.79 2009-10-23 17:07:18 tcunha Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
|
||||
@ -1006,6 +1006,14 @@ screen_write_cell(
|
||||
} else
|
||||
width = 1;
|
||||
|
||||
/*
|
||||
* If this is a wide character and there is no room on the screen, for
|
||||
* the entire character, don't print it.
|
||||
*/
|
||||
if (width > 1 && (width > screen_size_x(s) ||
|
||||
(s->cx != screen_size_x(s) && s->cx > screen_size_x(s) - width)))
|
||||
return;
|
||||
|
||||
/* If the width is zero, combine onto the previous character. */
|
||||
if (width == 0) {
|
||||
if (s->cx == 0)
|
||||
@ -1037,14 +1045,6 @@ screen_write_cell(
|
||||
return;
|
||||
}
|
||||
|
||||
/* If the character is wider than the screen, don't print it. */
|
||||
if (width > screen_size_x(s)) {
|
||||
memcpy(&tmp_gc, gc, sizeof tmp_gc);
|
||||
tmp_gc.data = '_';
|
||||
width = 1;
|
||||
gc = &tmp_gc;
|
||||
}
|
||||
|
||||
/* Initialise the redraw context, saving the last cell. */
|
||||
screen_write_initctx(ctx, &ttyctx, 1);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user