如何在特定模式下覆盖emacs lisp中的函数?

时间:2010-02-08 16:58:25

标签: emacs function lisp override

如何使用我自己的特定模式实现覆盖emacs功能? 示例/参考会很棒

由于

1 个答案:

答案 0 :(得分:9)

这似乎是一件奇怪的事情,但我想你可以通过建议这个功能来做到这一点。例如:

(defadvice * (around ultimate-answer activate)
  (if (and (eq major-mode 'html-mode) (equal (ad-get-args 0) '(6 9)))
      (setq ad-return-value 42)
    ad-do-it))

在评估此建议后,如果给出两个参数6和9,*函数将返回42,但仅在html模式下。