推送标记在Emacs中无法正常工作

时间:2014-01-02 13:39:18

标签: emacs elisp

我在Ubuntu 12.04上使用GNU Emacs 24.3.1。我对理解push-mark函数有疑问。例如,打开一个空缓冲区,键入一些文本,并在echo区域中执行(print mark-ring t)给出nil。然后做

(push-mark)

再次(print mark-ring t)在回显区域中仍然显示nil。我以为我现在会在标记环中看到一些东西。此外,此时执行新的(push-mark),然后(print mark-ring t)显示前一个标记现在位于标记环内。

1 个答案:

答案 0 :(得分:4)

当缓冲区是新的时,它没有当前标记,标记操作将失败或什么都不做。在标记后,可能使用C-SPC,标记环应按预期进行。

如果标记不存在,显然会调用(push-mark)来创建标记,可能是非预期的副作用。