Magit 有个名字叫 lv 的依赖,它的源码托管在哪里?

如题,在配置Magit的时候,发现有个依赖(lv)找不到。在Github搜索lv language:emacs-lisp,在Emacs自带的包管理器的详情里也没有对应的项目仓库地址。

你可能用了假magit。

https://elpa.emacs-china.org/packages/magit/

magit的依赖是dash,async,git-commit,ghub,with-editor,magit-popup。


git shortlog | grep lv 我也没见过magit曾经使用过这样的依赖

Debugger entered--Lisp error: (file-missing "Cannot open load file" "No such file or directory" "lv")
  require(lv)
  eval-buffer(#<buffer  *load*-846886> nil "/Users/xshumeng/.emacs.d/packages/transient/lisp/transient.el" nil t)  ; Reading at buffer position 2075
  load-with-code-conversion("/Users/xshumeng/.emacs.d/packages/transient/lisp/transient.el" "/Users/xshumeng/.emacs.d/packages/transient/lisp/transient.el" nil t)
  require(transient)
  eval-buffer(#<buffer  *load*-477295> nil "/Users/xshumeng/.emacs.d/packages/magit/lisp/magit-mode.el" nil t)  ; Reading at buffer position 1313
  load-with-code-conversion("/Users/xshumeng/.emacs.d/packages/magit/lisp/magit-mode.el" "/Users/xshumeng/.emacs.d/packages/magit/lisp/magit-mode.el" nil t)
  require(magit-mode)
  eval-buffer(#<buffer  *load*-943545> nil "/Users/xshumeng/.emacs.d/packages/magit/lisp/magit-core.el" nil t)  ; Reading at buffer position 1353
  load-with-code-conversion("/Users/xshumeng/.emacs.d/packages/magit/lisp/magit-core.el" "/Users/xshumeng/.emacs.d/packages/magit/lisp/magit-core.el" nil t)
  require(magit-core)
  eval-buffer(#<buffer  *load*> nil "/Users/xshumeng/.emacs.d/packages/magit/lisp/magit.el" nil t)  ; Reading at buffer position 2142
  load-with-code-conversion("/Users/xshumeng/.emacs.d/packages/magit/lisp/magit.el" "/Users/xshumeng/.emacs.d/packages/magit/lisp/magit.el" nil t)
  require(magit)
  eval((require 'magit) nil)
  elisp--eval-last-sexp(nil)
  eval-last-sexp(nil)
  funcall-interactively(eval-last-sexp nil)
  call-interactively(eval-last-sexp nil nil)
  command-execute(eval-last-sexp)

1 个赞

我落伍了,没发现magit已经放弃了magit-popup转到transient.el了。

lv是hydra的一部分,所以它的主页就是hydra的仓库


magit维护者两年前(IIRC)就想放弃magit-popup,最近才搞成啊

1 个赞

可能是为了平滑过渡吧,我发现这些大牛都特别重视兼容性

这个网站更新出了问题,本来实现就不好,懒得调查了,有机会重写下。

Melpa 版本的 Magit 已经切换到 Transient(依赖 lv),Melpa Stable 还没。

一更新直接把老版的magit-dispatch-popup 改成 magit-dispatch了,连obselete alias都不给一个,差点把我坑了 :joy:

1 个赞

Magit官方的手册指出的依赖,跟实际安装时(从Git仓库克隆下来的源码)所需要的依赖还是有出入的。

Git Master 是最新开发版本,不是 Release 版本,文档没跟上应该情有可原。

我也绑定了这个命令,也失效了,不过我发现默认开启的 magit-file-mode 已经把 C-x M-g 绑定到了 magit-dispatch,跟我的绑定的键一样,所以我把我的绑定删了就 OK 了。

我其实是看了你的配置才绑的。

我改成C-x G了,因为我右Alt改成Shift,左手大拇指Alt食指还要点g有点别扭


提交了个issue

Fixedtarsius牛逼

今天更新 Spacemacs 的時候也摊上到这事了,是 hydra 改了項目沒改 Melpa recipe 的锅。坐等上游修复。

transient好像已经不依赖lv了

其实为什么不直接用melpa的前端页面呢。我觉得他们做得还挺美观的