2023-01-03 11:13:45 +08:00
|
|
|
#+TITLE: 2023 了, 试试 emacs 29
|
|
|
|
#+DATE: <2023-01-02 一>
|
|
|
|
#+OPTIONS: toc:1
|
|
|
|
|
|
|
|
2023 了, 元旦假期, 想体验一下新版本的 emacs, 我已经眼馋好久了
|
|
|
|
发行版还没提供? 自己编译, 而且自己编译可以自定义一些选项, 比如 pgtk
|
2023-01-05 11:25:29 +08:00
|
|
|
完整的新特性去看 =etc/NEWS= (btw, =emacs-news-mode= 也是新加的)
|
|
|
|
|
|
|
|
* build emacs (with musl?)
|
2023-01-17 11:13:20 +08:00
|
|
|
[[https://zhuanlan.zhihu.com/p/172518559][gcc 参数来源]]
|
2023-01-03 11:13:45 +08:00
|
|
|
#+BEGIN_SRC sh
|
2023-01-17 11:13:20 +08:00
|
|
|
./configure CFLAGS="-march=native -O3 -pipe -finline-functions -fno-math-errno -fno-trapping-math -fgraphite-identity -floop-nest-optimize -ftree-loop-distribution -fno-semantic-interposition -fipa-pta -fno-plt" \
|
2023-01-03 11:13:45 +08:00
|
|
|
--with-x=no \
|
|
|
|
--with-gpm=no \
|
|
|
|
--with-pgtk \
|
|
|
|
--with-native-compilation \
|
|
|
|
--with-json \
|
|
|
|
--with-sqlite3 \
|
2023-01-05 11:25:29 +08:00
|
|
|
--with-tree-sitter \
|
|
|
|
--with-webp \
|
|
|
|
--with-gif
|
|
|
|
#+END_SRC
|
|
|
|
|
|
|
|
@@html:<details>@@
|
|
|
|
@@html:<summary>but what about musl? (CC=musl-gcc)</summary>@@
|
|
|
|
#+BEGIN_SRC text
|
|
|
|
checking whether GTK compiles... no
|
|
|
|
configure: error: Gtk+ wanted, but it does not compile, see config.log.
|
2023-01-03 11:13:45 +08:00
|
|
|
#+END_SRC
|
|
|
|
|
2023-01-05 11:25:29 +08:00
|
|
|
#+BEGIN_SRC text
|
|
|
|
<dongdigua> hello, I tried to build emacs with musl-gcc, but it says:
|
|
|
|
<dongdigua> error: Gtk+ wanted, but it does not compile
|
|
|
|
<dongdigua> it can build using normal gcc
|
|
|
|
<dongdigua> and it can build on voidlinux
|
|
|
|
<sam_> dalias: <3
|
|
|
|
<dongdigua> o_O
|
|
|
|
<sam_> dongdigua: you'd have to share some logs in full for us to help at all
|
|
|
|
<sam_> but you'd be better off asking your Linux distribution
|
|
|
|
<dongdigua> it is mostly `ld: error: unable to find library`
|
|
|
|
<dongdigua> sam_: so i think it is probably something about the wrapper script
|
|
|
|
<heat> musl-gcc (does not? should not?) pick up on host libraries because they
|
|
|
|
were built against glibc and not musl
|
|
|
|
<heat> so musl-gcc will not pick up on those
|
|
|
|
<heat> or at least they will just not work and will break configure
|
|
|
|
<dongdigua> heat: so I should use those libraries that is built on musl?
|
|
|
|
<dongdigua> like voidlinux I mentioned above
|
|
|
|
<heat> yes
|
|
|
|
<dongdigua> ok
|
|
|
|
ERC>
|
|
|
|
#+END_SRC
|
|
|
|
@@html:</details>@@
|
2023-01-03 11:13:45 +08:00
|
|
|
|
2023-01-17 11:13:20 +08:00
|
|
|
* dump?
|
|
|
|
现在开启 =native-comp= 时 =dump-emacs-portable= 没法弄, 见: [[https://emacs-china.org/t/emacs-29-with-native-comp-dump/22762][emacs china: emacs 29 with native-comp 无法 dump]]
|
|
|
|
试着不开 native-comp dump 了一下, 也就加快了 0.2 s, 而且有各种问题, 算啦算啦
|
|
|
|
|
2023-01-03 11:13:45 +08:00
|
|
|
* 我 有切身体会/还没体验但是认为很不错 的新特性
|
|
|
|
** [[https://emacs-china.org/t/emacs/19806]["真" 背景透明]]
|
|
|
|
这是我提前了解到的第一个 emacs29 特性, [[https://www.bilibili.com/video/BV1ca41127KY][evan 的视频]]
|
|
|
|
但是有透明通道的图片不会跟着透明
|
|
|
|
|
|
|
|
** [[https://www.emacswiki.org/emacs/SmoothScrolling][平滑滚动]]
|
|
|
|
搜索 emacs29 蹦出来的
|
|
|
|
|
2023-01-05 11:25:29 +08:00
|
|
|
** elisp-byte-compile-file
|
|
|
|
|
2023-01-03 11:13:45 +08:00
|
|
|
** emoji 😀
|
|
|
|
|
|
|
|
** package-vc-install
|
|
|
|
但是 =package-report-bug= 有点迷惑
|
|
|
|
|
|
|
|
* 我认为早就该加了但是现在才加入
|
|
|
|
** erc-sasl
|
|
|
|
我编译的时候偶然发现的 =erc-sasl.el=
|
|
|
|
我去! 终于有 sasl 了! 不用第三方的 [[https://github.com/emacs-circe/circe][circe]] 了!
|
|
|
|
*只需要 customize =erc-modules= 加入 sasl, 然后用 =erc-tls= 就成了*
|
|
|
|
这个最早 12 年就有人提出了 ([[https://lists.gnu.org/archive/html/erc-discuss/2012-02/msg00001.html][注释里给的链接]])
|
|
|
|
|
|
|
|
** restart-emacs
|
|
|
|
|
|
|
|
** package-update(-all)
|
|
|
|
|
|
|
|
* 29.1
|
|
|
|
- =use-package=
|
2023-01-05 11:25:29 +08:00
|
|
|
- more =*-ts-mode=
|