=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/tmux/tmux.c,v retrieving revision 1.40 retrieving revision 1.41 diff -u -r1.40 -r1.41 --- src/usr.bin/tmux/tmux.c 2009/09/02 16:38:35 1.40 +++ src/usr.bin/tmux/tmux.c 2009/09/02 17:34:57 1.41 @@ -1,4 +1,4 @@ -/* $OpenBSD: tmux.c,v 1.40 2009/09/02 16:38:35 nicm Exp $ */ +/* $OpenBSD: tmux.c,v 1.41 2009/09/02 17:34:57 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott @@ -57,6 +57,7 @@ int be_quiet; time_t start_time; char *socket_path; +int login_shell; __dead void usage(void); char *makesockpath(const char *); @@ -68,8 +69,8 @@ usage(void) { fprintf(stderr, - "usage: %s [-28dqUuv] [-f file] [-L socket-name] [-S socket-path]\n" - " [command [flags]]\n", + "usage: %s [-28dlqUuv] [-f file] [-L socket-name]\n" + " [-S socket-path] [command [flags]]\n", __progname); exit(1); } @@ -316,8 +317,9 @@ unlock = flags = 0; label = path = NULL; - while ((opt = getopt(argc, argv, "28df:L:qS:uUv")) != -1) { - switch (opt) { + login_shell = (**argv == '-'); + while ((opt = getopt(argc, argv, "28df:lL:qS:uUv")) != -1) { + switch (opt) { case '2': flags |= IDENTIFY_256COLOURS; flags &= ~IDENTIFY_88COLOURS; @@ -333,6 +335,9 @@ if (cfg_file) xfree(cfg_file); cfg_file = xstrdup(optarg); + break; + case 'l': + login_shell = 1; break; case 'L': if (label != NULL)