通过 DynamicClassLoader 加载的类返回 .getPackage 为 nil。CIDER 和 vim-fireplace 等工具依赖于这个信息来实现诸如自动补全提示等功能。
(.getPackage String) ;; => #<Package package java.lang, Java 平台 API 规范,版本 1.7> (deftype T []) (.getPackage T) ;; => nil
提议:在 DynamicClassLoader.defineClass() 过程中,调用定义类时的 definePackage() 方法(类似于 URLClassLoader 所做的)。
补丁:clj-1550-v4.patch
审核:Alex Miller