Extend the -q flag to set-option to suppress errors about unknown
authornicm <nicm@openbsd.org>
Thu, 17 Apr 2014 07:51:38 +0000 (07:51 +0000)
committernicm <nicm@openbsd.org>
Thu, 17 Apr 2014 07:51:38 +0000 (07:51 +0000)
options - this will allow options to be removed more easily.

usr.bin/tmux/cmd-set-option.c
usr.bin/tmux/tmux.1

index d868f0b..696b8a4 100644 (file)
@@ -1,4 +1,4 @@
-/* $OpenBSD: cmd-set-option.c,v 1.66 2014/02/17 18:12:47 nicm Exp $ */
+/* $OpenBSD: cmd-set-option.c,v 1.67 2014/04/17 07:51:38 nicm Exp $ */
 
 /*
  * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
@@ -117,8 +117,11 @@ cmd_set_option_exec(struct cmd *self, struct cmd_q *cmdq)
                return (CMD_RETURN_ERROR);
        }
        if (oe == NULL) {
-               cmdq_error(cmdq, "unknown option: %s", optstr);
-               return (CMD_RETURN_ERROR);
+               if (!args_has(args, 'q')) {
+                       cmdq_error(cmdq, "unknown option: %s", optstr);
+                       return (CMD_RETURN_ERROR);
+               }
+               return (CMD_RETURN_NORMAL);
        }
 
        /* Work out the tree from the table. */
@@ -163,8 +166,10 @@ cmd_set_option_exec(struct cmd *self, struct cmd_q *cmdq)
                        return (CMD_RETURN_ERROR);
        } else {
                if (args_has(args, 'o') && options_find1(oo, optstr) != NULL) {
-                       if (!args_has(args, 'q'))
-                               cmdq_print(cmdq, "already set: %s", optstr);
+                       if (!args_has(args, 'q')) {
+                               cmdq_error(cmdq, "already set: %s", optstr);
+                               return (CMD_RETURN_ERROR);
+                       }
                        return (CMD_RETURN_NORMAL);
                }
                if (cmd_set_option_set(self, cmdq, oe, oo, valstr) != 0)
@@ -229,8 +234,11 @@ cmd_set_option_user(struct cmd *self, struct cmd_q *cmdq, const char* optstr,
 
        if (args_has(args, 'u')) {
                if (options_find1(oo, optstr) == NULL) {
-                       cmdq_error(cmdq, "unknown option: %s", optstr);
-                       return (CMD_RETURN_ERROR);
+                       if (!args_has(args, 'q')) {
+                               cmdq_error(cmdq, "unknown option: %s", optstr);
+                               return (CMD_RETURN_ERROR);
+                       }
+                       return (CMD_RETURN_NORMAL);
                }
                if (valstr != NULL) {
                        cmdq_error(cmdq, "value passed to unset option: %s",
@@ -244,8 +252,10 @@ cmd_set_option_user(struct cmd *self, struct cmd_q *cmdq, const char* optstr,
                        return (CMD_RETURN_ERROR);
                }
                if (args_has(args, 'o') && options_find1(oo, optstr) != NULL) {
-                       if (!args_has(args, 'q'))
-                               cmdq_print(cmdq, "already set: %s", optstr);
+                       if (!args_has(args, 'q')) {
+                               cmdq_error(cmdq, "already set: %s", optstr);
+                               return CMD_RETURN_ERROR;
+                       }
                        return (CMD_RETURN_NORMAL);
                }
                options_set_string(oo, optstr, "%s", valstr);
index ce4109d..90b59f2 100644 (file)
@@ -1,4 +1,4 @@
-.\" $OpenBSD: tmux.1,v 1.388 2014/04/17 07:36:45 nicm Exp $
+.\" $OpenBSD: tmux.1,v 1.389 2014/04/17 07:51:38 nicm Exp $
 .\"
 .\" Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
 .\"
@@ -2047,9 +2047,7 @@ flag prevents setting an option that is already set.
 .Pp
 The
 .Fl q
-flag suppresses the informational message (as if the
-.Ic quiet
-server option was set).
+flag suppresses errors about unknown options.
 .Pp
 With
 .Fl a ,