diff --git a/doc/man/man1/salloc.1 b/doc/man/man1/salloc.1
index 4dcde3b5665fa7423dc02816536c40ce325e00ef..27bb16c07a0d0e515bf35cd7478a237d04eafa39 100644
--- a/doc/man/man1/salloc.1
+++ b/doc/man/man1/salloc.1
@@ -17,7 +17,7 @@ The command may be any program the user wishes.  Some typical commands are xterm
 \fB\-N\fR, \fB\-\-nodes\fR[=]<\fInumber|[min]\-[max]\fR>
 Specify the number of nodes to be used by this job step.  This option accepts either a single number, or a range of possible node counts.  If a single number is used, such as "\-N 4", then the allocation is asking for four and ONLY four nodes.  If a range is specified, such as "\-N 2\-6", SLURM controller may grant salloc anywhere from 2 to 6 nodes.  When using a range, either of the min or max options may be omitted.  For instance, "\-N 10\-" means "no fewer than 10 nodes", and "\-N \-20" means "no more than 20 nodes".  The default value of this option is one node, but other options may require more than one node to be allocated.
 .TP 
-\fB\-D\fR, \fB\-\-dependency\fR[=]<\fIjobid\fR>
+\fB\-d\fR, \fB\-\-dependency\fR[=]<\fIjobid\fR>
 Defer the start of this job until the specified \fIjobid\fR has completed.  Many jobs can share the same dependency and these jobs may even belong to different  users.   The  value may be changed after job submission using the scontrol command.
 .TP 
 \fB\-I\fR,\fB\-\-immediate\fR
diff --git a/doc/man/man1/slaunch.1 b/doc/man/man1/slaunch.1
index 165f8e840d57874c5cbda5ba9fa747810b30f119..3c560c5be219316c8c40dd51c604c8a415ae4db7 100644
--- a/doc/man/man1/slaunch.1
+++ b/doc/man/man1/slaunch.1
@@ -22,6 +22,9 @@ Specify the number of processes to launch.  The default is one process per node.
 Specify the number of nodes to be used by this job step.  By default,
 slaunch will use all of the nodes in the specified job allocation.
 .TP 
+\fB\-d\fR, \fB\-\-dependency\fR[=]<\fIjobid\fR>
+Defer the start of this job until the specified \fIjobid\fR has completed.  Many jobs can share the same dependency and these jobs may even belong to different  users.   The  value may be changed after job submission using the scontrol command.
+.TP 
 \fB\-r\fR, \fB\-\-relative\fR[=]<\fInumber\fR>
 Specify the first node in the allocation on which this job step will be launched.  Counting starts at zero, thus the first node in the job allocation is node 0.  The option to \-\-relative may also be a negative number.  \-1 is the last node in the allocation, \-2 is the next to last node, etc.  By default, the controller will select the starting node (assuming that there are no other nodelist or task layout options that specify specific nodes).
 
diff --git a/src/salloc/opt.c b/src/salloc/opt.c
index a9385592b37f089014bdf74a42c744ce3b66fdda..61a8a7daf3e2f616fdc12825b197678a9848450a 100644
--- a/src/salloc/opt.c
+++ b/src/salloc/opt.c
@@ -78,7 +78,6 @@
 #define OPT_INT         0x01
 #define OPT_STRING      0x02
 #define OPT_DEBUG       0x03
-#define OPT_DISTRIB     0x04
 #define OPT_NODES       0x05
 #define OPT_CORE        0x07
 #define OPT_CONN_TYPE	0x08
@@ -89,7 +88,6 @@
 #define OPT_JOBID       0x11
 
 /* generic getopt_long flags, integers and *not* valid characters */
-#define LONG_OPT_TIMEO       0x104
 #define LONG_OPT_TMP         0x106
 #define LONG_OPT_MEM         0x107
 #define LONG_OPT_MINCPU      0x108
@@ -97,9 +95,7 @@
 #define LONG_OPT_UID         0x10a
 #define LONG_OPT_GID         0x10b
 #define LONG_OPT_CORE	     0x10e
-#define LONG_OPT_DEBUG_TS    0x110
 #define LONG_OPT_CONNTYPE    0x111
