From 8b89861e79d1b2e8ddcc54ea4d89957d6d10ebe6 Mon Sep 17 00:00:00 2001 From: Pierre Habouzit Date: Tue, 14 Aug 2007 11:54:21 +0200 Subject: [PATCH] Disable many "stupid" CLI options or some that will have better equivalents soon (I hope). Signed-off-by: Pierre Habouzit --- init.c | 53 --------- lib-sys/mutt_signal.c | 8 +- lib-ui/curs_lib.c | 2 +- lib-ui/layout.c | 3 +- main.c | 248 ++++++++++++++---------------------------- pager.c | 2 - protos.h | 2 - 7 files changed, 90 insertions(+), 228 deletions(-) diff --git a/init.c b/init.c index bcd4d14..b6ba98b 100644 --- a/init.c +++ b/init.c @@ -1629,36 +1629,6 @@ int mutt_var_value_complete (char *buffer, ssize_t len, int pos) return 0; } -/* Implement the -Q command line flag */ -int mutt_query_variables (string_list_t * queries) -{ - string_list_t *p; - - char errbuff[STRING]; - char command[STRING]; - - BUFFER err, token; - - p_clear(&err, 1); - p_clear(&token, 1); - - err.data = errbuff; - err.dsize = sizeof(errbuff); - - for (p = queries; p; p = p->next) { - snprintf (command, sizeof(command), "set ?%s\n", p->data); - if (mutt_parse_rc_line (command, &token, &err) == -1) { - fprintf (stderr, "%s\n", err.data); - p_delete(&token.data); - return 1; - } - printf ("%s\n", err.data); - } - - p_delete(&token.data); - return 0; -} - static int mutt_execute_commands (string_list_t * p) { BUFFER err, token; @@ -1867,26 +1837,3 @@ int mutt_get_hook_type (const char *name) return 0; } -/* dump out the value of all the variables we have */ -int mutt_dump_variables (int full) { - ssize_t i = 0; - - /* get all non-synonyms into list... */ - for (i = 0; MuttVars[i].option; i++) { - struct option_t *option = MuttVars + i; - char buf[LONG_STRING]; - - if (!full) { - mutt_option_value(option->option, buf, sizeof(buf)); - if (!m_strcmp(buf, option->init)) - continue; - } - - printf("set "); - FuncTable[DTYPE(option->type)].opt_tostr(buf, sizeof(buf), option); - printf ("%s\n", buf); - } - - printf ("\n# vi""m:set ft=muttrc:\n"); - return 0; -} diff --git a/lib-sys/mutt_signal.c b/lib-sys/mutt_signal.c index a21eba8..bdb8577 100644 --- a/lib-sys/mutt_signal.c +++ b/lib-sys/mutt_signal.c @@ -22,10 +22,10 @@ static int IsEndwin = 0; /* Attempt to catch "ordinary" signals and shut down gracefully. */ static void exit_handler (int sig) { - curs_set (1); - endwin (); /* just to be safe */ - printf(_("Caught %s... Exiting.\n"), strsignal(sig)); - exit (0); + curs_set(1); + endwin(); /* just to be safe */ + printf(_("Caught %s... Exiting.\n"), strsignal(sig)); + exit(0); } static void chld_handler(int sig __attribute__((unused))) diff --git a/lib-ui/curs_lib.c b/lib-ui/curs_lib.c index 8e74153..2203672 100644 --- a/lib-ui/curs_lib.c +++ b/lib-ui/curs_lib.c @@ -211,7 +211,7 @@ void mutt_query_exit (void) wtimeout (stdscr, -1); /* restore blocking operation */ if (mutt_yesorno (_("Exit Madmutt?"), M_YES) == M_YES) { mutt_endwin (NULL); - exit (1); + mutt_exit(1); } mutt_clear_error (); mutt_curs_set (-1); diff --git a/lib-ui/layout.c b/lib-ui/layout.c index bae1d2a..d8e09a4 100644 --- a/lib-ui/layout.c +++ b/lib-ui/layout.c @@ -72,7 +72,6 @@ void mutt_endwin(const char *msg) } #endif - wattrset(stdscr, A_NORMAL); mutt_refresh(); endwin(); } @@ -85,9 +84,9 @@ void mutt_endwin(const char *msg) void ui_layout_init(void) { + clear(); main_w = newwin(LINES - 1, COLS, 0, 0); SETCOLOR(main_w, MT_COLOR_NORMAL); - wclear(main_w); mutt_error = mutt_curses_error; mutt_message = mutt_curses_message; } diff --git a/main.c b/main.c index 7be391f..835f5f7 100644 --- a/main.c +++ b/main.c @@ -60,159 +60,129 @@ extern int optind; #include #include -static const char *Notice = N_("\ -Copyright (C) 1996-2002 Michael R. Elkins and others.\n\ -Copyright (C) 2005 The Mutt-ng Team\n\ -Copyright (C) 2006 Pierre Habouzit undation, Inc.\n\ -This is free software. You may redistribute copies of it under the terms of\n\ -the GNU General Public License .\n\ -There is NO WARRANTY, to the extent permitted by law.\n"); - -void mutt_exit (int code) +void mutt_exit(int code) { - mutt_endwin (NULL); - exit (code); + mutt_endwin(NULL); + exit(code); } static void mutt_usage (void) { - puts (mutt_make_version()); - - puts - _("usage: madmutt [ -nRyzZ ] [ -e ] [ -F ] [ -m ] [ -f ]\n\ - madmutt [ -nR ] [ -e ] [ -F ] -Q [ -Q ] [...]\n\ - madmutt [ -nR ] [ -e ] [ -F ] -A [ -A ] [...]\n\ - madmutt [ -nR ] [ -e ] [ -F ] -t"); - puts - _("\ - madmutt [ -nR ] [ -e ] [ -F ] -T\n\ - madmutt [ -nx ] [ -e ] [ -a ] [ -F ] [ -H ] [ -i ] [ -s ] [ -b ] [ -c ] [ ... ]\n\ - madmutt [ -n ] [ -e ] [ -F ] -p\n\ - madmutt -v\n\ -\n\ -options:\n\ - -A \texpand the given alias\n\ - -a \tattach a file to the message\n\ - -b
\tspecify a blind carbon-copy (BCC) address\n\ - -c
\tspecify a carbon-copy (CC) address"); - puts _("\ - -e \tspecify a command to be executed after initialization\n\ - -f \tspecify which mailbox to read\n\ - -F \tspecify an alternate muttrngc file\n\ - -g \tspecify a newsserver (if compiled with NNTP)\n\ - -G\t\tselect a newsgroup (if compiled with NNTP)\n\ - -H \tspecify a draft file to read header and body from\n\ - -i \tspecify a file which Madmutt should include in the body"); - puts _("\ - -d \t specify debugging level of Madmutt\n\ - -m \tspecify a default mailbox type\n\ - -n\t\tcauses Madmutt not to read the system Madmuttrc\n\ - -p\t\trecall a postponed message\n\ - -Q \tquery a configuration variable\n\ - -R\t\topen mailbox in read-only mode\n\ - -s \tspecify a subject (must be in quotes if it has spaces)"); - puts _("\ - -t\t\tprint the value of all variables to stdout\n\ - -T\t\tprint the value of all changed variables to stdout\n\ - -v\t\tshow version and compile-time definitions\n\ - -y\t\tselect a mailbox specified in your `mailboxes' list\n\ - -z\t\texit immediately if there are no messages in the mailbox\n\ - -Z\t\topen the first folder with new message, exit immediately if none\n\ - -h\t\tthis help message"); + puts(mutt_make_version()); - exit (0); + puts(_("\ +usage: madmutt [ -nRyzZ ] [ -e ] [ -F ] [ -f ]\n\ + madmutt [ -n ] [ -e ] [ -a ] [ -F ] [ -H ] [ -i ] [ -s ] [ -b ] [ -c ] [ ... ]\n\ + madmutt [ -n ] [ -e ] [ -F ] -p\n\ + madmutt -v\n")); + + puts(_("Options:")); + puts(_(" -a attach a file to the message")); + puts(_(" -b
specify a blind carbon-copy (BCC) address")); + puts(_(" -c
specify a carbon-copy (CC) address")); + puts(_(" -e specify a command to be executed after initialization")); + puts(_(" -f specify which mailbox to read")); + puts(_(" -F specify an alternate Madmuttrc file")); +#ifdef USE_NNTP + puts(_(" -g specify a newsserver")); + puts(_(" -G select a newsgroup")); +#endif + puts(_(" -H specify a draft file to read header and body from")); + puts(_(" -i specify a file which Madmutt should include in the body")); + puts(_(" -n causes Madmutt not to read the system Madmuttrc")); + puts(_(" -p recall a postponed message")); + puts(_(" -R open mailbox in read-only mode")); + puts(_(" -s specify a subject (must be in quotes if it has spaces)")); + puts(_(" -v show version and compile-time definitions")); + puts(_(" -y select a mailbox specified in your `mailboxes' list")); + puts(_(" -z exit immediately if there are no messages in the mailbox")); + puts(_(" -Z open the first folder with new message, exit immediately if none")); + puts(_(" -h this help message")); + + exit(0); } static void show_version (void) { - struct utsname uts; - - puts (mutt_make_version()); - puts (_(Notice)); - - uname (&uts); - -#ifdef _AIX - printf ("System:\n %s %s.%s", uts.sysname, uts.version, uts.release); -#elif defined (SCO) - printf ("System:\n SCO %s", uts.release); -#else - printf ("System:\n %s %s", uts.sysname, uts.release); -#endif - - printf (" (%s)\nExternal Libraries:\n", uts.machine); - + struct utsname uts; + uname(&uts); + + puts(mutt_make_version()); + puts(_(" Copyright (C) 1996-2002 Michael R. Elkins and others.")); + puts(_(" Copyright (C) 2005 The Mutt-ng Team")); + puts(_(" Copyright (C) 2006-2007 Pierre Habouzit")); + puts(_(" MadMutt is based on Mutt-ng wich was based on Mutt before")); + puts(""); + + printf("System:\n %s %s (%s)\n", uts.sysname, uts.release, uts.machine); + puts("External Libraries:"); #ifdef NCURSES_VERSION - printf (" ncurses %s\n", NCURSES_VERSION); + printf(" ncurses %s\n", NCURSES_VERSION); #endif - #ifdef _LIBICONV_VERSION - printf (" libiconv %d.%d\n", _LIBICONV_VERSION >> 8, - _LIBICONV_VERSION & 0xff); + printf(" libiconv %d.%d\n", _LIBICONV_VERSION >> 8, + _LIBICONV_VERSION & 0xff); #endif - -#ifdef HAVE_LIBIDN - printf (" libidn %s (compiled with %s)\n", - stringprep_check_version (NULL), STRINGPREP_VERSION); +#ifdef STRINGPREP_VERSION + printf(" libidn %s\n", STRINGPREP_VERSION); #endif - #ifdef USE_HCACHE #if defined(HAVE_QDBM) - printf (" qdbm %s\n", dpversion); + printf(" qdbm %s\n", dpversion); #elif defined(HAVE_GDBM) - printf (" gdbm %s\n", gdbm_version); + printf(" gdbm %s\n", gdbm_version); #endif #endif + printf(" gnutls %s\n", LIBGNUTLS_VERSION); + printf(" gpgme %s\n", GPGME_VERSION); + puts (_("Compile Options:")); - printf (" gnutls %s\n", LIBGNUTLS_VERSION); - printf (" gpgme %s\n", GPGME_VERSION); - puts (_("Compile Options:")); - - puts ( + puts ( #ifdef USE_SETGID - "+USE_SETGID " + " +USE_SETGID" #else - "-USE_SETGID " + " -USE_SETGID" #endif #ifdef USE_FCNTL - "+USE_FCNTL " + " +USE_FCNTL" #else - "-USE_FCNTL " + " -USE_FCNTL" #endif #ifdef USE_FLOCK - "+USE_FLOCK " + " +USE_FLOCK" #else - "-USE_FLOCK " + " -USE_FLOCK" #endif #ifdef USE_HCACHE - "+USE_HCACHE " + " +USE_HCACHE" #else - "-USE_HCACHE " + " -USE_HCACHE" #endif - ); - puts ( #ifdef USE_NNTP - "+USE_NNTP " + " +USE_NNTP" #else - "-USE_NNTP " + " -USE_NNTP" #endif #ifdef HAVE_LIBIDN - "+HAVE_LIBIDN " + " +HAVE_LIBIDN" #else - "-HAVE_LIBIDN " + " -HAVE_LIBIDN" #endif - ); + ); - puts (_("Built-In Defaults:")); - printf (" +SENDMAIL=\"%s\"\n", SENDMAIL); - printf (" +MAILPATH=\"%s\"\n", MAILPATH); - printf (" +PKGDATADIR=\"%s\"\n", PKGDATADIR); - printf (" +PKGDOCDIR=\"%s\"\n", PKGDOCDIR); - printf (" +SYSCONFDIR=\"%s\"\n", SYSCONFDIR); + puts(_("Built-In Defaults:")); + printf(" SENDMAIL \"%s\"\n", SENDMAIL); + printf(" MAILPATH \"%s\"\n", MAILPATH); + printf(" PKGDATADIR \"%s\"\n", PKGDATADIR); + printf(" PKGDOCDIR \"%s\"\n", PKGDOCDIR); + printf(" SYSCONFDIR \"%s\"\n", SYSCONFDIR); - puts (_("MadMutt is based on Madmutt wich was based on Mutt before\n")); + puts(""); + puts(_("This is free software. You may redistribute copies of it under the terms of")); + puts(_("the GNU General Public License .")); + puts(_("There is NO WARRANTY, to the extent permitted by law.")); - exit (0); + exit(0); } static void start_curses (void) @@ -254,18 +224,14 @@ int main (int argc, char **argv) char *subject = NULL; char *includeFile = NULL; char *draftFile = NULL; - char *newMagic = NULL; HEADER *msg = NULL; string_list_t *attach = NULL; string_list_t *commands = NULL; - string_list_t *queries = NULL; - string_list_t *alias_queries = NULL; int sendflags = 0; int flags = 0; int version = 0; int i; int explicit_folder = 0; - int dump_variables = -1; /* initialize random number for tmp file creation */ srand48((unsigned int) time (NULL)); @@ -289,15 +255,12 @@ int main (int argc, char **argv) p_clear(Options, countof(Options)); p_clear(QuadOptions, countof(QuadOptions)); - while ((i = getopt(argc, argv, "A:a:b:F:f:c:e:H:s:i:hm:npQ:RTtvyzZ" + while ((i = getopt(argc, argv, "a:b:F:f:c:e:H:s:i:hnpRTtvyzZ" #ifdef USE_NNTP "g:G" #endif )) >= 0) switch (i) { - case 'A': - alias_queries = mutt_add_list (alias_queries, optarg); - break; case 'a': if (strlen(optarg)<=512) attach = mutt_add_list (attach, optarg); @@ -328,14 +291,6 @@ int main (int argc, char **argv) msg->env->cc = rfc822_parse_adrlist (msg->env->cc, optarg); break; - case 't': - dump_variables = 2; - break; - - case 'T': - dump_variables = 1; - break; - case 'e': commands = mutt_add_list (commands, optarg); break; @@ -348,11 +303,6 @@ int main (int argc, char **argv) includeFile = optarg; break; - case 'm': - /* should take precedence over .muttrc setting, so save it for later */ - newMagic = optarg; - break; - case 'n': flags |= M_NOSYSRC; break; @@ -361,10 +311,6 @@ int main (int argc, char **argv) sendflags |= SENDPOSTPONED; break; - case 'Q': - queries = mutt_add_list (queries, optarg); - break; - case 'R': flags |= M_RO; /* read-only mode */ break; @@ -412,8 +358,8 @@ int main (int argc, char **argv) } /* Check for a batch send. */ - if (!isatty (0) || queries || alias_queries || dump_variables > 0) { - set_option (OPTNOCURSES); + if (!isatty (0)) { + set_option(OPTNOCURSES); sendflags = SENDBATCH; } @@ -426,32 +372,6 @@ int main (int argc, char **argv) mutt_init (flags & M_NOSYSRC, commands); string_list_wipe(&commands); - if (queries) - return mutt_query_variables (queries); - if (dump_variables > 0) - return (mutt_dump_variables (dump_variables-1)); - - if (alias_queries) { - int rv = 0; - address_t *a; - - for (; alias_queries; alias_queries = alias_queries->next) { - if ((a = address_list_dup(alias_lookup(alias_queries->data)))) { - /* output in machine-readable form */ - mutt_addrlist_to_idna (a, NULL); - mutt_write_address_list (a, stdout, 0, 0); - address_list_wipe(&a); - } else { - rv = 1; - printf ("%s\n", alias_queries->data); - } - } - return rv; - } - - if (newMagic) - mx_set_magic (newMagic); - if (!option(OPTNOCURSES)) { ui_layout_init(); } diff --git a/pager.c b/pager.c index 87c075b..7132f32 100644 --- a/pager.c +++ b/pager.c @@ -590,8 +590,6 @@ static struct q_class_t *classify_quote (struct q_class_t **QuoteList, return class; } -static int brailleCol = -1; - static int check_attachment_marker (char *); static void diff --git a/protos.h b/protos.h index 2282b8f..b10189a 100644 --- a/protos.h +++ b/protos.h @@ -102,7 +102,6 @@ int mutt_command_complete (char *, ssize_t, int, int); int mutt_var_value_complete (char *, ssize_t, int); int mutt_display_message (HEADER * h); -int mutt_dump_variables (int full); int mutt_edit_message (CONTEXT *, HEADER *); int mutt_fetch_recips (ENVELOPE * out, ENVELOPE * in, int flags); int mutt_prepare_template (FILE *, CONTEXT *, HEADER *, HEADER *, short); @@ -123,7 +122,6 @@ int mutt_parse_macro (BUFFER *, BUFFER *, unsigned long, BUFFER *); int mutt_parse_push (BUFFER *, BUFFER *, unsigned long, BUFFER *); int mutt_parse_rc_line (const char *, BUFFER *, BUFFER *); int mutt_parse_unhook (BUFFER *, BUFFER *, unsigned long, BUFFER *); -int mutt_query_variables (string_list_t * queries); int _mutt_save_message (HEADER *, CONTEXT *, int, int, int); int mutt_save_message (HEADER *, int, int, int, int *); int mutt_search_command (int, int); -- 2.20.1