Date: Tuesday, November 2, 2010 @ 14:30:04 Author: rtoy Path: /project/cmucl/cvsroot/src/code
Modified: commandline.lisp
Command line processing didn't handle -- properly if it is the first option.
Bug noted by Didier Verna, cmucl-help, 2010-11-02.
------------------+ commandline.lisp | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-)
Index: src/code/commandline.lisp diff -u src/code/commandline.lisp:1.25 src/code/commandline.lisp:1.26 --- src/code/commandline.lisp:1.25 Wed Jul 14 09:19:03 2010 +++ src/code/commandline.lisp Tue Nov 2 14:30:04 2010 @@ -5,7 +5,7 @@ ;;; Carnegie Mellon University, and has been placed in the public domain. ;;; (ext:file-comment - "$Header: /project/cmucl/cvsroot/src/code/commandline.lisp,v 1.25 2010-07-14 13:19:03 rtoy Rel $") + "$Header: /project/cmucl/cvsroot/src/code/commandline.lisp,v 1.26 2010-11-02 18:30:04 rtoy Exp $") ;;; ;;; ********************************************************************** ;;; @@ -93,6 +93,15 @@ (return nil)) (push str *command-line-words*)) (setq str (pop cmd-strings))) + + (when (string= str "--") + ;; Handle the special case where -- is the first option. The + ;; code below interprets that incorrectly and I (rtoy) don't + ;; want to mess with that, so just set up + ;; *command-line-application-arguments* and return. + (setf *command-line-application-arguments* cmd-strings) + (return-from process-command-strings nil)) + ;; Set command line switches. ;; (loop