Use as command arguments the remaining parameters - st - Personal fork of st
 (HTM) git clone git://git.drkhsh.at/st.git
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
 (DIR) LICENSE
       ---
 (DIR) commit aff35af275cb82eb876630c9256298ea1d1b2b57
 (DIR) parent 83e73c6242fc309a3859c12b996ab88d36c7e838
 (HTM) Author: noname@inventati.org <noname@inventati.org>
       Date:   Tue, 14 Apr 2015 09:53:24 +0200
       
       Use as command arguments the remaining parameters
       
       This change allows execute st as 'st mutt' while it keeps the
       compability with xterm and urxt.
       
       Diffstat:
         M st.c                                |      17 ++++++++++-------
       
       1 file changed, 10 insertions(+), 7 deletions(-)
       ---
 (DIR) diff --git a/st.c b/st.c
       @@ -4008,7 +4008,8 @@ void
        usage(void) {
                die("%s " VERSION " (c) 2010-2015 st engineers\n" \
                "usage: st [-a] [-v] [-c class] [-f font] [-g geometry] [-o file]\n"
       -        "          [-i] [-t title] [-w windowid] [-e command ...]\n", argv0);
       +        "          [-i] [-t title] [-w windowid] [-e command ...] [command ...]\n",
       +        argv0);
        }
        
        int
       @@ -4027,12 +4028,8 @@ main(int argc, char *argv[]) {
                        opt_class = EARGF(usage());
                        break;
                case 'e':
       -                /* eat all remaining arguments */
       -                if(argc > 1) {
       -                        opt_cmd = &argv[1];
       -                        if(argv[1] != NULL && opt_title == NULL)
       -                                opt_title = basename(xstrdup(argv[1]));
       -                }
       +                if(argc > 1)
       +                        --argc, ++argv;
                        goto run;
                case 'f':
                        opt_font = EARGF(usage());
       @@ -4059,6 +4056,12 @@ main(int argc, char *argv[]) {
                } ARGEND;
        
        run:
       +        if(argc > 0) {
       +                /* eat all remaining arguments */
       +                opt_cmd = argv;
       +                if(!opt_title)
       +                        opt_title = basename(xstrdup(argv[0]));
       +        }
                setlocale(LC_CTYPE, "");
                XSetLocaleModifiers("");
                tnew(MAX(cols, 1), MAX(rows, 1));