Merge remote-tracking branch 'refs/remotes/tmux-openbsd/master'

* refs/remotes/tmux-openbsd/master:
  Use window-status-separator in second and theird status lines, GitHub issue 5672. Also match width of session name correctly.
  Fix color range check, from Vaibhav Aggarwal.
  Do not lose a pending pane resize when entering the alternate screen, from mml00 dot work at gmail dot com.
  Adjust widths of a few codepoints incorrectly set to double width, from Sidney Cammeresi.
This commit is contained in:
tmux update bot
2026-10-05 12:43:43 +00:00
5 changed files with 23 additions and 15 deletions

View File

@@ -1,4 +1,4 @@
/* $OpenBSD: options-table.c,v 1.248 2026/10/02 15:04:27 nicm Exp $ */
/* $OpenBSD: options-table.c,v 1.249 2026/10/05 09:03:11 nicm Exp $ */
/*
* Copyright (c) 2011 Nicholas Marriott <nicholas.marriott@gmail.com>
@@ -183,7 +183,8 @@ static const char *options_table_copy_mode_line_numbers_list[] = {
"#[pop-default]" \
"#[norange default]"
#define OPTIONS_TABLE_STATUS_FORMAT2 \
"#[align=left]#{R: ,#{n:#{session_name}}}P: " \
"#[align=left]" \
"#{R: ,#{e|-:#{w;T;=/#{status-left-length}:status-left},3}}P: " \
"#[norange default]" \
"#[list=on align=#{status-justify}]" \
"#[list=left-marker]<#[list=right-marker]>#[list=on]" \
@@ -194,7 +195,8 @@ static const char *options_table_copy_mode_line_numbers_list[] = {
"#[push-default]" \
"#{T:window-pane-status-format}" \
"#[pop-default]" \
"#[norange list=on default] " \
"#[norange list=on default]" \
"#{?loop_last_flag,,#{E:window-status-separator}}" \
"," \
"#[range=pane|#{pane_id} list=focus " \
"#{?#{!=:#{E:pane-status-current-style},default}," \
@@ -205,10 +207,12 @@ static const char *options_table_copy_mode_line_numbers_list[] = {
"#[push-default]" \
"#{T:window-pane-current-status-format}" \
"#[pop-default]" \
"#[norange list=on default] " \
"#[norange list=on default]" \
"#{?loop_last_flag,,#{E:window-status-separator}}" \
"}"
#define OPTIONS_TABLE_STATUS_FORMAT3 \
"#[align=left]#{R: ,#{n:#{session_name}}}S: " \
"#[align=left]" \
"#{R: ,#{e|-:#{w;T;=/#{status-left-length}:status-left},3}}S: " \
"#[norange default]" \
"#[list=on align=#{status-justify}]" \
"#[list=left-marker]<#[list=right-marker]>#[list=on]" \

View File

@@ -1,4 +1,4 @@
/* $OpenBSD: screen-write.c,v 1.298 2026/10/02 15:20:41 nicm Exp $ */
/* $OpenBSD: screen-write.c,v 1.299 2026/10/05 08:41:23 nicm Exp $ */
/*
* Copyright (c) 2007 Nicholas Marriott <nicholas.marriott@gmail.com>
@@ -3306,6 +3306,7 @@ screen_write_alternateon(struct screen_write_ctx *ctx, struct grid_cell *gc,
{
struct tty_ctx ttyctx;
struct window_pane *wp = ctx->wp;
int pending;
if (wp != NULL && !options_get_number(wp->options, "alternate-screen"))
return;
@@ -3315,11 +3316,12 @@ screen_write_alternateon(struct screen_write_ctx *ctx, struct grid_cell *gc,
return;
if (wp != NULL) {
pending = !TAILQ_EMPTY(&wp->resize_queue);
window_pane_clear_resizes(wp, NULL);
if (event_initialized(&wp->resize_timer))
evtimer_del(&wp->resize_timer);
layout_fix_panes(wp->window, NULL);
if (!TAILQ_EMPTY(&wp->resize_queue)) {
if (pending || !TAILQ_EMPTY(&wp->resize_queue)) {
window_pane_send_resize(wp, wp->sx, wp->sy);
window_pane_clear_resizes(wp, NULL);
}

4
tty.c
View File

@@ -1,4 +1,4 @@
/* $OpenBSD: tty.c,v 1.483 2026/10/02 12:48:52 nicm Exp $ */
/* $OpenBSD: tty.c,v 1.484 2026/10/05 08:45:27 nicm Exp $ */
/*
* Copyright (c) 2007 Nicholas Marriott <nicholas.marriott@gmail.com>
@@ -2829,7 +2829,7 @@ tty_colours_fg(struct tty *tty, const struct grid_cell *gc)
* reset because some terminals do not clear bright correctly.
*/
if (tty->cell.fg >= 90 &&
tty->cell.bg <= 97 &&
tty->cell.fg <= 97 &&
(gc->fg < 90 || gc->fg > 97))
tty_reset(tty);

View File

@@ -1,4 +1,4 @@
/* $OpenBSD: utf8-combined.c,v 1.10 2026/06/09 11:49:36 nicm Exp $ */
/* $OpenBSD: utf8-combined.c,v 1.11 2026/10/05 08:32:24 nicm Exp $ */
/*
* Copyright (c) 2023 Nicholas Marriott <nicholas.marriott@gmail.com>
@@ -121,6 +121,12 @@ utf8_should_combine(const struct utf8_data *with, const struct utf8_data *add)
/* Emoji skin tone modifiers. */
switch (a) {
case 0x0261D:
case 0x026F9:
case 0x0270A:
case 0x0270B:
case 0x0270C:
case 0x0270D:
case 0x1F44B:
case 0x1F44C:
case 0x1F44D:

6
utf8.c
View File

@@ -1,4 +1,4 @@
/* $OpenBSD: utf8.c,v 1.73 2026/09/20 08:11:00 nicm Exp $ */
/* $OpenBSD: utf8.c,v 1.74 2026/10/05 08:32:24 nicm Exp $ */
/*
* Copyright (c) 2008 Nicholas Marriott <nicholas.marriott@gmail.com>
@@ -51,12 +51,8 @@ static struct utf8_width_cache utf8_width_cache =
RB_INITIALIZER(utf8_width_cache);
static struct utf8_width_item utf8_default_width_cache[] = {
{ .wc = 0x0261D, .width = 2 },
{ .wc = 0x026F9, .width = 2 },
{ .wc = 0x0270A, .width = 2 },
{ .wc = 0x0270B, .width = 2 },
{ .wc = 0x0270C, .width = 2 },
{ .wc = 0x0270D, .width = 2 },
{ .wc = 0x1F1E6, .width = 1 },
{ .wc = 0x1F1E7, .width = 1 },
{ .wc = 0x1F1E8, .width = 1 },