aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Adam <thomas@xteddy.org>2016-10-15 00:01:10 +0100
committerThomas Adam <thomas@xteddy.org>2016-10-15 00:01:10 +0100
commit3d2686a236b4ffee762ada8ebb493d8db91f7375 (patch)
treed2db6c314110ada7cc896449de18f02c2d1ddb01
parent9d58febc8f4243ed4a392e45f89de0455c032090 (diff)
parented971268be7cfd5a4a8223211401654b30a57cbd (diff)
downloadrtmux-3d2686a236b4ffee762ada8ebb493d8db91f7375.tar.gz
rtmux-3d2686a236b4ffee762ada8ebb493d8db91f7375.tar.bz2
rtmux-3d2686a236b4ffee762ada8ebb493d8db91f7375.zip
Merge branch 'obsd-master'
-rw-r--r--cmd-bind-key.c2
-rw-r--r--cmd-capture-pane.c2
-rw-r--r--cmd-clear-history.c2
-rw-r--r--cmd-copy-mode.c4
-rw-r--r--cmd-display-panes.c2
-rw-r--r--cmd-list-buffers.c2
-rw-r--r--cmd-list-clients.c2
-rw-r--r--cmd-list-keys.c4
-rw-r--r--cmd-list-panes.c2
-rw-r--r--cmd-list-sessions.c2
-rw-r--r--cmd-list-windows.c2
-rw-r--r--cmd-load-buffer.c2
-rw-r--r--cmd-lock-server.c6
-rw-r--r--cmd-paste-buffer.c2
-rw-r--r--cmd-pipe-pane.c2
-rw-r--r--cmd-refresh-client.c2
-rw-r--r--cmd-rename-session.c2
-rw-r--r--cmd-rename-window.c2
-rw-r--r--cmd-resize-pane.c2
-rw-r--r--cmd-save-buffer.c4
-rw-r--r--cmd-select-layout.c6
-rw-r--r--cmd-send-keys.c4
-rw-r--r--cmd-set-buffer.c4
-rw-r--r--cmd-set-environment.c2
-rw-r--r--cmd-set-hook.c4
-rw-r--r--cmd-set-option.c4
-rw-r--r--cmd-show-environment.c2
-rw-r--r--cmd-show-messages.c4
-rw-r--r--cmd-show-options.c4
-rw-r--r--cmd-string.c3
-rw-r--r--cmd-unbind-key.c2
-rw-r--r--tty.c20
32 files changed, 57 insertions, 52 deletions
diff --git a/cmd-bind-key.c b/cmd-bind-key.c
index b87d5245..8c1acba9 100644
--- a/cmd-bind-key.c
+++ b/cmd-bind-key.c
@@ -40,7 +40,7 @@ const struct cmd_entry cmd_bind_key_entry = {
.usage = "[-cnr] [-t mode-table] [-T key-table] key "
"command [arguments]",
- .flags = 0,
+ .flags = CMD_AFTERHOOK,
.exec = cmd_bind_key_exec
};
diff --git a/cmd-capture-pane.c b/cmd-capture-pane.c
index e468674d..6cf885bc 100644
--- a/cmd-capture-pane.c
+++ b/cmd-capture-pane.c
@@ -46,7 +46,7 @@ const struct cmd_entry cmd_capture_pane_entry = {
.tflag = CMD_PANE,
- .flags = 0,
+ .flags = CMD_AFTERHOOK,
.exec = cmd_capture_pane_exec
};
diff --git a/cmd-clear-history.c b/cmd-clear-history.c
index a1da256d..46f1d4e6 100644
--- a/cmd-clear-history.c
+++ b/cmd-clear-history.c
@@ -35,7 +35,7 @@ const struct cmd_entry cmd_clear_history_entry = {
.tflag = CMD_PANE,
- .flags = 0,
+ .flags = CMD_AFTERHOOK,
.exec = cmd_clear_history_exec
};
diff --git a/cmd-copy-mode.c b/cmd-copy-mode.c
index 6b99c347..4591a37d 100644
--- a/cmd-copy-mode.c
+++ b/cmd-copy-mode.c
@@ -35,7 +35,7 @@ const struct cmd_entry cmd_copy_mode_entry = {
.tflag = CMD_PANE,
- .flags = 0,
+ .flags = CMD_AFTERHOOK,
.exec = cmd_copy_mode_exec
};
@@ -48,7 +48,7 @@ const struct cmd_entry cmd_clock_mode_entry = {
.tflag = CMD_PANE,
- .flags = 0,
+ .flags = CMD_AFTERHOOK,
.exec = cmd_copy_mode_exec
};
diff --git a/cmd-display-panes.c b/cmd-display-panes.c
index db85c813..2edb2eb3 100644
--- a/cmd-display-panes.c
+++ b/cmd-display-panes.c
@@ -41,7 +41,7 @@ const struct cmd_entry cmd_display_panes_entry = {
.tflag = CMD_CLIENT,
- .flags = 0,
+ .flags = CMD_AFTERHOOK,
.exec = cmd_display_panes_exec
};
diff --git a/cmd-list-buffers.c b/cmd-list-buffers.c
index 41ad865b..f474b398 100644
--- a/cmd-list-buffers.c
+++ b/cmd-list-buffers.c
@@ -39,7 +39,7 @@ const struct cmd_entry cmd_list_buffers_entry = {
.args = { "F:", 0, 0 },
.usage = "[-F format]",
- .flags = 0,
+ .flags = CMD_AFTERHOOK,
.exec = cmd_list_buffers_exec
};
diff --git a/cmd-list-clients.c b/cmd-list-clients.c
index efe19652..d4bf02a9 100644
--- a/cmd-list-clients.c
+++ b/cmd-list-clients.c
@@ -44,7 +44,7 @@ const struct cmd_entry cmd_list_clients_entry = {
.tflag = CMD_SESSION,
- .flags = CMD_READONLY,
+ .flags = CMD_READONLY|CMD_AFTERHOOK,
.exec = cmd_list_clients_exec
};
diff --git a/cmd-list-keys.c b/cmd-list-keys.c
index e58a90f2..7823f475 100644
--- a/cmd-list-keys.c
+++ b/cmd-list-keys.c
@@ -39,7 +39,7 @@ const struct cmd_entry cmd_list_keys_entry = {
.args = { "t:T:", 0, 0 },
.usage = "[-t mode-table] [-T key-table]",
- .flags = CMD_STARTSERVER,
+ .flags = CMD_STARTSERVER|CMD_AFTERHOOK,
.exec = cmd_list_keys_exec
};
@@ -50,7 +50,7 @@ const struct cmd_entry cmd_list_commands_entry = {
.args = { "F:", 0, 0 },
.usage = "[-F format]",
- .flags = CMD_STARTSERVER,
+ .flags = CMD_STARTSERVER|CMD_AFTERHOOK,
.exec = cmd_list_keys_exec
};
diff --git a/cmd-list-panes.c b/cmd-list-panes.c
index 9d78589a..20663fd1 100644
--- a/cmd-list-panes.c
+++ b/cmd-list-panes.c
@@ -43,7 +43,7 @@ const struct cmd_entry cmd_list_panes_entry = {
.tflag = CMD_WINDOW,
- .flags = 0,
+ .flags = CMD_AFTERHOOK,
.exec = cmd_list_panes_exec
};
diff --git a/cmd-list-sessions.c b/cmd-list-sessions.c
index 30a1f586..bc352d25 100644
--- a/cmd-list-sessions.c
+++ b/cmd-list-sessions.c
@@ -45,7 +45,7 @@ const struct cmd_entry cmd_list_sessions_entry = {
.args = { "F:", 0, 0 },
.usage = "[-F format]",
- .flags = 0,
+ .flags = CMD_AFTERHOOK,
.exec = cmd_list_sessions_exec
};
diff --git a/cmd-list-windows.c b/cmd-list-windows.c
index 7ca49b3e..9d8a615c 100644
--- a/cmd-list-windows.c
+++ b/cmd-list-windows.c
@@ -54,7 +54,7 @@ const struct cmd_entry cmd_list_windows_entry = {
.tflag = CMD_SESSION,
- .flags = 0,
+ .flags = CMD_AFTERHOOK,
.exec = cmd_list_windows_exec
};
diff --git a/cmd-load-buffer.c b/cmd-load-buffer.c
index d97d139c..ca886d69 100644
--- a/cmd-load-buffer.c
+++ b/cmd-load-buffer.c
@@ -42,7 +42,7 @@ const struct cmd_entry cmd_load_buffer_entry = {
.args = { "b:", 1, 1 },
.usage = CMD_BUFFER_USAGE " path",
- .flags = 0,
+ .flags = CMD_AFTERHOOK,
.exec = cmd_load_buffer_exec
};
diff --git a/cmd-lock-server.c b/cmd-lock-server.c
index 2eef9952..b501efe8 100644
--- a/cmd-lock-server.c
+++ b/cmd-lock-server.c
@@ -33,7 +33,7 @@ const struct cmd_entry cmd_lock_server_entry = {
.args = { "", 0, 0 },
.usage = "",
- .flags = 0,
+ .flags = CMD_AFTERHOOK,
.exec = cmd_lock_server_exec
};
@@ -46,7 +46,7 @@ const struct cmd_entry cmd_lock_session_entry = {
.tflag = CMD_SESSION,
- .flags = 0,
+ .flags = CMD_AFTERHOOK,
.exec = cmd_lock_server_exec
};
@@ -59,7 +59,7 @@ const struct cmd_entry cmd_lock_client_entry = {
.tflag = CMD_CLIENT,
- .flags = 0,
+ .flags = CMD_AFTERHOOK,
.exec = cmd_lock_server_exec
};
diff --git a/cmd-paste-buffer.c b/cmd-paste-buffer.c
index 9bb2af5f..611ca541 100644
--- a/cmd-paste-buffer.c
+++ b/cmd-paste-buffer.c
@@ -39,7 +39,7 @@ const struct cmd_entry cmd_paste_buffer_entry = {
.tflag = CMD_PANE,
- .flags = 0,
+ .flags = CMD_AFTERHOOK,
.exec = cmd_paste_buffer_exec
};
diff --git a/cmd-pipe-pane.c b/cmd-pipe-pane.c
index 7a99d352..ec91dd32 100644
--- a/cmd-pipe-pane.c
+++ b/cmd-pipe-pane.c
@@ -45,7 +45,7 @@ const struct cmd_entry cmd_pipe_pane_entry = {
.tflag = CMD_PANE,
- .flags = 0,
+ .flags = CMD_AFTERHOOK,
.exec = cmd_pipe_pane_exec
};
diff --git a/cmd-refresh-client.c b/cmd-refresh-client.c
index 79747f2c..68a7c22a 100644
--- a/cmd-refresh-client.c
+++ b/cmd-refresh-client.c
@@ -35,7 +35,7 @@ const struct cmd_entry cmd_refresh_client_entry = {
.tflag = CMD_CLIENT,
- .flags = 0,
+ .flags = CMD_AFTERHOOK,
.exec = cmd_refresh_client_exec
};
diff --git a/cmd-rename-session.c b/cmd-rename-session.c
index 7e9fd015..d0f9b0e1 100644
--- a/cmd-rename-session.c
+++ b/cmd-rename-session.c
@@ -37,7 +37,7 @@ const struct cmd_entry cmd_rename_session_entry = {
.tflag = CMD_SESSION,
- .flags = 0,
+ .flags = CMD_AFTERHOOK,
.exec = cmd_rename_session_exec
};
diff --git a/cmd-rename-window.c b/cmd-rename-window.c
index ee53fcb3..68d77678 100644
--- a/cmd-rename-window.c
+++ b/cmd-rename-window.c
@@ -37,7 +37,7 @@ const struct cmd_entry cmd_rename_window_entry = {
.tflag = CMD_WINDOW,
- .flags = 0,
+ .flags = CMD_AFTERHOOK,
.exec = cmd_rename_window_exec
};
diff --git a/cmd-resize-pane.c b/cmd-resize-pane.c
index 36726688..be652b56 100644
--- a/cmd-resize-pane.c
+++ b/cmd-resize-pane.c
@@ -41,7 +41,7 @@ const struct cmd_entry cmd_resize_pane_entry = {
.tflag = CMD_PANE,
- .flags = 0,
+ .flags = CMD_AFTERHOOK,
.exec = cmd_resize_pane_exec
};
diff --git a/cmd-save-buffer.c b/cmd-save-buffer.c
index 51927f9e..dbc819e3 100644
--- a/cmd-save-buffer.c
+++ b/cmd-save-buffer.c
@@ -40,7 +40,7 @@ const struct cmd_entry cmd_save_buffer_entry = {
.args = { "ab:", 1, 1 },
.usage = "[-a] " CMD_BUFFER_USAGE " path",
- .flags = 0,
+ .flags = CMD_AFTERHOOK,
.exec = cmd_save_buffer_exec
};
@@ -51,7 +51,7 @@ const struct cmd_entry cmd_show_buffer_entry = {
.args = { "b:", 0, 0 },
.usage = CMD_BUFFER_USAGE,
- .flags = 0,
+ .flags = CMD_AFTERHOOK,
.exec = cmd_save_buffer_exec
};
diff --git a/cmd-select-layout.c b/cmd-select-layout.c
index 48d2ac30..4ecafc5c 100644
--- a/cmd-select-layout.c
+++ b/cmd-select-layout.c
@@ -37,7 +37,7 @@ const struct cmd_entry cmd_select_layout_entry = {
.tflag = CMD_WINDOW,
- .flags = 0,
+ .flags = CMD_AFTERHOOK,
.exec = cmd_select_layout_exec
};
@@ -50,7 +50,7 @@ const struct cmd_entry cmd_next_layout_entry = {
.tflag = CMD_WINDOW,
- .flags = 0,
+ .flags = CMD_AFTERHOOK,
.exec = cmd_select_layout_exec
};
@@ -63,7 +63,7 @@ const struct cmd_entry cmd_previous_layout_entry = {
.tflag = CMD_WINDOW,
- .flags = 0,
+ .flags = CMD_AFTERHOOK,
.exec = cmd_select_layout_exec
};
diff --git a/cmd-send-keys.c b/cmd-send-keys.c
index e3b8d6e4..062a13d7 100644
--- a/cmd-send-keys.c
+++ b/cmd-send-keys.c
@@ -38,7 +38,7 @@ const struct cmd_entry cmd_send_keys_entry = {
.tflag = CMD_PANE,
- .flags = 0,
+ .flags = CMD_AFTERHOOK,
.exec = cmd_send_keys_exec
};
@@ -51,7 +51,7 @@ const struct cmd_entry cmd_send_prefix_entry = {
.tflag = CMD_PANE,
- .flags = 0,
+ .flags = CMD_AFTERHOOK,
.exec = cmd_send_keys_exec
};
diff --git a/cmd-set-buffer.c b/cmd-set-buffer.c
index 41ea73d9..d3f8ba4f 100644
--- a/cmd-set-buffer.c
+++ b/cmd-set-buffer.c
@@ -36,7 +36,7 @@ const struct cmd_entry cmd_set_buffer_entry = {
.args = { "ab:n:", 0, 1 },
.usage = "[-a] " CMD_BUFFER_USAGE " [-n new-buffer-name] data",
- .flags = 0,
+ .flags = CMD_AFTERHOOK,
.exec = cmd_set_buffer_exec
};
@@ -47,7 +47,7 @@ const struct cmd_entry cmd_delete_buffer_entry = {
.args = { "b:", 0, 0 },
.usage = CMD_BUFFER_USAGE,
- .flags = 0,
+ .flags = CMD_AFTERHOOK,
.exec = cmd_set_buffer_exec
};
diff --git a/cmd-set-environment.c b/cmd-set-environment.c
index bfb39a4a..186115b4 100644
--- a/cmd-set-environment.c
+++ b/cmd-set-environment.c
@@ -38,7 +38,7 @@ const struct cmd_entry cmd_set_environment_entry = {
.tflag = CMD_SESSION_CANFAIL,
- .flags = 0,
+ .flags = CMD_AFTERHOOK,
.exec = cmd_set_environment_exec
};
diff --git a/cmd-set-hook.c b/cmd-set-hook.c
index 2e8bcb0f..e4d4669c 100644
--- a/cmd-set-hook.c
+++ b/cmd-set-hook.c
@@ -38,7 +38,7 @@ const struct cmd_entry cmd_set_hook_entry = {
.tflag = CMD_SESSION_CANFAIL,
- .flags = 0,
+ .flags = CMD_AFTERHOOK,
.exec = cmd_set_hook_exec
};
@@ -51,7 +51,7 @@ const struct cmd_entry cmd_show_hooks_entry = {
.tflag = CMD_SESSION,
- .flags = 0,
+ .flags = CMD_AFTERHOOK,
.exec = cmd_set_hook_exec
};
diff --git a/cmd-set-option.c b/cmd-set-option.c
index 8f7e469c..0c092e50 100644
--- a/cmd-set-option.c
+++ b/cmd-set-option.c
@@ -73,7 +73,7 @@ const struct cmd_entry cmd_set_option_entry = {
.tflag = CMD_WINDOW_CANFAIL,
- .flags = 0,
+ .flags = CMD_AFTERHOOK,
.exec = cmd_set_option_exec
};
@@ -86,7 +86,7 @@ const struct cmd_entry cmd_set_window_option_entry = {
.tflag = CMD_WINDOW_CANFAIL,
- .flags = 0,
+ .flags = CMD_AFTERHOOK,
.exec = cmd_set_option_exec
};
diff --git a/cmd-show-environment.c b/cmd-show-environment.c
index 5ad0bb8a..659acfad 100644
--- a/cmd-show-environment.c
+++ b/cmd-show-environment.c
@@ -42,7 +42,7 @@ const struct cmd_entry cmd_show_environment_entry = {
.tflag = CMD_SESSION_CANFAIL,
- .flags = 0,
+ .flags = CMD_AFTERHOOK,
.exec = cmd_show_environment_exec
};
diff --git a/cmd-show-messages.c b/cmd-show-messages.c
index 416857bf..8d33cdd0 100644
--- a/cmd-show-messages.c
+++ b/cmd-show-messages.c
@@ -39,7 +39,7 @@ const struct cmd_entry cmd_show_messages_entry = {
.tflag = CMD_CLIENT,
- .flags = 0,
+ .flags = CMD_AFTERHOOK,
.exec = cmd_show_messages_exec
};
@@ -50,7 +50,7 @@ const struct cmd_entry cmd_server_info_entry = {
.args = { "", 0, 0 },
.usage = "",
- .flags = 0,
+ .flags = CMD_AFTERHOOK,
.exec = cmd_show_messages_exec
};
diff --git a/cmd-show-options.c b/cmd-show-options.c
index 89d8f219..4daa6969 100644
--- a/cmd-show-options.c
+++ b/cmd-show-options.c
@@ -43,7 +43,7 @@ const struct cmd_entry cmd_show_options_entry = {
.tflag = CMD_WINDOW_CANFAIL,
- .flags = 0,
+ .flags = CMD_AFTERHOOK,
.exec = cmd_show_options_exec
};
@@ -56,7 +56,7 @@ const struct cmd_entry cmd_show_window_options_entry = {
.tflag = CMD_WINDOW_CANFAIL,
- .flags = 0,
+ .flags = CMD_AFTERHOOK,
.exec = cmd_show_options_exec
};
diff --git a/cmd-string.c b/cmd-string.c
index 2cf63294..7c6d9ad6 100644
--- a/cmd-string.c
+++ b/cmd-string.c
@@ -133,7 +133,8 @@ cmd_string_parse(const char *s, struct cmd_list **cmdlist, const char *file,
if (argc == 0)
goto out;
- *cmdlist = cmd_list_parse(argc, argv, file, line, cause);
+ *cmdlist = cmd_list_parse(argc, argv, file, line,
+ cause);
if (*cmdlist == NULL)
goto out;
diff --git a/cmd-unbind-key.c b/cmd-unbind-key.c
index 644a4c3a..a38799e4 100644
--- a/cmd-unbind-key.c
+++ b/cmd-unbind-key.c
@@ -37,7 +37,7 @@ const struct cmd_entry cmd_unbind_key_entry = {
.args = { "ant:T:", 0, 1 },
.usage = "[-an] [-t mode-table] [-T key-table] key",
- .flags = 0,
+ .flags = CMD_AFTERHOOK,
.exec = cmd_unbind_key_exec
};
diff --git a/tty.c b/tty.c
index 198b8451..34270625 100644
--- a/tty.c
+++ b/tty.c
@@ -424,7 +424,6 @@ void
tty_putc(struct tty *tty, u_char ch)
{
const char *acs;
- u_int sx;
if (tty->cell.attr & GRID_ATTR_CHARSET) {
acs = tty_acs_get(tty, ch);
@@ -436,14 +435,18 @@ tty_putc(struct tty *tty, u_char ch)
bufferevent_write(tty->event, &ch, 1);
if (ch >= 0x20 && ch != 0x7f) {
- sx = tty->sx;
- if (tty->term->flags & TERM_EARLYWRAP)
- sx--;
-
- if (tty->cx >= sx) {
+ if (tty->cx >= tty->sx) {
tty->cx = 1;
if (tty->cy != tty->rlower)
tty->cy++;
+
+ /*
+ * On !xenl terminals, force the cursor position to
+ * where we think it should be after a line wrap - this
+ * means it works on sensible terminals as well.
+ */
+ if (tty->term->flags & TERM_EARLYWRAP)
+ tty_putcode2(tty, TTYC_CUP, tty->cy, tty->cx);
} else
tty->cx++;
}
@@ -1169,8 +1172,9 @@ tty_cell(struct tty *tty, const struct grid_cell *gc,
u_int i;
/* Skip last character if terminal is stupid. */
- if (tty->term->flags & TERM_EARLYWRAP &&
- tty->cy == tty->sy - 1 && tty->cx == tty->sx - 1)
+ if ((tty->term->flags & TERM_EARLYWRAP) &&
+ tty->cy == tty->sy - 1 &&
+ tty->cx == tty->sx - 1)
return;
/* If this is a padding character, do nothing. */