-#define LONG_OPT_TEST_ONLY   0x113
 #define LONG_OPT_NETWORK     0x114
 #define LONG_OPT_EXCLUSIVE   0x115
 #define LONG_OPT_PROPAGATE   0x116
@@ -149,7 +145,6 @@ static int _parse_signal(const char *signal_name);
 static long  _to_bytes(const char *arg);
 static void  _usage(void);
 static bool  _valid_node_list(char **node_list_pptr);
-static enum  task_dist_states _verify_dist_type(const char *arg);
 static bool  _verify_node_count(const char *arg, int *min, int *max);
 static int   _verify_geometry(const char *arg, uint16_t *geometry);
 static int   _verify_conn_type(const char *arg);
@@ -219,25 +214,6 @@ static bool _valid_node_list(char **node_list_pptr)
 	return true;
 }
 
-/* 
- * verify that a distribution type in arg is of a known form
- * returns the task_dist_states, or -1 for unrecognized state
- */
-static enum task_dist_states _verify_dist_type(const char *arg)
-{
-	int len = strlen(arg);
-	enum task_dist_states result = -1;
-
-	if (strncasecmp(arg, "cyclic", len) == 0)
-		result = SLURM_DIST_CYCLIC;
-	else if (strncasecmp(arg, "block", len) == 0)
-		result = SLURM_DIST_BLOCK;
-	else if (strncasecmp(arg, "arbitrary", len) == 0)
-		result = SLURM_DIST_ARBITRARY;
-
-	return result;
-}
-
 /*
  * verify that a connection type in arg is of known form
  * returns the connection_type or -1 if not recognized
@@ -497,8 +473,6 @@ static void _opt_default()
 	opt.dependency = NO_VAL;
 	opt.account  = NULL;
 
-	opt.distribution = SLURM_DIST_CYCLIC;
-
 	opt.share = false;
 	opt.no_kill = false;
 	opt.kill_command_signal = SIGTERM;
@@ -507,7 +481,6 @@ static void _opt_default()
 	opt.immediate	= false;
 	opt.no_requeue	= false;
 	opt.max_wait	= 0;
-	opt.test_only   = false;
 
 	opt.quiet = 0;
 	opt.verbose = 0;
@@ -523,7 +496,6 @@ static void _opt_default()
         opt.exclusive       = false;
 	opt.nodelist	    = NULL;
 	opt.exc_nodes	    = NULL;
-	opt.msg_timeout     = 5;  /* Default launch msg timeout           */
 
 	for (i=0; i<SYSTEM_DIMENSIONS; i++)
 		opt.geometry[i]	    = (uint16_t) NO_VAL;
