=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/tmux/cmd-show-environment.c,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- src/usr.bin/tmux/cmd-show-environment.c 2011/04/05 19:37:01 1.4 +++ src/usr.bin/tmux/cmd-show-environment.c 2012/03/22 11:11:57 1.5 @@ -1,4 +1,4 @@ -/* $OpenBSD: cmd-show-environment.c,v 1.4 2011/04/05 19:37:01 nicm Exp $ */ +/* $OpenBSD: cmd-show-environment.c,v 1.5 2012/03/22 11:11:57 nicm Exp $ */ /* * Copyright (c) 2009 Nicholas Marriott @@ -31,8 +31,8 @@ const struct cmd_entry cmd_show_environment_entry = { "show-environment", "showenv", - "gt:", 0, 0, - "[-g] " CMD_TARGET_SESSION_USAGE, + "gt:", 0, 1, + "[-g] " CMD_TARGET_SESSION_USAGE " [name]", 0, NULL, NULL, @@ -53,6 +53,19 @@ if ((s = cmd_find_session(ctx, args_get(args, 't'), 0)) == NULL) return (-1); env = &s->environ; + } + + if (args->argc != 0) { + envent = environ_find(env, args->argv[0]); + if (envent == NULL) { + ctx->error(ctx, "unknown variable: %s", args->argv[0]); + return (-1); + } + if (envent->value != NULL) + ctx->print(ctx, "%s=%s", envent->name, envent->value); + else + ctx->print(ctx, "-%s", envent->name); + return (0); } RB_FOREACH(envent, environ, env) {