diff options
author | nicm <nicm> | 2020-12-01 08:12:58 +0000 |
---|---|---|
committer | nicm <nicm> | 2020-12-01 08:12:58 +0000 |
commit | 9a74bba007a60b93d1fdf68772e5cfb61b3558ff (patch) | |
tree | 5fb726f069c0e148a3d782542c748554d33b9609 /format-draw.c | |
parent | 33046ecee2090a7ff733097d1c05d377936b3e5f (diff) | |
download | rtmux-9a74bba007a60b93d1fdf68772e5cfb61b3558ff.tar.gz rtmux-9a74bba007a60b93d1fdf68772e5cfb61b3558ff.tar.bz2 rtmux-9a74bba007a60b93d1fdf68772e5cfb61b3558ff.zip |
Make replacement of ##s consistent when drawing formats, whether
followed by [ or not. Add a flag (e) to the q: format modifier to double
up #s and use it for the window_flags format variable so it doesn't end
up escaping any following text. GitHub issue 2485.
Diffstat (limited to 'format-draw.c')
-rw-r--r-- | format-draw.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/format-draw.c b/format-draw.c index e73c5df4..67b961d9 100644 --- a/format-draw.c +++ b/format-draw.c @@ -563,13 +563,17 @@ format_draw(struct screen_write_ctx *octx, const struct grid_cell *base, if (cp[0] == '#' && cp[1] != '[' && cp[1] != '\0') { for (n = 1; cp[n] == '#'; n++) /* nothing */; + even = ((n % 2) == 0); if (cp[n] != '[') { - width[current] += n; cp += n; + if (even) + n = (n / 2); + else + n = (n / 2) + 1; + width[current] += n; format_draw_many(&ctx[current], &sy, '#', n); continue; } - even = ((n % 2) == 0); if (even) cp += (n + 1); else |