summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Adam <thomas@xteddy.org>2016-03-05 10:01:09 +0000
committerThomas Adam <thomas@xteddy.org>2016-03-05 10:01:09 +0000
commit81f78f0da7f72b4707f653d70615c7b64c341d44 (patch)
tree4026db58b521b20d6e191c434167d839d6fa56c6
parent6c35d17800b5d745272c45bb4c71bde80780c415 (diff)
parentc38e0a4bbc722865f934db1282ca6f086874f530 (diff)
Merge branch 'obsd-master'
-rw-r--r--cmd-load-buffer.c4
-rw-r--r--cmd-new-session.c2
-rw-r--r--cmd-save-buffer.c4
-rw-r--r--tmux.c7
4 files changed, 10 insertions, 7 deletions
diff --git a/cmd-load-buffer.c b/cmd-load-buffer.c
index 6fd2a767..de76b855 100644
--- a/cmd-load-buffer.c
+++ b/cmd-load-buffer.c
@@ -73,9 +73,9 @@ cmd_load_buffer_exec(struct cmd *self, struct cmd_q *cmdq)
return (CMD_RETURN_WAIT);
}
- if (c != NULL && c->session == NULL)
+ if (c != NULL && c->session == NULL && c->cwd != NULL)
cwd = c->cwd;
- else if ((s = c->session) != NULL)
+ else if ((s = c->session) != NULL && s->cwd != NULL)
cwd = s->cwd;
else
cwd = ".";
diff --git a/cmd-new-session.c b/cmd-new-session.c
index 291107bc..357ffed1 100644
--- a/cmd-new-session.c
+++ b/cmd-new-session.c
@@ -142,7 +142,7 @@ cmd_new_session_exec(struct cmd *self, struct cmd_q *cmdq)
format_defaults(ft, c, NULL, NULL, NULL);
to_free = cwd = format_expand(ft, args_get(args, 'c'));
format_free(ft);
- } else if (c != NULL && c->session == NULL)
+ } else if (c != NULL && c->session == NULL && c->cwd != NULL)
cwd = c->cwd;
else
cwd = ".";
diff --git a/cmd-save-buffer.c b/cmd-save-buffer.c
index f8756587..56472565 100644
--- a/cmd-save-buffer.c
+++ b/cmd-save-buffer.c
@@ -97,9 +97,9 @@ cmd_save_buffer_exec(struct cmd *self, struct cmd_q *cmdq)
goto do_print;
}
- if (c != NULL && c->session == NULL)
+ if (c != NULL && c->session == NULL && c->cwd != NULL)
cwd = c->cwd;
- else if ((s = c->session) != NULL)
+ else if ((s = c->session) != NULL && s->cwd != NULL)
cwd = s->cwd;
else
cwd = ".";
diff --git a/tmux.c b/tmux.c
index 0c3e48dc..1ff3e0db 100644
--- a/tmux.c
+++ b/tmux.c
@@ -190,9 +190,12 @@ main(int argc, char **argv)
const char *s;
int opt, flags, keys;
- setlocale(LC_CTYPE, "en_US.UTF-8");
- setlocale(LC_TIME, "");
+ if (setlocale(LC_CTYPE, "en_US.UTF-8") == NULL)
+ setlocale(LC_CTYPE, "");
+ if (wcwidth(0xfffd) != 1)
+ errx(1, "no UTF-8 locale; please set LC_CTYPE");
+ setlocale(LC_TIME, "");
tzset();
if (**argv == '-')