diff options
author | Andreas Schwab <schwab@suse.de> | 2009-02-20 14:24:55 +0000 |
---|---|---|
committer | Andreas Schwab <schwab@suse.de> | 2009-02-20 14:24:55 +0000 |
commit | 7b704afe99c01110ff3fa7d5d534ea61fc112f3c (patch) | |
tree | b5e2247f163b947be886497248008ec81b52d3cd /lisp/startup.el | |
parent | 867d4bb3718f1fee9191e2c17cd810ef620d4b54 (diff) | |
download | emacs-7b704afe99c01110ff3fa7d5d534ea61fc112f3c.tar.gz |
(command-line): Don't match an empty argument as an
option.
(command-line-1): Likewise.
Diffstat (limited to 'lisp/startup.el')
-rw-r--r-- | lisp/startup.el | 29 |
1 files changed, 14 insertions, 15 deletions
diff --git a/lisp/startup.el b/lisp/startup.el index 22a9fa02103..7a1f9dc392d 100644 --- a/lisp/startup.el +++ b/lisp/startup.el @@ -828,10 +828,10 @@ opening the first frame (e.g. open a connection to an X server).") (orig-argi argi) argval) ;; Handle --OPTION=VALUE format. - (when (string-match "^\\(--[^=]*\\)=" argi) + (when (string-match "\\`\\(--[^=]*\\)=" argi) (setq argval (substring argi (match-end 0)) argi (match-string 1 argi))) - (unless (equal argi "--") + (when (string-match "\\`--." orig-argi) (let ((completion (try-completion argi longopts))) (if (eq completion t) (setq argi (substring argi 1)) @@ -2125,21 +2125,20 @@ A fancy display is used on graphic displays, normal otherwise." (setq argi "") ;; Convert long options to ordinary options ;; and separate out an attached option argument into argval. - (when (string-match "^\\(--[^=]*\\)=" argi) + (when (string-match "\\`\\(--[^=]*\\)=" argi) (setq argval (substring argi (match-end 0)) argi (match-string 1 argi))) - (if (equal argi "--") - (setq completion nil) - (setq completion (try-completion argi longopts))) - (if (eq completion t) - (setq argi (substring argi 1)) - (if (stringp completion) - (let ((elt (assoc completion longopts))) - (or elt - (error "Option `%s' is ambiguous" argi)) - (setq argi (substring (car elt) 1))) - (setq argval nil - argi orig-argi)))) + (when (string-match "\\`--." orig-argi) + (setq completion (try-completion argi longopts)) + (if (eq completion t) + (setq argi (substring argi 1)) + (if (stringp completion) + (let ((elt (assoc completion longopts))) + (or elt + (error "Option `%s' is ambiguous" argi)) + (setq argi (substring (car elt) 1))) + (setq argval nil + argi orig-argi))))) ;; Execute the option. (cond ((setq tem (assoc argi command-switch-alist)) |