@@ -561,7 +533,6 @@ env_vars_t env_vars[] = {
   {"SALLOC_CPUS_PER_TASK", OPT_INT,        &opt.cpus_per_task, &opt.cpus_set  },
   {"SALLOC_CONN_TYPE",     OPT_CONN_TYPE,  NULL,               NULL           },
   {"SALLOC_DEBUG",         OPT_DEBUG,      NULL,               NULL           },
-  {"SALLOC_DISTRIBUTION",  OPT_DISTRIB,    NULL,               NULL           },
   {"SALLOC_GEOMETRY",      OPT_GEOMETRY,   NULL,               NULL           },
   {"SALLOC_IMMEDIATE",     OPT_INT,        &opt.immediate,     NULL           },
   {"SALLOC_JOBID",         OPT_JOBID,      NULL,               NULL           },
@@ -600,7 +571,6 @@ static void
 _process_env_var(env_vars_t *e, const char *val)
 {
 	char *end = NULL;
-	enum task_dist_states dt;
 
 	debug2("now processing env var %s=%s", e->var, val);
 
@@ -628,15 +598,6 @@ _process_env_var(env_vars_t *e, const char *val)
 		}
 		break;
 
-	case OPT_DISTRIB:
-		dt = _verify_dist_type(val);
-		if (dt == -1) {
-			error("\"%s=%s\" -- invalid distribution type. " 
-			      "ignoring...", e->var, val);
-		} else 
-			opt.distribution = dt;
-		break;
-
 	case OPT_NODES:
 		opt.nodes_set = _verify_node_count( val, 
 						    &opt.min_nodes, 
@@ -704,11 +665,10 @@ _get_int(const char *arg, const char *what)
 void set_options(const int argc, char **argv)
 {
 	int opt_char, option_index = 0;
-	static bool set_name=false;
 	static struct option long_options[] = {
 		{"cpus-per-task", required_argument, 0, 'c'},
 		{"constraint",    required_argument, 0, 'C'},
-		{"dependency",    required_argument, 0, 'D'},
+		{"dependency",    required_argument, 0, 'd'},
 		{"geometry",      required_argument, 0, 'g'},
 		{"help",          no_argument,       0, 'h'},
 		{"hold",          no_argument,       0, 'H'},
@@ -716,7 +676,6 @@ void set_options(const int argc, char **argv)
 		{"job-name",      required_argument, 0, 'J'},
 		{"no-kill",       no_argument,       0, 'k'},
 		{"kill-command",  optional_argument, 0, 'K'},
-		{"distribution",  required_argument, 0, 'm'},
 		{"nodes",         required_argument, 0, 'N'},
 		{"partition",     required_argument, 0, 'p'},
 		{"quiet",         no_argument,       0, 'q'},
@@ -735,12 +694,9 @@ void set_options(const int argc, char **argv)
 		{"mincpus",          required_argument, 0, LONG_OPT_MINCPU},
 		{"mem",              required_argument, 0, LONG_OPT_MEM},
 		{"tmp",              required_argument, 0, LONG_OPT_TMP},
-		{"msg-timeout",      required_argument, 0, LONG_OPT_TIMEO},
 		{"uid",              required_argument, 0, LONG_OPT_UID},
 		{"gid",              required_argument, 0, LONG_OPT_GID},
-		{"debugger-test",    no_argument,       0, LONG_OPT_DEBUG_TS},
 		{"conn-type",        required_argument, 0, LONG_OPT_CONNTYPE},
-		{"test-only",        no_argument,       0, LONG_OPT_TEST_ONLY},
 		{"network",          required_argument, 0, LONG_OPT_NETWORK},
 		{"propagate",        optional_argument, 0, LONG_OPT_PROPAGATE},
 		{"begin",            required_argument, 0, LONG_OPT_BEGIN},
@@ -753,7 +709,7 @@ void set_options(const int argc, char **argv)
 		{"jobid",            required_argument, 0, LONG_OPT_JOBID},
 		{NULL,               0,                 0, 0}
 	};
-	char *opt_string = "+a:c:C:D:g:hHIJ:kK::m:n:N:p:qR:st:uU:vVw:W:x:";
+	char *opt_string = "+a:c:C:d:g:hHIJ:kK::n:N:p:qR:st:uU:vVw:W:x:";
 
 	opt.progname = xbasename(argv[0]);
 	optind = 0;		
@@ -775,7 +731,7 @@ void set_options(const int argc, char **argv)
 			xfree(opt.constraints);
 			opt.constraints = xstrdup(optarg);
 			break;
-		case 'D':
+		case 'd':
 			opt.dependency = _get_int(optarg, "dependency");
 			break;
 		case 'g':
@@ -792,7 +748,6 @@ void set_options(const int argc, char **argv)
 			opt.immediate = true;
 			break;
 		case 'J':
-			set_name = true;
 			xfree(opt.job_name);
 			opt.job_name = xstrdup(optarg);
 			break;
@@ -807,14 +762,6 @@ void set_options(const int argc, char **argv)
 			}
 			opt.kill_command_signal_set = true;
 			break;
-		case 'm':
-			opt.distribution = _verify_dist_type(optarg);
-			if (opt.distribution == -1) {
-				error("distribution type `%s' " 
-				      "is not recognized", optarg);
-				exit(1);
-			}
-			break;
 		case 'n':
 			opt.nprocs_set = true;
 			opt.nprocs = 
@@ -904,10 +851,6 @@ void set_options(const int argc, char **argv)
 				exit(1);
 			}
 			break;
-		case LONG_OPT_TIMEO:
-			opt.msg_timeout = 
-				_get_int(optarg, "msg-timeout");
-			break;
 		case LONG_OPT_UID:
 			opt.euid = uid_from_string (optarg);
 			if (opt.euid == (uid_t) -1)
@@ -921,9 +864,6 @@ void set_options(const int argc, char **argv)
 		case LONG_OPT_CONNTYPE:
 			opt.conn_type = _verify_conn_type(optarg);
 			break;
-		case LONG_OPT_TEST_ONLY:
-			opt.test_only = true;
-			break;
 		case LONG_OPT_NETWORK:
 			xfree(opt.network);
 			opt.network = xstrdup(optarg);
@@ -1288,7 +1228,6 @@ static void _opt_list()
 	info("job name       : `%s'", opt.job_name);
 	if (opt.jobid != NO_VAL)
 		info("jobid          : %u", opt.jobid);
-	info("distribution   : %s", format_task_dist_states(opt.distribution));
 	info("verbose        : %d", opt.verbose);
 	info("immediate      : %s", tf_(opt.immediate));
 	info("no-requeue     : %s", tf_(opt.no_requeue));
@@ -1364,8 +1303,6 @@ static void _help(void)
 "  -I, --immediate             exit if resources are not immediately available\n"
 "  -k, --no-kill               do not kill job on node failure\n"
 "  -s, --share                 share nodes with other jobs\n"
-"  -m, --distribution=type     distribution method for processes to nodes\n"
-"                              (type = block|cyclic|hostfile)\n"
 "  -J, --job-name=jobname      name of job\n"
 "      --jobid=id              specify jobid to use\n"
 "      --mpi=type              type of MPI being used\n"
@@ -1373,7 +1310,7 @@ static void _help(void)
 "                              immediately available\n"
 "  -v, --verbose               verbose mode (multiple -v's increase verbosity)\n"
 "  -q, --quiet                 quiet mode (suppress informational messages)\n"
-"  -P, --dependency=jobid      defer job until specified jobid completes\n"
+"  -d, --dependency=jobid      defer job until specified jobid completes\n"
 "      --nice[=value]          decrease secheduling priority by value\n"
 "  -U, --account=name          charge job to specified account\n"
 "      --propagate[=rlimits]   propagate all [or specific list of] rlimits\n"
diff --git a/src/salloc/opt.h b/src/salloc/opt.h
index 4bfd9f67d3bb8c3f47a467974e2fc88de58a3d4d..bb2ad5cc73181410dafe8b73fc37230cb38a1721 100644
--- a/src/salloc/opt.h
+++ b/src/salloc/opt.h
@@ -45,11 +45,6 @@
 
 typedef enum {BELL_NEVER, BELL_AFTER_DELAY, BELL_ALWAYS} bell_flag_t;
 
-#define format_task_dist_states(t) (t == SLURM_DIST_BLOCK) ? "block" :   \
-		                 (t == SLURM_DIST_CYCLIC) ? "cyclic" : \
-			         (t == SLURM_DIST_ARBITRARY) ? "arbitrary" : \
-			         "unknown"
-
 typedef struct salloc_options {
 
 	char *progname;		/* argv[0] of this program or 
@@ -88,7 +83,6 @@ typedef struct salloc_options {
 	int  max_wait;		/* --wait,    -W		*/
 	int  quiet;
 	int  verbose;
-	bool test_only;		/* --test-only			*/
 	char *propagate;	/* --propagate[=RLIMIT_CORE,...]*/
 
 	/* constraint options */
@@ -99,7 +93,6 @@ typedef struct salloc_options {
 	bool contiguous;	/* --contiguous			*/
 	char *nodelist;		/* --nodelist=node1,node2,...	*/
 	char *exc_nodes;	/* --exclude=node1,node2,... -x	*/
-	int  msg_timeout;       /* Undocumented                 */
 	char *network;		/* --network=			*/
         bool exclusive;         /* --exclusive                  */
 
@@ -114,13 +107,6 @@ typedef struct salloc_options {
 
 extern opt_t opt;
 
-/* return whether any constraints were specified by the user 
- * (if new constraints are added above, might want to add them to this
- *  macro or move this to a function if it gets a little complicated)
- */
-#define constraints_given() opt.mincpus != -1 || opt.realmem != -1 ||\
-                            opt.tmpdisk != -1 || opt.contiguous   
-
 /* process options:
  * 1. set defaults
  * 2. update options with env vars
diff --git a/src/sbatch/opt.c b/src/sbatch/opt.c
index bb953021f4be6b40b19a828519d57add59b7546b..8e1e9dedb1d42a1a662e503d288946cd053a7bf8 100644
--- a/src/sbatch/opt.c
+++ b/src/sbatch/opt.c
@@ -77,7 +77,6 @@
 #define OPT_INT         0x01
 #define OPT_STRING      0x02
 #define OPT_DEBUG       0x03
-#define OPT_DISTRIB     0x04
 #define OPT_NODES       0x05
 #define OPT_CORE        0x07
 #define OPT_CONN_TYPE	0x08
@@ -87,7 +86,6 @@
 #define OPT_MULTI       0x0f
 
 /* generic getopt_long flags, integers and *not* valid characters */
-#define LONG_OPT_TIMEO       0x104
 #define LONG_OPT_JOBID       0x105
 #define LONG_OPT_TMP         0x106
 #define LONG_OPT_MEM         0x107
@@ -97,9 +95,7 @@
 #define LONG_OPT_GID         0x10b
 #define LONG_OPT_MPI         0x10c
 #define LONG_OPT_CORE	     0x10e
-#define LONG_OPT_DEBUG_TS    0x110
 #define LONG_OPT_CONNTYPE    0x111
-#define LONG_OPT_TEST_ONLY   0x113
 #define LONG_OPT_NETWORK     0x114
 #define LONG_OPT_EXCLUSIVE   0x115
 #define LONG_OPT_PROPAGATE   0x116
@@ -157,7 +153,6 @@ static long  _to_bytes(const char *arg);
 
 static void  _usage(void);
 static bool  _valid_node_list(char **node_list_pptr);
-static enum  task_dist_states _verify_dist_type(const char *arg);
 static bool  _verify_node_count(const char *arg, int *min, int *max);
 static int   _verify_geometry(const char *arg, uint16_t *geometry);
 static int   _verify_conn_type(const char *arg);
@@ -211,25 +206,6 @@ static bool _valid_node_list(char **node_list_pptr)
 	return true;
 }
 
-/* 
- * verify that a distribution type in arg is of a known form
- * returns the task_dist_states, or -1 on unrecognized state
- */
-static enum task_dist_states _verify_dist_type(const char *arg)
-{
-	int len = strlen(arg);
-	enum task_dist_states result = -1;
-
-	if (strncasecmp(arg, "cyclic", len) == 0)
-		result = SLURM_DIST_CYCLIC;
-	else if (strncasecmp(arg, "block", len) == 0)
-		result = SLURM_DIST_BLOCK;
-	else if (strncasecmp(arg, "arbitrary", len) == 0)
-		result = SLURM_DIST_ARBITRARY;
-
-	return result;
-}
-
 /*
  * verify that a connection type in arg is of known form
  * returns the connection_type or -1 if not recognized
@@ -461,15 +437,12 @@ static void _opt_default()
 	opt.dependency = NO_VAL;
 	opt.account  = NULL;
 
-	opt.distribution = SLURM_DIST_CYCLIC;
-
 	opt.share = false;
 	opt.no_kill = false;
 
 	opt.immediate	= false;
 	opt.no_requeue	= false;
 	opt.max_wait	= slurm_get_wait_time();
-	opt.test_only   = false;
 
 	opt.quiet = 0;
 	opt.verbose = 0;
@@ -485,7 +458,6 @@ static void _opt_default()
         opt.exclusive       = false;
 	opt.nodelist	    = NULL;
 	opt.exc_nodes	    = NULL;
-	opt.msg_timeout     = 5;  /* Default launch msg timeout           */
 
 	for (i=0; i<SYSTEM_DIMENSIONS; i++)
 		opt.geometry[i]	    = (uint16_t) NO_VAL;
@@ -528,7 +500,6 @@ env_vars_t env_vars[] = {
   {"SBATCH_CPUS_PER_TASK", OPT_INT,        &opt.cpus_per_task, &opt.cpus_set  },
   {"SBATCH_CONN_TYPE",     OPT_CONN_TYPE,  NULL,               NULL           },
   {"SBATCH_DEBUG",         OPT_DEBUG,      NULL,               NULL           },
-  {"SBATCH_DISTRIBUTION",  OPT_DISTRIB,    NULL,               NULL           },
   {"SBATCH_GEOMETRY",      OPT_GEOMETRY,   NULL,               NULL           },
   {"SBATCH_IMMEDIATE",     OPT_INT,        &opt.immediate,     NULL           },
   {"SBATCH_JOBID",         OPT_INT,        &opt.jobid,         NULL           },
@@ -566,7 +537,6 @@ static void
 _process_env_var(env_vars_t *e, const char *val)
 {
 	char *end = NULL;
-	enum task_dist_states dt;
 
 	debug2("now processing env var %s=%s", e->var, val);
 
@@ -594,15 +564,6 @@ _process_env_var(env_vars_t *e, const char *val)
 		}
 		break;
 
-	case OPT_DISTRIB:
-		dt = _verify_dist_type(val);
-		if (dt == -1) {
-			error("\"%s=%s\" -- invalid distribution type. " 
-			      "ignoring...", e->var, val);
-		} else 
-			opt.distribution = dt;
-		break;
-
 	case OPT_NODES:
 		opt.nodes_set = _verify_node_count( val, 
 						    &opt.min_nodes, 
@@ -648,7 +609,7 @@ _process_env_var(env_vars_t *e, const char *val)
 static struct option long_options[] = {
 	{"cpus-per-task", required_argument, 0, 'c'},
 	{"constraint",    required_argument, 0, 'C'},
-	{"slurmd-debug",  required_argument, 0, 'd'},
+	{"dependency",    required_argument, 0, 'd'},
 	{"chdir",         required_argument, 0, 'D'},
 	{"error",         required_argument, 0, 'e'},
 	{"geometry",      required_argument, 0, 'g'},
@@ -658,12 +619,10 @@ static struct option long_options[] = {
 	{"immediate",     no_argument,       0, 'I'},
 	{"job-name",      required_argument, 0, 'J'},
 	{"no-kill",       no_argument,       0, 'k'},
-	{"distribution",  required_argument, 0, 'm'},
 	{"ntasks",        required_argument, 0, 'n'},
 	{"nodes",         required_argument, 0, 'N'},
 	{"output",        required_argument, 0, 'o'},
 	{"partition",     required_argument, 0, 'p'},
-	{"dependency",    required_argument, 0, 'P'},
 	{"quiet",         no_argument,       0, 'q'},
 	{"relative",      required_argument, 0, 'r'},
 	{"no-rotate",     no_argument,       0, 'R'},
@@ -683,12 +642,9 @@ static struct option long_options[] = {
 	{"mpi",              required_argument, 0, LONG_OPT_MPI},
 	{"tmp",              required_argument, 0, LONG_OPT_TMP},
 	{"jobid",            required_argument, 0, LONG_OPT_JOBID},
-	{"msg-timeout",      required_argument, 0, LONG_OPT_TIMEO},
 	{"uid",              required_argument, 0, LONG_OPT_UID},
 	{"gid",              required_argument, 0, LONG_OPT_GID},
-	{"debugger-test",    no_argument,       0, LONG_OPT_DEBUG_TS},
 	{"conn-type",        required_argument, 0, LONG_OPT_CONNTYPE},
-	{"test-only",        no_argument,       0, LONG_OPT_TEST_ONLY},
 	{"network",          required_argument, 0, LONG_OPT_NETWORK},
 	{"propagate",        optional_argument, 0, LONG_OPT_PROPAGATE},
 	{"begin",            required_argument, 0, LONG_OPT_BEGIN},
@@ -702,7 +658,7 @@ static struct option long_options[] = {
 };
 
 static char *opt_string =
-	"+a:c:C:D:e:g:hHi:IJ:km:n:N:o:Op:P:qr:R:st:uU:vVw:W:x:";
+	"+a:c:C:d:D:e:g:hHi:IJ:kn:N:o:Op:qr:R:st:uU:vVw:W:x:";
 
 
 /*
@@ -981,7 +937,6 @@ static void _opt_batch_script(const void *body, int size)
 static void _set_options(int argc, char **argv)
 {
 	int opt_char, option_index = 0;
-	static bool set_cwd=false;
 
 	optind = 0;
 	while((opt_char = getopt_long(argc, argv, opt_string,
@@ -999,8 +954,10 @@ static void _set_options(int argc, char **argv)
 			xfree(opt.constraints);
 			opt.constraints = xstrdup(optarg);
 			break;
+		case 'd':
+			opt.dependency = _get_int(optarg, "dependency");
+			break;
 		case 'D':
-			set_cwd = true;
 			xfree(opt.cwd);
 			opt.cwd = xstrdup(optarg);
 			break;
@@ -1038,14 +995,6 @@ static void _set_options(int argc, char **argv)
 		case 'k':
 			opt.no_kill = true;
 			break;
-		case 'm':
-			opt.distribution = _verify_dist_type(optarg);
-			if (opt.distribution == -1) {
-				error("distribution type `%s' " 
-				      "is not recognized", optarg);
-				exit(1);
-			}
-			break;
 		case 'n':
 			opt.nprocs_set = true;
 			opt.nprocs = 
@@ -1073,9 +1022,6 @@ static void _set_options(int argc, char **argv)
 			xfree(opt.partition);
 			opt.partition = xstrdup(optarg);
 			break;
-		case 'P':
-			opt.dependency = _get_int(optarg, "dependency");
-			break;
 		case 'q':
 			opt.quiet++;
 			break;
@@ -1162,10 +1108,6 @@ static void _set_options(int argc, char **argv)
 			opt.jobid = _get_int(optarg, "jobid");
 			opt.jobid_set = true;
 			break;
-		case LONG_OPT_TIMEO:
-			opt.msg_timeout = 
-				_get_int(optarg, "msg-timeout");
-			break;
 		case LONG_OPT_UID:
 			opt.euid = uid_from_string (optarg);
 			if (opt.euid == (uid_t) -1)
@@ -1179,9 +1121,6 @@ static void _set_options(int argc, char **argv)
 		case LONG_OPT_CONNTYPE:
 			opt.conn_type = _verify_conn_type(optarg);
 			break;
-		case LONG_OPT_TEST_ONLY:
-			opt.test_only = true;
-			break;
 		case LONG_OPT_NETWORK:
 			xfree(opt.network);
 			opt.network = xstrdup(optarg);
@@ -1580,7 +1519,6 @@ static void _opt_list()
 	info("partition      : %s",
 		opt.partition == NULL ? "default" : opt.partition);
 	info("job name       : `%s'", opt.job_name);
-	info("distribution   : %s", format_task_dist_states(opt.distribution));
 	info("verbose        : %d", opt.verbose);
 	info("immediate      : %s", tf_(opt.immediate));
 	info("no-requeue     : %s", tf_(opt.no_requeue));
@@ -1665,8 +1603,6 @@ static void _help(void)
 "  -I, --immediate             exit if resources are not immediately available\n"
 "  -k, --no-kill               do not kill job on node failure\n"
 "  -s, --share                 share nodes with other jobs\n"
-"  -m, --distribution=type     distribution method for processes to nodes\n"
-"                              (type = block|cyclic|hostfile)\n"
 "  -J, --job-name=jobname      name of job\n"
 "      --jobid=id              run under already allocated job\n"
 "      --mpi=type              type of MPI being used\n"
@@ -1674,8 +1610,7 @@ static void _help(void)
 "                              before killing job\n"
 "  -v, --verbose               verbose mode (multiple -v's increase verbosity)\n"
 "  -q, --quiet                 quiet mode (suppress informational messages)\n"
-"  -d, --slurmd-debug=level    slurmd debug level\n"
-"  -P, --dependency=jobid      defer job until specified jobid completes\n"
+"  -d, --dependency=jobid      defer job until specified jobid completes\n"
 "      --nice[=value]          decrease secheduling priority by value\n"
 "  -U, --account=name          charge job to specified account\n"
 "      --propagate[=rlimits]   propagate all [or specific list of] rlimits\n"
diff --git a/src/sbatch/opt.h b/src/sbatch/opt.h
index cc604068588b4208a77c7a5e22261f3eb87c65b1..3f42b7c92accb3c83e797e6db011e4eb3e0113ee 100644
--- a/src/sbatch/opt.h
+++ b/src/sbatch/opt.h
@@ -39,18 +39,9 @@
 
 #include "src/common/macros.h" /* true and false */
 #include "src/common/env.h"
-//#include "src/common/mpi.h"
 
 #define MAX_USERNAME	9
 
-
-/* global variables relating to user options */
-
-#define format_task_dist_states(t) (t == SLURM_DIST_BLOCK) ? "block" :   \
-		                 (t == SLURM_DIST_CYCLIC) ? "cyclic" : \
-			         (t == SLURM_DIST_ARBITRARY) ? "arbitrary" : \
-			         "unknown"
-
 typedef struct sbatch_options {
 	char *progname;		/* argv[0] of this program or   */
 
@@ -74,8 +65,6 @@ typedef struct sbatch_options {
 	bool nodes_set;		/* true if nodes explicitly set */
 	int  time_limit;	/* --time,   -t			*/
 	char *partition;	/* --partition=n,   -p n   	*/
-	enum task_dist_states
-		distribution;	/* --distribution=, -m dist	*/
 	char *job_name;		/* --job-name=,     -J name	*/
 	unsigned int jobid;     /* --jobid=jobid                */
 	bool jobid_set;		/* true of jobid explicitly set */
@@ -93,7 +82,6 @@ typedef struct sbatch_options {
 	int  max_wait;		/* --wait,    -W		*/
 	int  quiet;
 	int  verbose;
-	bool test_only;		/* --test-only			*/
 	char *propagate;	/* --propagate[=RLIMIT_CORE,...]*/
 	char *task_epilog;	/* --task-epilog=		*/
 	char *task_prolog;	/* --task-prolog=		*/
@@ -107,7 +95,6 @@ typedef struct sbatch_options {
 	char *nodelist;		/* --nodelist=node1,node2,...	*/
 	char *exc_nodes;	/* --exclude=node1,node2,... -x	*/
 	char *relative;		/* --relative -r N              */
-	int  msg_timeout;       /* Undocumented                 */
 	char *network;		/* --network=			*/
         bool exclusive;         /* --exclusive                  */
 
@@ -124,13 +111,6 @@ typedef struct sbatch_options {
 
 extern opt_t opt;
 
-/* return whether any constraints were specified by the user 
- * (if new constraints are added above, might want to add them to this
- *  macro or move this to a function if it gets a little complicated)
- */
-#define constraints_given() opt.mincpus != -1 || opt.realmem != -1 ||\
-                            opt.tmpdisk != -1 || opt.contiguous   
-
 /*
  * process_options_first_pass()
  *
diff --git a/src/slaunch/opt.c b/src/slaunch/opt.c
index 999896829492c80f2ed893b3841b7e7078fbcbc3..753e9f38b7f617caa75d465d98db4413e52b7d30 100644
--- a/src/slaunch/opt.c
+++ b/src/slaunch/opt.c
@@ -813,8 +813,6 @@ _get_int(const char *arg, const char *what)
 void set_options(const int argc, char **argv)
 {
 	int opt_char, option_index = 0;
-	static bool set_cwd=false, set_name=false;
-	struct utsname name;
 	static struct option long_options[] = {
 		{"cpus-per-task", required_argument, 0, 'c'},
 		{"slurmd-debug",  required_argument, 0, 'd'},
@@ -903,7 +901,6 @@ void set_options(const int argc, char **argv)
 				_get_pos_int(optarg, "slurmd-debug");
 			break;
 		case 'D':
-			set_cwd = true;
 			xfree(opt.cwd);
 			opt.cwd = xstrdup(optarg);
 			break;
@@ -948,7 +945,6 @@ void set_options(const int argc, char **argv)
 			opt.remote_ifname = xstrdup(optarg);
 			break;
 		case 'J':
-			set_name = true;
 			xfree(opt.job_name);
 			opt.job_name = xstrdup(optarg);
 			break;