diff options
Diffstat (limited to 'src/emacs.c')
-rw-r--r-- | src/emacs.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/emacs.c b/src/emacs.c index 57e581d142d..5d7dd7202f0 100644 --- a/src/emacs.c +++ b/src/emacs.c @@ -1114,6 +1114,7 @@ sort_args (argc, argv) int to = 1; int from; int i; + int end_of_options = argc; /* Categorize all the options, and figure out which argv elts are option arguments. */ @@ -1126,6 +1127,19 @@ sort_args (argc, argv) int match, thislen; char *equals; + /* If we have found "--", don't consider + any more arguments as options. */ + if (argv[from][1] == '-') + { + /* Leave the "--", and everything following it, at the end. */ + for (; from < argc; from++) + { + priority[from] = -100; + options[from] = -1; + } + break; + } + /* Look for a match with a known old-fashioned option. */ for (i = 0; i < sizeof (standard_args) / sizeof (standard_args[0]); i++) if (!strcmp (argv[from], standard_args[i].name)) |