Straight.el: Using 'built-in' VC backend for use-package breaks straight-freeze-versions

Created on 3 Nov 2019  Â·  4Comments  Â·  Source: raxod502/straight.el

Hi! I am noticing that if use the built-in VC backend, e.g.
(use-package emacs-lisp-mode :straight (:type built-in) <more stuff ....>> )
Then it breaks "straight-freeze-versions" for me - I get this error:
straight-vc: VC backend ‘built-in’ does not implement method ‘get-commit’

bug built-in lockfiles recipe handling vc

All 4 comments

I would suggest (use-package emacs-lisp-mode :straight nil <more stuff...>) instead which is simpler, faster, and avoids this problem, but you have nevertheless correctly identified a bug.

The problem is that I had straight-vc-built-in-local-repo-name return nil to indicate that :local-repo should be set to nil for :type built-in recipes, causing them to be ignored by straight-freeze-versions. Unfortunately, nil _actually_ means to use the default :local-repo value, namely the package name or similar. The interface must be made more expressive, or some minor refactoring needs to be done.

Just hit this myself. @raxod502 thanks for the workaround!

Is there a place to track a resolution of the bug?

Other than this issue? No work has been done as far as I know. Pull requests are welcome, but nobody has contributed one for this issue as of yet.

I have this unexpected behavior when using straight-pull-all and straight-freeze-versions.

  • This happens when I installed org-plus-contrib using straight. Then switched to built-in org.
  • The error goes away if I deleted local org repo or switch back to straight.
Was this page helpful?
0 / 5 - 0 ratings

Related issues

rsbowman picture rsbowman  Â·  3Comments

yqrashawn picture yqrashawn  Â·  3Comments

raxod502 picture raxod502  Â·  3Comments

gagbo picture gagbo  Â·  4Comments

progfolio picture progfolio  Â·  3Comments