获取叠加层取决于交互式呼叫(emacs)

时间:2015-02-03 00:08:39

标签: emacs elisp emacs24

我正在试验叠加层,我试图找出点上的叠加层是否包含以show-paren-match命名的面孔。

例如,我在*scratch*缓冲区中获得了以下代码,其中|是当前光标位置:

(defun foo1 ()
  (message (format "%S" (overlays-at (point)))))

(defun foo2 ()
  (interactive)
  (foo1))

|(global-set-key (kbd "C-c t") 'foo2)

当我输入C-c t时,我得到正确数量的叠加层,知道我在emacs-24.4中使用smartparens-20150106.757以突出显示匹配的大括号:

(#<overlay from 192 to 228 in *scratch*> #<overlay from 192 to 193 in *scratch*>)

但是,使用以下表达式M-:(call-interactively 'foo2)进行评估((foo2))会返回nil。在此处未示出的其他示例中,它返回减少数量的叠加。使用C-u C-x =显示所有想要的叠加层。 当通过带有前缀参数的M-x调用命令时,它既不显示所需的叠加层。

为什么在通过M-x或使用M-:的迷你缓冲区进行交互式呼叫时,无法获得正确数量的叠加层?我错过了什么?

0 个答案:

没有答案