逆引きxyzzy lisp(パッケージ) - circleratio/xyzzy GitHub Wiki
下記の packagetest.l をロードパスが通っている場所に置く。
(provide "packagetest")
(defpackage "packagetest"
(:use "lisp" "editor"))
(in-package "packagetest")
(export '(var-a var-b func))
(defvar var-a 1)
(defvar var-b 2)
(defun func ()
(print "Test of packagetest"))
変数・関数だけなら次のようにすればよい。
(require "packagetest")
(use-package "packagetest")
(func)
ただし、パッケージがマクロを含む場合は要注意。 明示的に指定しない限り、バイトコンパイル時にはパッケージが読み込まれない(パッケージを読み込むバイトコードが生成されるだけ)ので、パッケージ内で定義されているマクロは展開されない。
この場合は下記のようにすればよい。
(eval-when (:compile-toplevel :load-toplevel :execute)
(require "packagetest")
(use-package "packagetest"))