第一时间拉下源码编译!
自己编译的话直接上29吧,稳的一批
最近29多了好多warning,不知道开发者为啥非要去掉那些兼容代码全部换成告警,比如nil face就极度影响性能。
发现mac上编不过emacs-plus 28.2,尴尬了~~~
同感,太影响使用了。
包作者又没法为了兼容 29 就去更新代码,因为还要兼容 28以及之前的版本。
我有好几个需要用到的功能,必须上 29,不然都考虑用 28了。
我这这么多警告:
Warning: setting attribute ‘:foreground’ of face ‘link’: nil value is invalid, use ‘unspecified’ instead.
Warning: setting attribute ‘:background’ of face ‘header-line’: nil value is invalid, use ‘unspecified’ instead.
Warning: setting attribute ‘:background’ of face ‘mode-line-buffer-id’: nil value is invalid, use ‘unspecified’ instead.
Warning: setting attribute ‘:background’ of face ‘diff-header’: nil value is invalid, use ‘unspecified’ instead.
Warning: setting attribute ‘:background’ of face ‘diff-file-header’: nil value is invalid, use ‘unspecified’ instead.
Package autoload is deprecated
Warning: setting attribute ‘:background’ of face ‘diredfl-dir-priv’: nil value is invalid, use ‘unspecified’ instead.
Warning: setting attribute ‘:background’ of face ‘diredfl-exec-priv’: nil value is invalid, use ‘unspecified’ instead.
Warning: setting attribute ‘:background’ of face ‘diredfl-executable-tag’: nil value is invalid, use ‘unspecified’ instead.
Warning: setting attribute ‘:background’ of face ‘diredfl-flag-mark-line’: nil value is invalid, use ‘unspecified’ instead.
Warning: setting attribute ‘:background’ of face ‘diredfl-link-priv’: nil value is invalid, use ‘unspecified’ instead.
Warning: setting attribute ‘:background’ of face ‘diredfl-no-priv’: nil value is invalid, use ‘unspecified’ instead.
Warning: setting attribute ‘:background’ of face ‘diredfl-other-priv’: nil value is invalid, use ‘unspecified’ instead.
Warning: setting attribute ‘:background’ of face ‘diredfl-rare-priv’: nil value is invalid, use ‘unspecified’ instead.
Warning: setting attribute ‘:background’ of face ‘diredfl-read-priv’: nil value is invalid, use ‘unspecified’ instead.
Warning: setting attribute ‘:background’ of face ‘diredfl-write-priv’: nil value is invalid, use ‘unspecified’ instead.
Warning: setting attribute ‘:foreground’ of face ‘message-header-cc’: nil value is invalid, use ‘unspecified’ instead.
Warning: setting attribute ‘:background’ of face ‘message-header-newsgroups’: nil value is invalid, use ‘unspecified’ instead.
Warning: setting attribute ‘:foreground’ of face ‘message-header-other’: nil value is invalid, use ‘unspecified’ instead.
Warning: setting attribute ‘:background’ of face ‘message-header-other’: nil value is invalid, use ‘unspecified’ instead.
Warning: setting attribute ‘:background’ of face ‘message-header-name’: nil value is invalid, use ‘unspecified’ instead.
Warning: setting attribute ‘:background’ of face ‘which-func’: nil value is invalid, use ‘unspecified’ instead.
不止这些,还会不停的反复出现,很是无语。看了commit,感觉根本没有必要。不知道还有什么样的考虑。
你是因为哪几个功能吸引你呢?
主要是下面几个刚需的功能:
-
pixel-scroll-precision-mode
, 像素级滚动(我在 macOS 上用的多),能够像浏览器一样顺滑地通过触摸板滚动屏幕。 - 内置支持 sqlite,我用 org-roam 和 epkg 都依赖 sqlite
- 在 Windows 上支持直接切换系统输入法的中英文状态,配合 sis 使用性能更好。
(PS:这个功能在 Emacs 28.1 已经开始有了)
还有 2个我提的 issue 在 29 修复了:
- desktop.el 和 saveplace.el 一起使用时,在 Windows 系统支持 UTF-8 以外的 unicode 编码(比如 UTF-16)
- project.el 在对git子模块解析有问题,如果字模块的 .gitmodules 文件中有如下格式时,无法解析
load-path = .
:
[submodule "org-roam"]
load-path = .
load-path = extensions
path = lib/org-roam
url = [email protected]:org-roam/org-roam.git
我因为使用 Borg 这个包管理器包的安装,是需要这样使用子模块,才能安装包子目录下的插件。
是啊,这种警告每次启动都出现。如果只是编译包的时候出现是无所谓的。
- mac上推荐用mos
- 暂时用emacs-sqlite,没感觉多大区别。
系统输入法确实就没办法了,只能上29.
你说的是 emacs-mac ?
我试过,滚动没有 pixel-scroll-precision-mode 顺滑。
内置 emacs-sqlite 确实看不到肉眼能察觉的性能提升,只是少编译一个动态模块。
不是emacs-mac,是这个,全局平滑滚动,效果杠杠的
多谢分享,还有这样的好工具。
看来用这个不仅 Emacs, iterm2 也可以平滑滚动了。
PS: 尝试了下 mos,还是 Emacs 29 的 pixel-scroll-precision-mode
更加顺滑,用习惯了。
参数是可调的,也有黑名单,看你个人习惯了。
原来不是我的问题,我最近更新到 29 的时候,就被一堆兼容代码的 warning 吓退
你不是一个人……
emacs 28 在 Windows10 下就有切换输入法中英文状态的函数了!
崩溃的问题解决了吗?谁帮忙试一下我这个必现的配置:
emacs 29 可能很稳,但第三方包就说不定了。
是的,28 就有了。是我记错了。 多谢提醒
因为我是直接从 27 → 29, 基本没用过 28
自从之前改了face,29 我用了几个月,包括gccems和正常版本,总体来说还是比较正常。但最近升级后实在受不了各种不兼容告警,似乎又进入一个开发高峰期。用28.2目前感觉良好,稳定了许多。