   (setq sw:common-lisp-image-arguments
     (list "-L" (getenv "SOCKET_INIT_FILE"))))
 
-(defun run-lisp-application (lisp-executable image-file)
-  (interactive)
+(defun run-lisp-application (&optional lisp-executable image-file)
+  (interactive "sExecutable Lisp Program: 
+sLisp Heap Image File: ")
+  (when (equal lisp-executable "") (setq lisp-executable nil))
+  (when (equal image-file      "") (setq image-file      nil))
+
   (setq sw:common-lisp-host "localhost")
   (setq-default sw::lisp-host sw:common-lisp-host)
 

  ;; to common-lisp-image-file. If the executable is produced by
  ;; generate-application, then typically, there will not be an image file.

  (setq sw:common-lisp-image-name lisp-executable) ;; (getenv "LISP_EXECUTABLE"))
  (setq sw:common-lisp-image-file image-file)      ;; (getenv "LISP_HEAP_IMAGE")
  (setq sw:common-lisp-image-arguments
    (if *windows-system-p* '("+cm") nil)) ; see note above


	 (run-plain-lisp 1))
	(t
	 (sit-for 3)
	 (run-lisp-application (getenv "LISP_EXECUTABLE") base-world-name)))
  (sit-for 3)
  (eval-in-lisp-in-order
   (format "(cl:load %S)"
