summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Adam <thomas@xteddy.org>2016-10-12 09:45:49 +0100
committerThomas Adam <thomas@xteddy.org>2016-10-12 09:45:49 +0100
commitb9dc855016cf79c8bb8469c272dbc6bca24deadc (patch)
treea2049bea7b17ededbd12b77110d47353ed832e46
parent27126f87976c63161fcae2ab1eb9c6df726a84ff (diff)
parent5c49e1d0c1afaf98512b2ffd1f31d91fecff9851 (diff)
Merge branch 'obsd-master'
Conflicts: format.c osdep-openbsd.c
-rw-r--r--arguments.c27
-rw-r--r--cfg.c18
-rw-r--r--cmd-attach-session.c4
-rw-r--r--cmd-bind-key.c61
-rw-r--r--cmd-break-pane.c4
-rw-r--r--cmd-capture-pane.c21
-rw-r--r--cmd-choose-buffer.c4
-rw-r--r--cmd-choose-client.c8
-rw-r--r--cmd-choose-tree.c4
-rw-r--r--cmd-clear-history.c4
-rw-r--r--cmd-command-prompt.c22
-rw-r--r--cmd-confirm-before.c12
-rw-r--r--cmd-copy-mode.c4
-rw-r--r--cmd-detach-client.c4
-rw-r--r--cmd-display-message.c4
-rw-r--r--cmd-find-window.c18
-rw-r--r--cmd-find.c98
-rw-r--r--cmd-if-shell.c16
-rw-r--r--cmd-join-pane.c18
-rw-r--r--cmd-kill-pane.c4
-rw-r--r--cmd-kill-server.c4
-rw-r--r--cmd-kill-session.c4
-rw-r--r--cmd-kill-window.c4
-rw-r--r--cmd-list-buffers.c4
-rw-r--r--cmd-list-clients.c4
-rw-r--r--cmd-list-keys.c24
-rw-r--r--cmd-list-panes.c20
-rw-r--r--cmd-list-sessions.c4
-rw-r--r--cmd-list-windows.c14
-rw-r--r--cmd-load-buffer.c9
-rw-r--r--cmd-lock-server.c4
-rw-r--r--cmd-move-window.c4
-rw-r--r--cmd-new-session.c4
-rw-r--r--cmd-new-window.c4
-rw-r--r--cmd-paste-buffer.c7
-rw-r--r--cmd-pipe-pane.c8
-rw-r--r--cmd-queue.c3
-rw-r--r--cmd-refresh-client.c4
-rw-r--r--cmd-rename-session.c4
-rw-r--r--cmd-rename-window.c4
-rw-r--r--cmd-resize-pane.c15
-rw-r--r--cmd-respawn-pane.c4
-rw-r--r--cmd-respawn-window.c4
-rw-r--r--cmd-rotate-window.c4
-rw-r--r--cmd-run-shell.c16
-rw-r--r--cmd-save-buffer.c4
-rw-r--r--cmd-select-layout.c4
-rw-r--r--cmd-select-pane.c4
-rw-r--r--cmd-select-window.c4
-rw-r--r--cmd-send-keys.c40
-rw-r--r--cmd-set-buffer.c4
-rw-r--r--cmd-set-environment.c4
-rw-r--r--cmd-set-hook.c4
-rw-r--r--cmd-set-option.c60
-rw-r--r--cmd-show-environment.c14
-rw-r--r--cmd-show-messages.c12
-rw-r--r--cmd-show-options.c16
-rw-r--r--cmd-source-file.c8
-rw-r--r--cmd-split-window.c4
-rw-r--r--cmd-string.c31
-rw-r--r--cmd-swap-pane.c4
-rw-r--r--cmd-swap-window.c4
-rw-r--r--cmd-switch-client.c4
-rw-r--r--cmd-unbind-key.c10
-rw-r--r--cmd-wait-for.c45
-rw-r--r--environ.c7
-rw-r--r--format.c126
-rw-r--r--grid.c40
-rw-r--r--hooks.c3
-rw-r--r--job.c8
-rw-r--r--key-bindings.c140
-rw-r--r--key-string.c8
-rw-r--r--layout-set.c20
-rw-r--r--mode-key.c581
-rw-r--r--names.c12
-rw-r--r--notify.c15
-rw-r--r--options.c3
-rw-r--r--osdep-openbsd.c10
-rw-r--r--paste.c4
-rw-r--r--screen-redraw.c54
-rw-r--r--screen.c16
-rw-r--r--server-client.c212
-rw-r--r--server-fn.c11
-rw-r--r--server.c39
-rw-r--r--session.c32
-rw-r--r--signal.c12
-rw-r--r--status.c386
-rw-r--r--tmux.1204
-rw-r--r--tmux.c13
-rw-r--r--tmux.h113
-rw-r--r--tty-keys.c4
-rw-r--r--tty-term.c10
-rw-r--r--tty.c94
-rw-r--r--utf8.c27
-rw-r--r--window-choose.c109
-rw-r--r--window-clock.c34
-rw-r--r--window-copy.c1130
-rw-r--r--window.c19
98 files changed, 2096 insertions, 2215 deletions
diff --git a/arguments.c b/arguments.c
index 9e096353..5a2ea41b 100644
--- a/arguments.c
+++ b/arguments.c
@@ -34,6 +34,7 @@ struct args_entry {
RB_ENTRY(args_entry) entry;
};
+static void args_set(struct args *, u_char, const char *);
static struct args_entry *args_find(struct args *, u_char);
static int args_cmp(struct args_entry *, struct args_entry *);
@@ -46,30 +47,6 @@ args_cmp(struct args_entry *a1, struct args_entry *a2)
return (a1->flag - a2->flag);
}
-/* Create an arguments set with no flags. */
-struct args *
-args_create(int argc, ...)
-{
- struct args *args;
- va_list ap;
- int i;
-
- args = xcalloc(1, sizeof *args);
-
- args->argc = argc;
- if (argc == 0)
- args->argv = NULL;
- else
- args->argv = xcalloc(argc, sizeof *args->argv);
-
- va_start(ap, argc);
- for (i = 0; i < argc; i++)
- args->argv[i] = xstrdup(va_arg(ap, char *));
- va_end(ap);
-
- return (args);
-}
-
/* Find a flag in the arguments tree. */
static struct args_entry *
args_find(struct args *args, u_char ch)
@@ -205,7 +182,7 @@ args_has(struct args *args, u_char ch)
}
/* Set argument value in the arguments tree. */
-void
+static void
args_set(struct args *args, u_char ch, const char *value)
{
struct args_entry *entry;
diff --git a/cfg.c b/cfg.c
index 32a92e1b..463c42a2 100644
--- a/cfg.c
+++ b/cfg.c
@@ -27,15 +27,15 @@
#include "tmux.h"
-char *cfg_file;
-struct cmd_q *cfg_cmd_q;
-int cfg_finished;
-int cfg_references;
-char **cfg_causes;
-u_int cfg_ncauses;
-struct client *cfg_client;
+char *cfg_file;
+static struct cmd_q *cfg_cmd_q;
+int cfg_finished;
+int cfg_references;
+static char **cfg_causes;
+static u_int cfg_ncauses;
+struct client *cfg_client;
-void cfg_default_done(struct cmd_q *);
+static void cfg_default_done(struct cmd_q *);
void
set_cfg_file(const char *path)
@@ -125,7 +125,7 @@ load_cfg(const char *path, struct cmd_q *cmdq, int quiet)
return (found);
}
-void
+static void
cfg_default_done(__unused struct cmd_q *cmdq)
{
if (--cfg_references != 0)
diff --git a/cmd-attach-session.c b/cmd-attach-session.c
index 53c1df31..daab428f 100644
--- a/cmd-attach-session.c
+++ b/cmd-attach-session.c
@@ -30,7 +30,7 @@
* Attach existing session to the current terminal.
*/
-enum cmd_retval cmd_attach_session_exec(struct cmd *, struct cmd_q *);
+static enum cmd_retval cmd_attach_session_exec(struct cmd *, struct cmd_q *);
const struct cmd_entry cmd_attach_session_entry = {
.name = "attach-session",
@@ -154,7 +154,7 @@ cmd_attach_session(struct cmd_q *cmdq, int dflag, int rflag, const char *cflag,
return (CMD_RETURN_NORMAL);
}
-enum cmd_retval
+static enum cmd_retval
cmd_attach_session_exec(struct cmd *self, struct cmd_q *cmdq)
{
struct args *args = self->args;
diff --git a/cmd-bind-key.c b/cmd-bind-key.c
index 88767245..69314788 100644
--- a/cmd-bind-key.c
+++ b/cmd-bind-key.c
@@ -27,24 +27,24 @@
* Bind a key to a command, this recurses through cmd_*.
*/
-enum cmd_retval cmd_bind_key_exec(struct cmd *, struct cmd_q *);
+static enum cmd_retval cmd_bind_key_exec(struct cmd *, struct cmd_q *);
-enum cmd_retval cmd_bind_key_mode_table(struct cmd *, struct cmd_q *,
- key_code);
+static enum cmd_retval cmd_bind_key_mode_table(struct cmd *, struct cmd_q *,
+ key_code);
const struct cmd_entry cmd_bind_key_entry = {
.name = "bind-key",
.alias = "bind",
- .args = { "cnrR:t:T:", 1, -1 },
- .usage = "[-cnr] [-t mode-table] [-R repeat-count] [-T key-table] key "
+ .args = { "cnrt:T:", 1, -1 },
+ .usage = "[-cnr] [-t mode-table] [-T key-table] key "
"command [arguments]",
.flags = 0,
.exec = cmd_bind_key_exec
};
-enum cmd_retval
+static enum cmd_retval
cmd_bind_key_exec(struct cmd *self, struct cmd_q *cmdq)
{
struct args *args = self->args;
@@ -93,16 +93,14 @@ cmd_bind_key_exec(struct cmd *self, struct cmd_q *cmdq)
return (CMD_RETURN_NORMAL);
}
-enum cmd_retval
+static enum cmd_retval
cmd_bind_key_mode_table(struct cmd *self, struct cmd_q *cmdq, key_code key)
{
struct args *args = self->args;
- const char *tablename, *arg;
+ const char *tablename;
const struct mode_key_table *mtab;
struct mode_key_binding *mbind, mtmp;
enum mode_key_cmd cmd;
- char *cause;
- u_int repeat;
tablename = args_get(args, 't');
if ((mtab = mode_key_findtable(tablename)) == NULL) {
@@ -116,44 +114,9 @@ cmd_bind_key_mode_table(struct cmd *self, struct cmd_q *cmdq, key_code key)
return (CMD_RETURN_ERROR);
}
- switch (cmd) {
- case MODEKEYCOPY_APPENDSELECTION:
- case MODEKEYCOPY_COPYSELECTION:
- case MODEKEYCOPY_STARTNAMEDBUFFER:
- if (args->argc == 2)
- arg = NULL;
- else {
- arg = args->argv[2];
- if (strcmp(arg, "-x") != 0) {
- cmdq_error(cmdq, "unknown argument");
- return (CMD_RETURN_ERROR);
- }
- }
- break;
- case MODEKEYCOPY_COPYPIPE:
- if (args->argc != 3) {
- cmdq_error(cmdq, "no argument given");
- return (CMD_RETURN_ERROR);
- }
- arg = args->argv[2];
- break;
- default:
- if (args->argc != 2) {
- cmdq_error(cmdq, "no argument allowed");
- return (CMD_RETURN_ERROR);
- }
- arg = NULL;
- break;
- }
-
- repeat = 1;
- if (args_has(args, 'R')) {
- repeat = args_strtonum(args, 'R', 1, SHRT_MAX, &cause);
- if (cause != NULL) {
- cmdq_error(cmdq, "repeat count %s", cause);
- free(cause);
- return (CMD_RETURN_ERROR);
- }
+ if (args->argc != 2) {
+ cmdq_error(cmdq, "no argument allowed");
+ return (CMD_RETURN_ERROR);
}
mtmp.key = key;
@@ -164,8 +127,6 @@ cmd_bind_key_mode_table(struct cmd *self, struct cmd_q *cmdq, key_code key)
mbind->mode = mtmp.mode;
RB_INSERT(mode_key_tree, mtab->tree, mbind);
}
- mbind->repeat = repeat;
mbind->cmd = cmd;
- mbind->arg = arg != NULL ? xstrdup(arg) : NULL;
return (CMD_RETURN_NORMAL);
}
diff --git a/cmd-break-pane.c b/cmd-break-pane.c
index 85873227..b57542aa 100644
--- a/cmd-break-pane.c
+++ b/cmd-break-pane.c
@@ -28,7 +28,7 @@
#define BREAK_PANE_TEMPLATE "#{session_name}:#{window_index}.#{pane_index}"
-enum cmd_retval cmd_break_pane_exec(struct cmd *, struct cmd_q *);
+static enum cmd_retval cmd_break_pane_exec(struct cmd *, struct cmd_q *);
const struct cmd_entry cmd_break_pane_entry = {
.name = "break-pane",
@@ -44,7 +44,7 @@ const struct cmd_entry cmd_break_pane_entry = {
.exec = cmd_break_pane_exec
};
-enum cmd_retval
+static enum cmd_retval
cmd_break_pane_exec(struct cmd *self, struct cmd_q *cmdq)
{
struct args *args = self->args;
diff --git a/cmd-capture-pane.c b/cmd-capture-pane.c
index 33f6cf08..e468674d 100644
--- a/cmd-capture-pane.c
+++ b/cmd-capture-pane.c
@@ -27,13 +27,14 @@
* Write the entire contents of a pane to a buffer or stdout.
*/
-enum cmd_retval cmd_capture_pane_exec(struct cmd *, struct cmd_q *);
+static enum cmd_retval cmd_capture_pane_exec(struct cmd *, struct cmd_q *);
-char *cmd_capture_pane_append(char *, size_t *, char *, size_t);
-char *cmd_capture_pane_pending(struct args *, struct window_pane *,
- size_t *);
-char *cmd_capture_pane_history(struct args *, struct cmd_q *,
- struct window_pane *, size_t *);
+static char *cmd_capture_pane_append(char *, size_t *, char *,
+ size_t);
+static char *cmd_capture_pane_pending(struct args *,
+ struct window_pane *, size_t *);
+static char *cmd_capture_pane_history(struct args *, struct cmd_q *,
+ struct window_pane *, size_t *);
const struct cmd_entry cmd_capture_pane_entry = {
.name = "capture-pane",
@@ -49,7 +50,7 @@ const struct cmd_entry cmd_capture_pane_entry = {
.exec = cmd_capture_pane_exec
};
-char *
+static char *
cmd_capture_pane_append(char *buf, size_t *len, char *line, size_t linelen)
{
buf = xrealloc(buf, *len + linelen + 1);
@@ -58,7 +59,7 @@ cmd_capture_pane_append(char *buf, size_t *len, char *line, size_t linelen)
return (buf);
}
-char *
+static char *
cmd_capture_pane_pending(struct args *args, struct window_pane *wp,
size_t *len)
{
@@ -90,7 +91,7 @@ cmd_capture_pane_pending(struct args *args, struct window_pane *wp,
return (buf);
}
-char *
+static char *
cmd_capture_pane_history(struct args *args, struct cmd_q *cmdq,
struct window_pane *wp, size_t *len)
{
@@ -175,7 +176,7 @@ cmd_capture_pane_history(struct args *args, struct cmd_q *cmdq,
return (buf);
}
-enum cmd_retval
+static enum cmd_retval
cmd_capture_pane_exec(struct cmd *self, struct cmd_q *cmdq)
{
struct args *args = self->args;
diff --git a/cmd-choose-buffer.c b/cmd-choose-buffer.c
index 90872e90..fee4958a 100644
--- a/cmd-choose-buffer.c
+++ b/cmd-choose-buffer.c
@@ -30,7 +30,7 @@
#define CHOOSE_BUFFER_TEMPLATE \
"#{buffer_name}: #{buffer_size} bytes: #{buffer_sample}"
-enum cmd_retval cmd_choose_buffer_exec(struct cmd *, struct cmd_q *);
+static enum cmd_retval cmd_choose_buffer_exec(struct cmd *, struct cmd_q *);
const struct cmd_entry cmd_choose_buffer_entry = {
.name = "choose-buffer",
@@ -45,7 +45,7 @@ const struct cmd_entry cmd_choose_buffer_entry = {
.exec = cmd_choose_buffer_exec
};
-enum cmd_retval
+static enum cmd_retval
cmd_choose_buffer_exec(struct cmd *self, struct cmd_q *cmdq)
{
struct args *args = self->args;
diff --git a/cmd-choose-client.c b/cmd-choose-client.c
index b9a24be6..67d184b3 100644
--- a/cmd-choose-client.c
+++ b/cmd-choose-client.c
@@ -33,9 +33,9 @@
"#{?client_utf8, (utf8),}#{?client_readonly, (ro),} " \
"(last used #{t:client_activity})"
-enum cmd_retval cmd_choose_client_exec(struct cmd *, struct cmd_q *);
+static enum cmd_retval cmd_choose_client_exec(struct cmd *, struct cmd_q *);
-void cmd_choose_client_callback(struct window_choose_data *);
+static void cmd_choose_client_callback(struct window_choose_data *);
const struct cmd_entry cmd_choose_client_entry = {
.name = "choose-client",
@@ -54,7 +54,7 @@ struct cmd_choose_client_data {
struct client *client;
};
-enum cmd_retval
+static enum cmd_retval
cmd_choose_client_exec(struct cmd *self, struct cmd_q *cmdq)
{
struct args *args = self->args;
@@ -110,7 +110,7 @@ cmd_choose_client_exec(struct cmd *self, struct cmd_q *cmdq)
return (CMD_RETURN_NORMAL);
}
-void
+static void
cmd_choose_client_callback(struct window_choose_data *cdata)
{
struct client *c;
diff --git a/cmd-choose-tree.c b/cmd-choose-tree.c
index db9222ba..13bbe2a7 100644
--- a/cmd-choose-tree.c
+++ b/cmd-choose-tree.c
@@ -41,7 +41,7 @@
"#{window_index}: #{window_name}#{window_flags} " \
"\"#{pane_title}\""
-enum cmd_retval cmd_choose_tree_exec(struct cmd *, struct cmd_q *);
+static enum cmd_retval cmd_choose_tree_exec(struct cmd *, struct cmd_q *);
const struct cmd_entry cmd_choose_tree_entry = {
.name = "choose-tree",
@@ -83,7 +83,7 @@ const struct cmd_entry cmd_choose_window_entry = {
.exec = cmd_choose_tree_exec
};
-enum cmd_retval
+static enum cmd_retval
cmd_choose_tree_exec(struct cmd *self, struct cmd_q *cmdq)
{
struct args *args = self->args;
diff --git a/cmd-clear-history.c b/cmd-clear-history.c
index 62683ff6..a1da256d 100644
--- a/