2

ユーザーがテキストをコピーできるようにする前に、特定の条件を評価したいと考えています。私の知る限りでは、 へのアドバイスが必要です"kill-ring-save"。条件が満たされない場合はそのテキストをコピーし、条件が満たされた場合は許可するというユーザー リクエストを無視する必要があります。これどうやってするの?

(更新) -- 制約についての詳細: Emacs の特定のモード (NXML モードなど) でのみ、このアドバイスを適用する必要があります。

4

1 に答える 1

3

概念の迅速な証明; 制約が何であるかがわからないため、これは必然的にあいまい/役に立たない.

(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) )

以下のコメントに応じて、追加のメジャー モード制約が追加されました。すべてのモードでこれが必要な場合は、モード チェックを削除します。

于 2012-09-04T09:56:50.607 に答える