changeset 106864:db05908c4fc1

Command line arg processing fix (Bug#5392) * src/emacs.c (standard_args): Adjust arg priorities to reflect how they are processed in startup.el. * lisp/startup.el (command-line): Remove unused --icon-type arg. Handle --display arg, passing it to command-line-1 (Bug#5392).
author Chong Yidong <cyd@stupidchicken.com>
date Sat, 16 Jan 2010 14:28:59 -0500
parents d6fc22738855
children f364eaefe2b4
files lisp/ChangeLog lisp/startup.el src/ChangeLog src/emacs.c
diffstat 4 files changed, 24 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/ChangeLog	Sat Jan 16 06:58:42 2010 -0500
+++ b/lisp/ChangeLog	Sat Jan 16 14:28:59 2010 -0500
@@ -1,3 +1,8 @@
+2010-01-16  Chong Yidong  <cyd@stupidchicken.com>
+
+	* startup.el (command-line): Remove unused --icon-type arg.
+	Handle --display arg, passing it to command-line-1 (Bug#5392).
+
 2010-01-16  Mario Lang  <mlang@delysid.org>
 
 	* cedet/ede/cpp-root.el (ede-cpp-root-project):
--- a/lisp/startup.el	Sat Jan 16 06:58:42 2010 -0500
+++ b/lisp/startup.el	Sat Jan 16 14:28:59 2010 -0500
@@ -758,7 +758,8 @@
       (pop args)))
 
   (let ((done nil)
-	(args (cdr command-line-args)))
+	(args (cdr command-line-args))
+	display-arg)
 
     ;; Figure out which user's init file to load,
     ;; either from the environment or from the options.
@@ -794,6 +795,11 @@
 		(setq argval nil
                       argi orig-argi)))))
 	(cond
+	 ;; The --display arg is handled partly in C, partly in Lisp.
+	 ;; When it shows up here, we just put it back to be handled
+	 ;; by `command-line-1'.
+	 ((member argi '("-d" "-display"))
+	  (setq display-arg (list argi (pop args))))
 	 ((member argi '("-Q" "-quick"))
 	  (setq init-file-user nil
 		site-run-file nil
@@ -813,8 +819,6 @@
 	  (setq init-file-debug t))
 	 ((equal argi "-iconic")
 	  (push '(visibility . icon) initial-frame-alist))
-	 ((member argi '("-icon-type" "-i" "-itype"))
-	  (push '(icon-type . t) default-frame-alist))
 	 ((member argi '("-nbc" "-no-blinking-cursor"))
 	  (setq no-blinking-cursor t))
 	 ;; Push the popped arg back on the list of arguments.
@@ -825,6 +829,9 @@
 	(and argval
 	     (error "Option `%s' doesn't allow an argument" argi))))
 
+    ;; Re-attach the --display arg.
+    (and display-arg (setq args (append display-arg args)))
+
     ;; Re-attach the program name to the front of the arg list.
     (and command-line-args
          (setcdr command-line-args args)))
--- a/src/ChangeLog	Sat Jan 16 06:58:42 2010 -0500
+++ b/src/ChangeLog	Sat Jan 16 14:28:59 2010 -0500
@@ -1,3 +1,8 @@
+2010-01-16  Chong Yidong  <cyd@stupidchicken.com>
+
+	* emacs.c (standard_args): Adjust arg priorities to reflect how
+	they are processed in startup.el.
+
 2010-01-16  Andreas Schwab  <schwab@linux-m68k.org>
 
 	* Makefile.in (lisp, shortlisp): Update.
--- a/src/emacs.c	Sat Jan 16 06:58:42 2010 -0500
+++ b/src/emacs.c	Sat Jan 16 14:28:59 2010 -0500
@@ -1869,7 +1869,7 @@
   /* -d must come last before the options handled in startup.el.  */
   { "-d", "--display", 60, 1 },
   { "-display", 0, 60, 1 },
-  /* Now for the options handled in startup.el.  */
+  /* Now for the options handled in `command-line' (startup.el).  */
   { "-Q", "--quick", 55, 0 },
   { "-quick", 0, 55, 0 },
   { "-q", "--no-init-file", 50, 0 },
@@ -1878,10 +1878,12 @@
   { "-u", "--user", 30, 1 },
   { "-user", 0, 30, 1 },
   { "-debug-init", "--debug-init", 20, 0 },
-  { "-nbi", "--no-bitmap-icon", 15, 0 },
   { "-iconic", "--iconic", 15, 0 },
   { "-D", "--basic-display", 12, 0},
   { "-basic-display", 0, 12, 0},
+  { "-nbc", "--no-blinking-cursor", 12, 0 },
+  /* Now for the options handled in `command-line-1' (startup.el).  */
+  { "-nbi", "--no-bitmap-icon", 10, 0 },
   { "-bg", "--background-color", 10, 1 },
   { "-background", 0, 10, 1 },
   { "-fg", "--foreground-color", 10, 1 },
@@ -1891,7 +1893,6 @@
   { "-ib", "--internal-border", 10, 1 },
   { "-ms", "--mouse-color", 10, 1 },
   { "-cr", "--cursor-color", 10, 1 },
-  { "-nbc", "--no-blinking-cursor", 10, 0 },
   { "-fn", "--font", 10, 1 },
   { "-font", 0, 10, 1 },
   { "-fs", "--fullscreen", 10, 0 },