Why is constant qualified with package name in delivered exe?
I have two files which both have symbols and functions in the same package. When I deliver and then execute, when a constant in one file is accessed by a function in the other, it is qualified by the package name. Since they are both in the same package, I don't understand why that would be. Thanks for any help. ;;; ----------------------------------- ;;; File: deliver-hello.lisp (in-package "CL-USER") (load-all-patches) (compile-file "goodbye-world.lisp" :load t) (compile-file "hello-world" :load t) (deliver 'hello::hello-world "d:/grouptix/hello" 0 :interface :capi) ;;; ----------------------------------- ;;; File: goodbye-world.lisp (in-package "CL-USER") (defpackage :hello (:use :common-lisp) (:add-use-defaults t)) (in-package :hello) (defconstant +goodbye-symbol+ 'goodbye) ;;; ----------------------------------- ;;; File: hello-world.lisp (in-package :hello) (defun hello-world () (capi:display-message (format nil "~s" +goodbye-symbol+))) ;;; ----------------------------------- At the prompt: > "c:\program files\lispworks\lispworks-5-1-0-x86-win32.exe" -build de liver-hello.lisp > hello-log.txt and when I run hello.exe, I see HELLO::GOODBYE in the CAPI message box instead of just GOODBYE. I thought that changing deliver-hello.lisp to something like the following would make a difference, but it doesn't. ;;; ----------------------------------- ;;; File: deliver-hello.lisp alternate version (in-package "CL-USER") (load-all-patches) (compile-file "goodbye-world.lisp" :load t) (compile-file "hello-world" :load t) (in-package :hello) (deliver 'hello-world "d:/grouptix/hello" 0 :interface :capi)