On Fri, Feb 22, 2013 at 06:34:14PM -0300, Thiago Padilha wrote:
> I had forgotten to update the man pages to reflect the nem flag, this
> patch contains the complete thing.
I think this is a bit more pithy, don't see a need to info() the old
value.
diff --git a/cmd-set-option.c b/cmd-set-option.c
index a09e6db..94b44c7 100644
--- a/cmd-set-option.c
+++ b/cmd-set-option.c
@@ -63,8 +63,8 @@ struct options_entry *cmd_set_option_choice(struct cmd *,
struct cmd_ctx *,
const struct cmd_entry cmd_set_option_entry = {
"set-option", "set",
- "agqst:uw", 1, 2,
- "[-agsquw] [-t target-session|target-window] option [value]",
+ "agoqst:uw", 1, 2,
+ "[-agosquw] [-t target-session|target-window] option [value]",
0,
NULL,
NULL,
@@ -73,8 +73,8 @@ const struct cmd_entry cmd_set_option_entry = {
const struct cmd_entry cmd_set_window_option_entry = {
"set-window-option", "setw",
- "agqt:u", 1, 2,
- "[-agqu] " CMD_TARGET_WINDOW_USAGE " option [value]",
+ "agoqt:u", 1, 2,
+ "[-agoqu] " CMD_TARGET_WINDOW_USAGE " option [value]",
0,
NULL,
NULL,
@@ -151,6 +151,11 @@ cmd_set_option_exec(struct cmd *self, struct cmd_ctx *ctx)
if (cmd_set_option_unset(self, ctx, oe, oo, valstr) != 0)
return (CMD_RETURN_ERROR);
} else {
+ if (args_has(args, 'o') && options_find1(oo, optstr) != NULL) {
+ if (!args_has(args, 'q'))
+ ctx->print(ctx, "already set: %s", optstr);
+ return (CMD_RETURN_NORMAL);
+ }
if (cmd_set_option_set(self, ctx, oe, oo, valstr) != 0)
return (CMD_RETURN_ERROR);
}
@@ -227,6 +232,11 @@ cmd_set_option_user(struct cmd *self, struct cmd_ctx *ctx,
const char* optstr,
ctx->error(ctx, "empty value");
return (CMD_RETURN_ERROR);
}
+ if (args_has(args, 'o') && options_find1(oo, optstr) != NULL) {
+ if (!args_has(args, 'q'))
+ ctx->print(ctx, "already set: %s", optstr);
+ return (CMD_RETURN_NORMAL);
+ }
options_set_string(oo, optstr, "%s", valstr);
if (!args_has(args, 'q'))
ctx->info(ctx, "set option: %s -> %s", optstr, valstr);
diff --git a/tmux.1 b/tmux.1
index 475bac0..0b2892a 100644
--- a/tmux.1
+++ b/tmux.1
@@ -1996,7 +1996,7 @@ abc123
Commands which set options are as follows:
.Bl -tag -width Ds
.It Xo Ic set-option
-.Op Fl agqsuw
+.Op Fl agoqsuw
.Op Fl t Ar target-session | Ar target-window
.Ar option Ar value
.Xc
@@ -2025,6 +2025,10 @@ options.
It is not possible to unset a global option.
.Pp
The
+.Fl o
+flag prevents setting an option that is already set.
+.Pp
+The
.Fl q
flag suppresses the informational message (as if the
.Ic quiet
------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_feb
_______________________________________________
tmux-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/tmux-users