Revert the command-prefix change which breaks sequences of commands.

This commit is contained in:
Nicholas Marriott
2013-03-25 15:59:57 +00:00
parent 58bb6f8c56
commit e44bd9f750
5 changed files with 15 additions and 49 deletions

24
names.c
View File

@@ -26,8 +26,8 @@
#include "tmux.h"
void window_name_callback(int, short, void *);
char *parse_window_name(struct window *, const char *);
void window_name_callback(unused int, unused short, void *);
char *parse_window_name(const char *);
void
queue_window_name(struct window *w)
@@ -73,9 +73,9 @@ window_name_callback(unused int fd, unused short events, void *data)
*/
if (w->active->cmd != NULL && *w->active->cmd == '\0' &&
name != NULL && name[0] == '-' && name[1] != '\0')
wname = parse_window_name(w, name + 1);
wname = parse_window_name(name + 1);
else
wname = parse_window_name(w, name);
wname = parse_window_name(name);
free(name);
}
@@ -98,22 +98,18 @@ default_window_name(struct window *w)
if (w->active->screen != &w->active->base)
return (xstrdup("[tmux]"));
if (w->active->cmd != NULL && *w->active->cmd != '\0')
return (parse_window_name(w, w->active->cmd));
return (parse_window_name(w, w->active->shell));
return (parse_window_name(w->active->cmd));
return (parse_window_name(w->active->shell));
}
char *
parse_window_name(struct window *w, const char *in)
parse_window_name(const char *in)
{
char *copy, *name, *ptr, *prefix;
size_t prefixlen;
prefix = options_get_string(&w->options, "command-prefix");
prefixlen = strlen(prefix);
char *copy, *name, *ptr;
name = copy = xstrdup(in);
if (strncmp(name, prefix, prefixlen) == 0)
name = name + prefixlen;
if (strncmp(name, "exec ", (sizeof "exec ") - 1) == 0)
name = name + (sizeof "exec ") - 1;
while (*name == ' ')
name++;