我没有尝试复现,但是看起来这个问题应该是autoload
造成的。
autoload
的函数内部的动态绑定只有在加载它的时候才被创建,也就是说第一次加载的时候,url-cache-directory
的词法绑定是先于动态绑定的。此时把它定义成动态变量就会报这个错误。在你执行(require 'url-cache)
之后动态变量已经创建,此时词法绑定就可以正常生效了。
我没有尝试复现,但是看起来这个问题应该是autoload
造成的。
autoload
的函数内部的动态绑定只有在加载它的时候才被创建,也就是说第一次加载的时候,url-cache-directory
的词法绑定是先于动态绑定的。此时把它定义成动态变量就会报这个错误。在你执行(require 'url-cache)
之后动态变量已经创建,此时词法绑定就可以正常生效了。