mirror of
https://git.notmuchmail.org/git/notmuch
synced 2024-12-22 09:24:54 +01:00
CLI: remove alias machinery, and "part", "search-tags" commands
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.
This commit is contained in:
parent
bdf7955cd5
commit
a76682a2d2
3 changed files with 9 additions and 56 deletions
8
NEWS
8
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)
|
Notmuch 0.15 (2013-01-18)
|
||||||
=========================
|
=========================
|
||||||
|
|
||||||
|
|
|
@ -118,13 +118,6 @@ file.
|
||||||
Allow configuration for filename patterns that should be ignored when
|
Allow configuration for filename patterns that should be ignored when
|
||||||
indexing.
|
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:
|
Fix to avoid this ugly message:
|
||||||
|
|
||||||
(process:17197): gmime-CRITICAL **: g_mime_message_get_mime_part: assertion `GMIME_IS_MESSAGE (message)' failed
|
(process:17197): gmime-CRITICAL **: g_mime_message_get_mime_part: assertion `GMIME_IS_MESSAGE (message)' failed
|
||||||
|
|
50
notmuch.c
50
notmuch.c
|
@ -31,18 +31,6 @@ typedef struct command {
|
||||||
const char *summary;
|
const char *summary;
|
||||||
} command_t;
|
} 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
|
static int
|
||||||
notmuch_help_command (void *ctx, int argc, char *argv[]);
|
notmuch_help_command (void *ctx, int argc, char *argv[]);
|
||||||
|
|
||||||
|
@ -260,9 +248,7 @@ main (int argc, char *argv[])
|
||||||
{
|
{
|
||||||
void *local;
|
void *local;
|
||||||
command_t *command;
|
command_t *command;
|
||||||
alias_t *alias;
|
unsigned int i;
|
||||||
unsigned int i, j;
|
|
||||||
const char **argv_local;
|
|
||||||
|
|
||||||
talloc_enable_null_tracking ();
|
talloc_enable_null_tracking ();
|
||||||
|
|
||||||
|
@ -285,40 +271,6 @@ main (int argc, char *argv[])
|
||||||
return 0;
|
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++) {
|
for (i = 0; i < ARRAY_SIZE (commands); i++) {
|
||||||
command = &commands[i];
|
command = &commands[i];
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue