diff options
author | Thomas Adam <thomas@xteddy.org> | 2017-07-21 16:01:13 +0100 |
---|---|---|
committer | Thomas Adam <thomas@xteddy.org> | 2017-07-21 16:01:13 +0100 |
commit | 26db50d6df220afc4530d379e81acf9010ae02d8 (patch) | |
tree | 5b68e03b8b7bc53676acf24363b972a3f38b0409 | |
parent | e725b96a591ff269ad73946ac16b7f8fd3d0d2d9 (diff) | |
parent | 8c6ad5532076254ec138f9b598b41d035bdf68e7 (diff) | |
download | rtmux-26db50d6df220afc4530d379e81acf9010ae02d8.tar.gz rtmux-26db50d6df220afc4530d379e81acf9010ae02d8.tar.bz2 rtmux-26db50d6df220afc4530d379e81acf9010ae02d8.zip |
Merge branch 'obsd-master'
-rw-r--r-- | names.c | 4 | ||||
-rw-r--r-- | tty.c | 15 |
2 files changed, 15 insertions, 4 deletions
@@ -151,7 +151,9 @@ parse_window_name(const char *in) if (*name != '\0') { ptr = name + strlen(name) - 1; - while (ptr > name && !isalnum((u_char)*ptr)) + while (ptr > name && + !isalnum((u_char)*ptr) && + !ispunct((u_char)*ptr)) *ptr-- = '\0'; } @@ -885,7 +885,7 @@ tty_draw_line(struct tty *tty, const struct window_pane *wp, u_int i, j, sx, nx, width; int flags, cleared = 0; char buf[512]; - size_t len; + size_t len, old_len; flags = (tty->flags & TTY_NOCURSOR); tty->flags |= TTY_NOCURSOR; @@ -973,8 +973,17 @@ tty_draw_line(struct tty *tty, const struct window_pane *wp, } } if (len != 0) { - tty_attributes(tty, &last, wp); - tty_putn(tty, buf, len, width); + if (grid_cells_equal(&last, &grid_default_cell)) { + old_len = len; + while (len > 0 && buf[len - 1] == ' ') + len--; + log_debug("%s: trimmed %zu spaces", __func__, + old_len - len); + } + if (len != 0) { + tty_attributes(tty, &last, wp); + tty_putn(tty, buf, len, width); + } } nx = screen_size_x(s) - sx; |