一起聊一聊emacs27?


#1

emacs27有什么新特性和好玩的功能或者一些兼容上的bug?欢迎分享!


#2

Emacs 27 在Mac上启动时会卡死.


#3

目前比较独特的就是early-init文件吧


#4

真是个好玩的特性啊 lol 01


#5

Eli给力,所以在MS-Windows上不会出现严重的Bug,有的话修复也很快


#6

好像并没有这种情况,我直接用emacs-plus安装的版本。


#7

在用 Emacs 27 的话,按 C-h n (view-emacs-news) 了解,刚才扫了一眼:

  • 任意大的整数(应用 GMP)
  • 用 C 实现的 JSON 库 (应用 Jansson)
  • portable dumper

#8

那个1月引入的BUG不知道修复没。


#9

我一直在mac上使用emacs27,没卡死的现象呀


#10

现在用的是 26.1

有过26.2 或是 26.3 吗?

如果没有 我觉得叫它emacs31.4更好些吧


#11

用 Emacs 27 是因为它修复了 Emacs 26 url-retrieve-synchronously 函数的一个问题,就是 url-http-end-of-headers 没有设置,导致 helm-dash 装不了文档,forge-pull 失败。

不过 Emacs 27 也遇到一些问题:ibuffer-auto-mode 导致 tramp 的 sudo 时导致 Emacs 直接卡死,minibuffer 的 root 密码提示一直出不来,暂时禁用这个 mode 了。

还有就是 golden-ratio 将某些 buffer 固定大小的设置全部失效了,换成 zoom-mode 也一样,装不了逼了,只能是不用这些 mode 了。


#12

可能我人品不够好吧😭


#13

这个本来我也很高期待,让 lsp-mode 解析更快,但试用了发现没什么效果,不知道是哪里的问题。


#14

用 C 实现的 JSON 库一般应该速度更快,测试应该就能能验证。不了解 lsp-mode,你得确认 json.el 确实是慢的瓶颈所在,然后 C 的 JSON 库确在同样的情况下更快。


#15

如果瓶颈在lsp server,那肯定没啥改善,看下cpu占用率,补全那一刻,是emacs高还是lsp server高。


#16

我觉得用redis数据库做中间层要比用json来传递数据要好得多

至少是可以缓存的


#17

开一个独立的c线程做jsonrpc,发送和接收,解析,都在线程里做,跟elisp之间直接交换lisp对象,这样效率更高,而且不会影响打字,现在卡的时候字都没法打了,体验真差。 vscode有可能就是这种模式


#18

用async配合原生解析就好了


#19

很多编辑器包括vscode vim都是用的同一个lsp server,体验却很好,所以瓶颈肯定不在Server。


#20

理论上是,但是redis的耦合就高了,除非emacs原生支持体验才会好。