错误的类型参数:stringp,nil with org-map-entries
Wrong type argument: stringp, nil with org-map-entries
我遇到了无法解决的错误。我有一个文件 test.org
,其中仅包含一级标题:* test
(with-temp-buffer
(insert-file-contents "~/test.org")
(goto-char (point-min))
(org-map-entries
(lambda ()
(compare-strings
"* test\n" nil nil
(thing-at-point 'line t) nil nil
t))
"LEVEL=1"))
这个returnsWrong type argument: stringp, nil
。 org-map-entries
功能正常,但是和with-temp-buffer
一起使用时好像有问题。
临时缓冲区处于基本模式,您在代码中所做的任何事情都不会改变它。 OTOH,org-
函数假定缓冲区处于 Org 模式,并且(有时)barf 如果不是这种情况。
试试这个:
(with-temp-buffer
(org-mode)
(insert-file-contents "~/test.org")
(goto-char (point-min))
(org-map-entries
(lambda ()
(compare-strings
"* test\n" nil nil
(thing-at-point 'line t) nil nil
t))
"LEVEL=1"))
我遇到了无法解决的错误。我有一个文件 test.org
,其中仅包含一级标题:* test
(with-temp-buffer
(insert-file-contents "~/test.org")
(goto-char (point-min))
(org-map-entries
(lambda ()
(compare-strings
"* test\n" nil nil
(thing-at-point 'line t) nil nil
t))
"LEVEL=1"))
这个returnsWrong type argument: stringp, nil
。 org-map-entries
功能正常,但是和with-temp-buffer
一起使用时好像有问题。
临时缓冲区处于基本模式,您在代码中所做的任何事情都不会改变它。 OTOH,org-
函数假定缓冲区处于 Org 模式,并且(有时)barf 如果不是这种情况。
试试这个:
(with-temp-buffer
(org-mode)
(insert-file-contents "~/test.org")
(goto-char (point-min))
(org-map-entries
(lambda ()
(compare-strings
"* test\n" nil nil
(thing-at-point 'line t) nil nil
t))
"LEVEL=1"))