room661回答ポイント 100ptウォッチ 3

Emacs Lispに関する質問です。下記のような hoge という関数を実行した直後にundoを実行すると、まず(2)の置換がキャンセルされ、さらにundoすることで(1)の置換がキャンセルされると思います。

これを、一度のundoが 関数hoge() を実行するまえに戻すような関数 hoge() のコードの書き方はできんもんでしょうか。
undoの利用に手を加えるのではなく、hoge() の実装による解決法を求めています。
よろしくお願いします。

---- code ----
(defun hoge()
 (interactive)
 (replace-string "foo" "bar" nil)   ; (1)
 (replace-string "xxx" "yyy" nil)   ; (2)
)

※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。
ログインして回答する

みんなの回答

この質問へのコメント

コメントはありません

この質問への反応(ブックマークコメント)

質問の情報

登録日時
2008-11-13 19:18:16
終了日時
2008-11-17 21:35:21
回答条件
1人2回まで

この質問のカテゴリ

この質問に含まれるキーワード

Emacs Lisp6hoge915nil38関数2326UNDO10

人気の質問

メニュー

PC版