Return-Path: X-Original-To: notmuch@notmuchmail.org Delivered-To: notmuch@notmuchmail.org Received: from localhost (localhost [127.0.0.1]) by olra.theworths.org (Postfix) with ESMTP id 123F0431FBD for ; Fri, 31 May 2013 12:10:43 -0700 (PDT) X-Virus-Scanned: Debian amavisd-new at olra.theworths.org X-Spam-Flag: NO X-Spam-Score: 0 X-Spam-Level: X-Spam-Status: No, score=0 tagged_above=-999 required=5 tests=[none] autolearn=disabled Received: from olra.theworths.org ([127.0.0.1]) by localhost (olra.theworths.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id RfFAJ-t0HkGg for ; Fri, 31 May 2013 12:10:35 -0700 (PDT) Received: from guru.guru-group.fi (guru.guru-group.fi [46.183.73.34]) by olra.theworths.org (Postfix) with ESMTP id 28B07431FC7 for ; Fri, 31 May 2013 12:10:35 -0700 (PDT) Received: by guru.guru-group.fi (Postfix, from userid 501) id 9110910009D; Fri, 31 May 2013 22:10:34 +0300 (EEST) From: Tomi Ollila To: notmuch@notmuchmail.org Subject: [RFC PATCH] revert: Removed top level --stderr= option Date: Fri, 31 May 2013 22:10:31 +0300 Message-Id: <1370027431-16018-1-git-send-email-tomi.ollila@iki.fi> X-Mailer: git-send-email 1.8.0 Cc: tomi.ollila@iki.fi X-BeenThere: notmuch@notmuchmail.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: "Use and development of the notmuch mail system." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 31 May 2013 19:10:43 -0000 While looked good on paper, its attempted use caused confusion, complexity, and potential for information leak when passed through wrapper scripts. For slimmer code and to lessen demand for maintenance/support the set of commits which added top level --stderr= option is now reverted. --- Change was easy, commit message hard. Opinions? Revert is easiest to do now. Also, if someone comes with a novel idea how to utilize --stderr option please tell it now -- I'd be most eager to hear it :D This change was done the following way: $ git checkout -b rvrt b9020448bd $ git reset --hard HEAD^^^^ $ git reset b9020448bd $ git commit -a $ git diff HEAD~5..HEAD (last one to reveal HEAD~5 & HEAD have identical trees). Question why: id:20130521195549.6550.53636@thinkbox.jade-hamburg.de Good reason why not: id:1369934016-22308-1-git-send-email-amdragon@mit.edu NEWS | 5 ----- man/man1/notmuch.1 | 7 ------- notmuch-client.h | 1 - notmuch.c | 32 -------------------------------- test/help-test | 9 --------- 5 files changed, 54 deletions(-) diff --git a/NEWS b/NEWS index 80abd97..a7f2ec6 100644 --- a/NEWS +++ b/NEWS @@ -35,11 +35,6 @@ Top level option to specify configuration file It's now possible to specify the configuration file to use on the command line using the `notmuch --config=FILE` option. -Top level option to redirect writes to stderr - - With `notmuch --stderr=FILE` all writes to stderr are redirected to - the specified file. If FILE is '-', stderr is redirected to stdout. - Deprecated commands "part" and "search-tags" are removed. Bash command-line completion diff --git a/man/man1/notmuch.1 b/man/man1/notmuch.1 index f5ca0ad..033cc10 100644 --- a/man/man1/notmuch.1 +++ b/man/man1/notmuch.1 @@ -76,14 +76,7 @@ Print the installed version of notmuch, and exit. Specify the configuration file to use. This overrides any configuration file specified by ${NOTMUCH_CONFIG}. -.RE - -.RS 4 -.TP 4 -.B \-\-stderr=FILE -Redirect all writes to stderr to the specified file. -If FILE is '-', stderr is redirected to stdout. .RE .SH COMMANDS diff --git a/notmuch-client.h b/notmuch-client.h index 4a3c7ac..45749a6 100644 --- a/notmuch-client.h +++ b/notmuch-client.h @@ -54,7 +54,6 @@ typedef GMimeCipherContext notmuch_crypto_context_t; #include #include #include -#include #include #include #include diff --git a/notmuch.c b/notmuch.c index 15e90c8..f51a84f 100644 --- a/notmuch.c +++ b/notmuch.c @@ -251,32 +251,6 @@ notmuch_command (notmuch_config_t *config, return 0; } -static int -redirect_stderr (const char * stderr_file) -{ - if (strcmp (stderr_file, "-") == 0) { - if (dup2 (STDOUT_FILENO, STDERR_FILENO) < 0) { - perror ("dup2"); - return 1; - } - } else { - int fd = open (stderr_file, O_WRONLY|O_CREAT|O_TRUNC, 0666); - if (fd < 0) { - fprintf (stderr, "Error: Cannot redirect stderr to '%s': %s\n", - stderr_file, strerror (errno)); - return 1; - } - if (fd != STDERR_FILENO) { - if (dup2 (fd, STDERR_FILENO) < 0) { - perror ("dup2"); - return 1; - } - close (fd); - } - } - return 0; -} - int main (int argc, char *argv[]) { @@ -285,7 +259,6 @@ main (int argc, char *argv[]) const char *command_name = NULL; command_t *command; char *config_file_name = NULL; - char *stderr_file = NULL; notmuch_config_t *config; notmuch_bool_t print_help=FALSE, print_version=FALSE; int opt_index; @@ -295,7 +268,6 @@ main (int argc, char *argv[]) { NOTMUCH_OPT_BOOLEAN, &print_help, "help", 'h', 0 }, { NOTMUCH_OPT_BOOLEAN, &print_version, "version", 'v', 0 }, { NOTMUCH_OPT_STRING, &config_file_name, "config", 'c', 0 }, - { NOTMUCH_OPT_STRING, &stderr_file, "stderr", '\0', 0 }, { 0, 0, 0, 0, 0 } }; @@ -315,10 +287,6 @@ main (int argc, char *argv[]) return 1; } - if (stderr_file && redirect_stderr (stderr_file) != 0) { - /* error already printed */ - return 1; - } if (print_help) return notmuch_help_command (NULL, argc - 1, &argv[1]); diff --git a/test/help-test b/test/help-test index bd0111c..f7df725 100755 --- a/test/help-test +++ b/test/help-test @@ -9,13 +9,4 @@ test_expect_success 'notmuch help' 'notmuch help' test_expect_success 'notmuch help tag' 'notmuch help tag' test_expect_success 'notmuch --version' 'notmuch --version' -test_begin_subtest "notmuch --stderr=stderr help %" -notmuch --stderr=stderr help % -test_expect_equal "$(cat stderr)" " -Sorry, % is not a known command. There's not much I can do to help." - -test_begin_subtest "notmuch --stderr=- help %" -test_expect_equal "$(notmuch --stderr=- help %)" " -Sorry, % is not a known command. There's not much I can do to help." - test_done -- 1.8.0