native Emacs Lisp

这个在27下没问题,28版本的时候需要require下

又看到straight,我在另一个帖子里看到有人用:

(use-package XXX
    :straight  github.com/XXXX
)

就可以直接装github上的emacs插件包了。我查了下use-package没这个选项。请问这个是,straight-use-package提供的吗?straight-use-package 提供的这个use-package (类似alias?)可以提供完全兼容use-package的功能吗?谢谢!

对于非melpa包,我一直是git clone来整的,要是可以直接github下就方便了。

(straight-use-package '(emacs-application-framework :host github :repo "manateelazycat/emacs-application-framework" :files ("*")))
1 个赞

:straight 这个keyword是straight.el提供的, 不过你说的这个用法应该是不对的。。。指定repo地址需要用:repo,具体可以看下它的文档,写的非常详细

1 个赞
1 个赞

用了native comp,感觉每次update package后,都要重新compile,实际使用时 反而慢了很多。

用native-comp 就要减少update 的频率。我现在是 update 后,强行加载一次所有的包,不然体验很差。

升级完了包,立刻手工编译,不要等到加载时才编译。

请问一下有哪个命令可以触发全部的第三方包进行 native compile? 我现在是用比较笨的办法,require 全部的包。

我在用borg,重新编译就好了,有make file。

你可以试一下native-compile-async。

我也是用 borg,但borg 那个 native-compile 有bug,编译了以后,实际上函数并不是 natvie 的。 所以,现在又用回 borg 的默认设置,make all 是 byte compile

这个问题你不是解决了吗?

另外,用了make build-native吗?

其实是不对的,我觉得是 autoload 文件有问题。并没有加载 native-compile 的文件。

Borg 作者自己是不用这个 native comp 选项的,他也没时间去查问题。

你可以看看这个人发现的问题:

这个我没用,因为之前设置了选项,直接就是 native-compile了。

你是第一次先 make all 进行快速的 byte compile,然后再执行 make build-native 做 native comile?

我这执行完 make all 再执行 make build-native 会全部失败。config.el 没有设置。

方便贴个错误信息看看吗?


➜  .emacs.d git:(master) ✗ make build-native
Initializing drones...done (92 drones in 0.111s)

--- [borg] ---

Creating /Users/eason/.emacs.d/lib/borg/borg-autoloads.el...
Compiling /Users/eason/.emacs.d/lib/borg/borg-elpa.el...
Compiling /Users/eason/.emacs.d/lib/borg/borg.el...
Done (Total of 2 files compiled)
Running ‘makeinfo --no-split borg.texi -o borg.info’...
Running ‘makeinfo --no-split borg.texi -o borg.info’...done
Running ‘install-info borg.info --dir=dir’...
Running ‘install-info borg.info --dir=dir’...done

--- [compat] ---

Creating /Users/eason/.emacs.d/lib/compat/compat-autoloads.el...
Compiling /Users/eason/.emacs.d/lib/compat/compat-24.el...
Compiling /Users/eason/.emacs.d/lib/compat/compat-25.el...
Compiling /Users/eason/.emacs.d/lib/compat/compat-26.el...
Compiling /Users/eason/.emacs.d/lib/compat/compat-27.el...
Compiling /Users/eason/.emacs.d/lib/compat/compat-28.el...
Compiling /Users/eason/.emacs.d/lib/compat/compat-font-lock.el...
Compiling /Users/eason/.emacs.d/lib/compat/compat-help.el...
Compiling /Users/eason/.emacs.d/lib/compat/compat-macs.el...
Skipping /Users/eason/.emacs.d/lib/compat/compat-tests.el...skipped
Compiling /Users/eason/.emacs.d/lib/compat/compat.el...
Done (Total of 9 files compiled, 1 skipped)
Running ‘makeinfo --no-split compat.texi -o compat.info’...
Running ‘makeinfo --no-split compat.texi -o compat.info’...done
Running ‘install-info compat.info --dir=dir’...
Running ‘install-info compat.info --dir=dir’...done

--- [aggressive-indent] ---

Creating /Users/eason/.emacs.d/lib/aggressive-indent/aggressive-indent-autoloads.el...
aggressive-indent: Warning: Use keywords rather than deprecated positional arguments to `define-minor-mode'
Compiling /Users/eason/.emacs.d/lib/aggressive-indent/aggressive-indent.el...
Done (Total of 0 files compiled, 1 failed)

--- [anzu] ---

Creating /Users/eason/.emacs.d/lib/anzu/anzu-autoloads.el...
Compiling /Users/eason/.emacs.d/lib/anzu/anzu.el...
Done (Total of 0 files compiled, 1 failed)
...  后面的包都是 failed

你升级 magit 和 borg 到最新版估计就能复现。 我估计是跟我之前提的这个 issue 有关,最近很多包都依赖了 compat.el

Borg我用的还是很旧的版本,一直没升级过 :joy:magit也是。

你有时间可以升级试试看,如果能找出问题,可以让 borg 作者修一下。

我觉得 borg 的 make build-native 是个不错的 feature,我当初选 borg 也是看中的这点。

好的。szbd