native Emacs Lisp

我刚才发了个pr过去。也不知道有没有戏。

感谢分享.

我装上了 emacs-native-comp-git, 貌似我这边写 shell 脚本时还是会有一些卡顿

@Aloxaf 我提交的pr合并了。

现在emacs-native-comp-git已经进入archlinuxcn仓库。需要的可以安装使用。

更新(2020-07-13 22:11):

不知道怎么回事还没有编译好。大家别着急。之前有人帮我手工编译了一个版本,急需的可以在下面的链接下载。也是archlinuxcn编译的,应该和后面出现在仓库里的版本一样。

更新(2020-07-14 14:01):

emacs-native-comp-git已经编译完成,可以在archlinuxcn仓库里面下载安装了。这一版是紧跟emacs仓库的最新版本,比之前提到的手工编译版本要新。需要的可以更新到最新版。

5 个赞

在 Arch 上安装了cn源的native comp版本,在启动Emacs时会出现

Edebug: names-edebug-anon0
......
Edebug: names-edebug-anon65

请问这个时候emacs在做什么(占用了较多启动时间) :face_with_head_bandage:

感谢道友解答

应该是在编译用到的包。等全部编译完了应该就不会出现了。

你是可以控制emacs开始编译的时机的。我是在init.el最后设置comp-deferred-compilation。这样就不会影响启动速度。

当然,你也可以一次性把所有的包都编译了,一劳永逸。

设置了comp-deferred-compilation之后的确异步编译了所有包,但这个(Edebug: names-edebug-anon0)出现的原因是使用了smart-input-source这个包,每次在require的时候都会重新编译一遍。

不知道背后的原因是什么,还是说只有我有这个现象。

我也用smart-input-source,没有这个现象。

能提供一下smart-input-source的配置吗,感谢。

我这个好像就是smart-input-source的readme里面抄来的。没有什么特别的配置。还有个问题,最近smart-input-source不是又更新了嘛,这个配置可能不是最新的哦。你还要参照readme来看。

(use-package smart-input-source
    :after rime
    :init
    (progn
      (setq smart-input-source-english nil)
      (setq-default smart-input-source-other "rime")
      (setq smart-input-source-do-get (lambda() current-input-method))
      (setq smart-input-source-do-set (lambda(source) (set-input-method source)))
      (setq smart-input-source-inline-tighten-all t)
      (setq-default smart-input-source-inline-with-other t))
    :config
    (progn
      (smart-input-source-global-cursor-color-mode t)
      (smart-input-source-global-respect-mode t)
      (smart-input-source-global-follow-context-mode t)
      (smart-input-source-global-inline-mode t)))

应该是melpa上的smart-input-source版本低造成的问题,换用GitHub上的smart-input-source后一切正常了,感谢道友。

为什么我安装后启动没有效果啊,先找不到 comp-deferred-compilation 变量。 去源码里里找,找到这个。

(add-to-list 'load-path "/usr/share/emacs/28.0.50/lisp/emacs-lisp/")
(require 'comp)

报错 Debugger entered–Lisp error: (error “Unknown specializer byte-to-native-func-def”)

Update 10: gccemacs

  • 动态作用域代码支持

  • 其他优化

magit rebase -i 的时候会闪退

他实在是太厉害了,代码更新得真快。现在一般等他在blog中出个update后,看看有什么新东西再重新编译。

1 个赞

ubuntu 下的编译教程:https://www.masteringemacs.org/article/speed-up-emacs-libjansson-native-elisp-compilation

1 个赞

我在等他把 make install 弄出来后,准备试试

make install有什么问题?

主要是增加了一种 eln 格式,我想等官方决定 eln 放置位置之后,再考虑用,那时候估计稳定性就更好了。

我也准备再等等,现在用emacs-mac还挺爽,emacs-plus现在下载好慢

已经把 eln 文件移到 ~/.emacs.d/eln-cache/ 下面了。并且引入了 comp-eln-load-path 来设置文件夹的位置。