本人在windows10子系统下运行emacs gui但是,每次启动总有这个报错,下面是截图
真的甚是烦人啊,有类似情况的大佬吗?好奇问下什么情况会触发这个错误信息,起初我以为 hash table 键值数量不同,但试了下报的是
#s(hash-table data (x))
(error "Odd number of elements in hash table data")
一般情况下是你的 pyim dcache 不知道什么原因挂了,以前FangQ同学给我提过这个问题。。。
以前 我也是老碰到这个问题,tumashu大佬以前也是告诉我是cache挂了, 但是我从来没有手动编辑过cache文件,因此不存在我自己的编辑错误,后来我发现是因为关Emacs的时候,cache的自动保存hook在写入文件时候发生的括号匹配问题,但是我看了下pyim的相关代码,保存逻辑没有问题,所以我怀疑是Emacs没有正常关闭导致的。
还有就是如果两个session共用一个cache文件的时候,依次关闭他们,下回再用这个cache的时候也会发生这个问题。
因此我觉得是否添加一个feature,给当前cache备份,然后如果读取错误那么启用备份。
QiangF 同学也提到过这个自动备份feature,但我估摸了一下,感觉这个feature想要较好的实现,似乎也不太简单,所以一直没动手。。。
大佬, 不过我的问题好像不是这个cache的问题,我的问题感觉在前面Faild to load breakpoints,现在我把dap-mode这个package注释掉了,现在启动就没有这个error。
你把你cache的那个文件夹下dap-breakpoints那个文件删了,不用注释整个dap mode,试一下,我觉得是那个文件的问题
我不打算折腾了,因为我就算删了还是会出现之前的问题,反正现在我用单元测试基本用不到debug,还是谢谢老铁
27改了报错信息而已
in 26.2
ELISP> #s(hash-table data (x))
*** Read error *** Odd number of elements in hash table data
in 27.0.5
ELISP> #s(hash-table data (x ) )
*** Read error *** Hash table data is not a list of even length
估计odd number of elements in hash table data
会被误认为hashtable里有奇数个元素对。
我用过dap,觉得暂时还是很难用
嗯嗯,我现在如果要debug就用一下pycharm,反正两个换着用,挺好的
看了下pyim分离了cache后端,我打算用KV database替换纯文本serialize试试
这个算需求吗
关你屁事,我爱做就做。不需要你天天给我指手画脚。像个跟屁虫一样盯我发帖有意思?
有 意 思 。
可以试试
是指sql-lite之类的?
你 心 态 挺 好 的 。
原来是想用NoSQL的,现在发现SQL可能更好
哦对KV是nosql