unofficial mirror of notmuch@notmuchmail.org
 help / color / mirror / code / Atom feed
From: david@tethera.net
To: notmuch@notmuchmail.org
Cc: David Bremner <bremner@debian.org>
Subject: [PATCH 2/7] CLI: remove alias machinery, and "part", "search-tags" commands
Date: Sat, 19 Jan 2013 14:25:53 -0400	[thread overview]
Message-ID: <1358619958-21209-3-git-send-email-david@tethera.net> (raw)
In-Reply-To: <1358619958-21209-1-git-send-email-david@tethera.net>

From: David Bremner <bremner@debian.org>

The commands are long deprecated, so removal is probably overdue. The
real motivation is to simplify argument handling for notmuch so that
we can migrate to the common argument parsing framework.
---
 NEWS       |    8 ++++++++
 devel/TODO |    7 -------
 notmuch.c  |   50 +-------------------------------------------------
 3 files changed, 9 insertions(+), 56 deletions(-)

diff --git a/NEWS b/NEWS
index 1cb52dd..2ed472e 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,11 @@
+Notmuch 0.16 (2013-MM-DD)
+=========================
+
+Command-Line Interface
+----------------------
+
+Deprecated commands "part" and "search-tags" are removed.
+
 Notmuch 0.15 (2013-01-18)
 =========================
 
diff --git a/devel/TODO b/devel/TODO
index eb757af..3741f0e 100644
--- a/devel/TODO
+++ b/devel/TODO
@@ -118,13 +118,6 @@ file.
 Allow configuration for filename patterns that should be ignored when
 indexing.
 
-Replace the "notmuch part --part=id" command with "notmuch show
---part=id", (David Edmondson wants to rewrite some of "notmuch show" to
-provide more MIME-structure information in its output first).
-
-Replace the "notmuch search-tags" command with "notmuch search
---output=tags".
-
 Fix to avoid this ugly message:
 
 	(process:17197): gmime-CRITICAL **: g_mime_message_get_mime_part: assertion `GMIME_IS_MESSAGE (message)' failed
diff --git a/notmuch.c b/notmuch.c
index 4fc0973..f13fd27 100644
--- a/notmuch.c
+++ b/notmuch.c
@@ -31,18 +31,6 @@ typedef struct command {
     const char *summary;
 } command_t;
 
-#define MAX_ALIAS_SUBSTITUTIONS 3
-
-typedef struct alias {
-    const char *name;
-    const char *substitutions[MAX_ALIAS_SUBSTITUTIONS];
-} alias_t;
-
-alias_t aliases[] = {
-    { "part", { "show", "--format=raw"}},
-    { "search-tags", {"search", "--output=tags", "*"}}
-};
-
 static int
 notmuch_help_command (void *ctx, int argc, char *argv[]);
 
@@ -260,9 +248,7 @@ main (int argc, char *argv[])
 {
     void *local;
     command_t *command;
-    alias_t *alias;
-    unsigned int i, j;
-    const char **argv_local;
+    unsigned int i;
 
     talloc_enable_null_tracking ();
 
@@ -285,40 +271,6 @@ main (int argc, char *argv[])
 	return 0;
     }
 
-    for (i = 0; i < ARRAY_SIZE (aliases); i++) {
-	alias = &aliases[i];
-
-	if (strcmp (argv[1], alias->name) == 0)
-	{
-	    int substitutions;
-
-	    argv_local = talloc_size (local, sizeof (char *) *
-				      (argc + MAX_ALIAS_SUBSTITUTIONS - 1));
-	    if (argv_local == NULL) {
-		fprintf (stderr, "Out of memory.\n");
-		return 1;
-	    }
-
-	    /* Copy all substution arguments from the alias. */
-	    argv_local[0] = argv[0];
-	    for (j = 0; j < MAX_ALIAS_SUBSTITUTIONS; j++) {
-		if (alias->substitutions[j] == NULL)
-		    break;
-		argv_local[j+1] = alias->substitutions[j];
-	    }
-	    substitutions = j;
-
-	    /* And copy all original arguments (skipping the argument
-	     * that matched the alias of course. */
-	    for (j = 2; j < (unsigned) argc; j++) {
-		argv_local[substitutions+j-1] = argv[j];
-	    }
-
-	    argc += substitutions - 1;
-	    argv = (char **) argv_local;
-	}
-    }
-
     for (i = 0; i < ARRAY_SIZE (commands); i++) {
 	command = &commands[i];
 
-- 
1.7.10.4

  parent reply	other threads:[~2013-01-19 18:26 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-01-19 18:25 update top level argument handling david
2013-01-19 18:25 ` [PATCH 1/7] emacs: don't use deprecated "notmuch search-tags" command david
2013-01-19 18:25 ` david [this message]
2013-01-19 18:25 ` [PATCH 3/7] CLI: convert top level argument parsing to use command-line-arguments david
2013-01-19 18:25 ` [PATCH 4/7] man: document existing top level options david
2013-01-19 18:25 ` [PATCH 5/7] CLI: add --leak-report top level option david
2013-01-20 21:55   ` Jameson Graef Rollins
2013-01-20 22:55     ` Tomi Ollila
2013-01-19 18:25 ` [PATCH 6/7] man: document NOTMUCH_TALLOC_REPORT environment variable david
2013-01-19 18:25 ` [PATCH 7/7] CLI: add simple error handling for talloc logging david
2013-01-21 16:18 ` update top level argument handling Jani Nikula
2013-01-23  1:25   ` David Bremner
2013-01-23  1:57     ` Tomi Ollila

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://notmuchmail.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1358619958-21209-3-git-send-email-david@tethera.net \
    --to=david@tethera.net \
    --cc=bremner@debian.org \
    --cc=notmuch@notmuchmail.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://yhetil.org/notmuch.git/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).