给"kill-ring-save"的建议

  • 本文关键字:kill-ring-save elisp
  • 更新时间 :
  • 英文 :


在允许用户复制文本之前,我想评估某些条件。据我所知,我需要"kill-ring-save"的建议。如果不满足条件,我需要忽略用户复制该文本的请求,如果满足条件,则允许它。我该怎么做?

(更新)--关于约束的更多信息:只有在Emacs的特定模式下(例如NXML模式),并且只有在满足一个/多个特定条件时,才应应用此建议。

概念的快速证明;你不知道你的限制是什么,所以这一定是模糊的/无用的。

(defvar moo nil)
(defadvice kill-ring-save (around kill-ring-check-constraints activate compile)
  "If in `nxml-mode', don't save to kill ring if `moo' is `nil'."
  (if (and (eq major-mode 'nxml-mode) (null moo))
    (message "Not copied.")
   ad-do-it) )

附加的主模式约束是针对以下评论添加的。如果你想在每个模式下都这样,只需进行模式检查即可。

最新更新