- (setf *raw-command-line*
- (or (when (member :cl-launched *features*)
- (cons (or (funcall (intern "GETENV" (find-package :cl-launch))
- "CL_LAUNCH_FILE")
- "<unknown-script>")
- (symbol-value (intern "*ARGUMENTS*"
- (find-package :cl-launch)))))
+ (setf *command-line*
+ (or (when (member :cl-launch *features*)
+ (let* ((uiop-package (find-package :uiop))
+ (cll-package (find-package :cl-launch))
+ (name (some (intern "GETENV"
+ (or uiop-package cll-package))
+ (list "__CL_ARGV0" "CL_LAUNCH_FILE")))
+ (args (symbol-value
+ (if uiop-package
+ (intern "*COMMAND-LINE-ARGUMENTS*"
+ uiop-package)
+ (intern "*ARGUMENTS*" cll-package)))))
+ (if name
+ (cons name args)
+ args)))