2010-02-07 70 views

回答

6

define-derived-mode本身创建一个名为MODE-map的键盘映射,其中MODE是您刚定义的键盘映射的名称。我不确定什么derive-mode-set-keymap这样做是不是已经与define-derived-mode;查看源代码,他们做类似的事情,我不确定两者之间的低级别差异(例如define-derived-mode将父模式的键盘映射保留为新键盘映射的父代,而derive-mode-set-keymap还合并了键盘映射;这两者之间的功能差异是什么?)。

如果你做到以下几点:

(define-derived-mode foobar-mode text-mode "foo") 

那么下面的变量将被定义为:

  • foobar-mode-abbrev-table
  • foobar-mode-hook
  • foobar-mode-map
  • foobar-mode-syntax-table

然后,你可以开始操纵任何这些,只要你喜欢。

+0

谢谢,这是有道理的。另外一些其他使用定义派生模式的lisp示例现在对我更敏感。 – 2010-02-07 14:48:11