Merge branch 'obsd-master'

This commit is contained in:
Thomas Adam 2020-06-12 10:01:19 +01:00
commit bd3fb2fb10
3 changed files with 22 additions and 11 deletions

View File

@ -211,32 +211,35 @@ args_print(struct args *args)
char *
args_escape(const char *s)
{
static const char quoted[] = " #\"';${}";
static const char dquoted[] = " #';${}";
static const char squoted[] = " \"";
char *escaped, *result;
int flags;
int flags, quotes = 0;
if (*s == '\0') {
xasprintf(&result, "''");
return (result);
}
if (s[strcspn(s, dquoted)] != '\0')
quotes = '"';
else if (s[strcspn(s, squoted)] != '\0')
quotes = '\'';
if (s[0] != ' ' &&
(strchr(quoted, s[0]) != NULL || s[0] == '~') &&
s[1] == '\0') {
s[1] == '\0' &&
(quotes != 0 || s[0] == '~')) {
xasprintf(&escaped, "\\%c", s[0]);
return (escaped);
}
if (strchr(s, ' ') != NULL && strchr(s, '\'') == NULL) {
xasprintf(&escaped, "'%s'", s);
return (escaped);
}
flags = VIS_OCTAL|VIS_CSTYLE|VIS_TAB|VIS_NL;
if (s[strcspn(s, quoted)] != '\0')
if (quotes == '"')
flags |= VIS_DQ;
utf8_stravis(&escaped, s, flags);
if (flags & VIS_DQ) {
if (quotes == '\'')
xasprintf(&result, "'%s'", escaped);
else if (quotes == '"') {
if (*escaped == '~')
xasprintf(&result, "\"\\%s\"", escaped);
else

View File

@ -569,6 +569,13 @@ control_write_pending(struct client *c, struct control_pane *cp, size_t limit)
}
while (used != limit && !TAILQ_EMPTY(&cp->blocks)) {
if (control_check_age(c, wp, cp)) {
if (message != NULL)
evbuffer_free(message);
message = NULL;
break;
}
cb = TAILQ_FIRST(&cp->blocks);
if (cb->t < t)
age = t - cb->t;

1
tmux.1
View File

@ -2643,6 +2643,7 @@ The marked pane is the default target for
.Fl s
to
.Ic join-pane ,
.Ic move-pane ,
.Ic swap-pane
and
.Ic swap-window .