Dynamic module package 更新时,emacs 无法删除dll文件导致更新失败

Windows下emacs似乎无法删除加载的dll文件,导致基于动态模块的包(例如jinx等)需要先关闭emacs,手动删除dll文件之后才能更新,有解决的办法吗?

1 个赞

jinx 在 Windows 下能用了吗?之前我试的时候是Windows下的 enchant 没法用。

msys2是可以的,安装enchant2,hunspell(或者aspell)再安装一个字典文件就可以了

1 个赞

最近发现把prog-mode-hook在调用package-install或者package-update的时候临时改成 nil 可以避免这个问题,原理大概是禁用了相关mode,算是一个dity hack。。。

(define-advice package-update
    (:around (fn pkg &optional dont-select) no-hook)
  (let (prog-mode-hook)
    (funcall fn pkg)))