我正在尝试使用函数org-entry-properties
和org-id-get
,这两个函数都使用可选参数pom
。例如,org-entry-properties
文档说:
获取点或标记POM的条目的所有属性。
Emacs manual几乎没有提到“标记”这个词,但有几个函数以-marker
结尾。现在我有几个问题。
答案 0 :(得分:9)
缓冲区中的(绝对)位置由数字给出,该数字大致是该位置之前的字符数。另一方面,标记允许在缓冲区中标记“相对位置”:如果在它之前添加文本,它会向前移动(就像它是一个不可见的,0宽度的字符)。
您可以随时将标记转换为(绝对)位置(整数)。这就是为什么许多论点想要一个POM:他们想要一个位置,但接受它是作为标记给出的。
emacs中的“标记”是一个特定的标记,可以通过适当的键和弦轻松访问(C-SPC设置它,C-x C-x交换标记和点等)。 / a“标记环”是所有先前“标记”标记的历史记录(在给定缓冲区中,即本地标记环,或全局,用于所谓的全局标记环)。
elisp手册中的更多信息:
答案 1 :(得分:2)
有关标记的更多信息,请查看Emacs Lisp Reference Manual,而不是使用Emacs手册:
标记是一个Lisp对象,用于指定缓冲区中的位置 相对于周围的文字。标记会改变其偏移量 插入文本时自动开始缓冲区或 删除,以便它与两侧的两个字符保持一致 它
您提到的函数的POM元素因此可以是标记,即包含缓冲区和缓冲区中的位置的lisp对象,或者只是位置。在第一种情况下,函数将首先切换到标记的缓冲区,并在执行函数的其余部分之前将point
移动到标记的位置。
在第二种情况下,它将保留在当前缓冲区中,但在执行函数的其余部分之前将point
移动到给定位置。
即,相对于给定的缓冲区/位置执行该功能。在函数体的末尾,point
的原始位置将被恢复。