Just appending -l to $SHELL to create a login shell is wrong: -l is not POSIX,

and some people may use shells which do not support it. Instead, make an empty
default-command option mean a login shell, and fork it with a - in argv[0]
which is the method used by login(1).

Also fix the automatic-rename code to handle this correctly and to strip a
leading - if present.
This commit is contained in:
Nicholas Marriott
2009-07-08 05:26:45 +00:00
parent b4efd1ca89
commit 084d07f4eb
5 changed files with 53 additions and 18 deletions

1
tmux.h
View File

@@ -1408,6 +1408,7 @@ int screen_check_selection(struct screen *, u_int, u_int);
/* window.c */
extern struct windows windows;
const char *window_default_command(void);
int window_cmp(struct window *, struct window *);
int winlink_cmp(struct winlink *, struct winlink *);
RB_PROTOTYPE(windows, window, entry, window_cmp);