[求助] doom-emacs 的 roam2 模块中文文件名会乱码,已定位问题出在哪了,奈何水平不够

doom用户有福了:无需复杂配置,一键使用org-roam v2 继续讨论:

doom 这个新的 roam2 模块在CJK字符的显示上面有一个小问题,而且我已经定位在哪里了,但是不知道怎么解决。

求助论坛大佬

已解决,见issue页面

所以最后最好的方案是issue第几楼的?我看到放了两个代码,其中一个被回复说可能有问题。

现在最新的 org-roam 的commit已经解决了问题了,所以只要将 org-roam 更新到最新就好了

你好,我看到issue是7月份就提交了,但是我使用了doom upgrade以后,这个问题依然存在。

我对emacs的包管理不是特别了解,即使doom的文档里提到了它是基于straight.el构建的包管理器,我也找不到方法去检查我本地的orgroam的版本。

我尝试使用了M-x describe-package 来找到org-roam,安装了20210901.1143版本,也没有解决问题。

请问该如何更新,或者说如何能够找到本地的org-roam,来检查本地版本是否已经包含了这个fix呢?

今天尝试观察了一下doom emacs的安装日志,发现其中org-roam的commit id确实是7月24日的。

    > Cloning org-roam...
    - Checked out org-roam: 028c95a011395d01ff9b5217dc365f23187bc26c

按照doom emacs的文档介绍,它会默认从MELPA上面拉取,这个版本明显和MELPA不一致。我看了/.emacs.d/modules/lang/org/contrib/roam2.el里面也只是用了 use-package org-roam,并没有用pin之类的去指定commit。

所以到底是哪里去指定用了一个老版本的orgroam,真是摸不到头脑……

总之最后用了一种非常丑陋的办法解决了,就是先取消init.el里面的+roam2,然后去package.el里面指定(package! org-roam :pin “1795039ab9”)。

doom upgrade装上新版本roam以后再回去把+roam2打开

在 package.el 里面加上

(unpin! org-roam)

(package! org-roam :recipe ...)

多谢,你的办法应该是一直可用的,我那个只是临时升级一下。

请问你知道doom emacs是在哪里指定了org-roam的版本吗?我还是没搞清楚这个问题。

~/.emacs.d/modules/lang/org/packages.el中有

 ((featurep! +roam2)
  (package! org-roam :pin "028c95a011395d01ff9b5217dc365f23187bc26c")))

doom的package都在对应的模块下的packages.el 中指定。

1赞

找到了,因为emacs一直在重装,我就用了finder的搜索,没想到finder居然找不到这个文件包含了org-roam关键字……

顺便说一下,有人给 doom 开发者 hlissner 提了更新 org-roam 版本以解决中文问题的 issue,hlissner 说最近整个 org 要更新一波大的,届时会包含这个的更新,所以就搁置了。https://github.com/hlissner/doom-emacs/issues/5294#issuecomment-889710268