]> git.eshelyaron.com Git - emacs.git/commitdiff
(command-line): Don't match an empty argument as an
authorAndreas Schwab <schwab@suse.de>
Fri, 20 Feb 2009 14:24:55 +0000 (14:24 +0000)
committerAndreas Schwab <schwab@suse.de>
Fri, 20 Feb 2009 14:24:55 +0000 (14:24 +0000)
option.
(command-line-1): Likewise.

lisp/ChangeLog
lisp/startup.el

index 2bf46c5aa3834fda8db53db4fe73bc98b24de058..9064658ab96997ec84b8e97794c4ae0551fbbb69 100644 (file)
@@ -1,3 +1,9 @@
+2009-02-20  Andreas Schwab  <schwab@suse.de>
+
+       * startup.el (command-line): Don't match an empty argument as an
+       option.
+       (command-line-1): Likewise.
+
 2009-02-20  Daniel Jensen  <daniel@bigwalter.net>  (tiny change)
 
        * apropos.el (apropos-library): Check for null filename in load-history.
index 22a9fa02103e97b26b261dbd3d3cb8b2165edf6c..7a1f9dc392d9157680410b9bbaa6c83dd3217a79 100644 (file)
@@ -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))