文字列を探す対話的関数を書いてみよ。文字列を探しあてた場合には、その直後にポイントを移動してメッセージ「Found!」を表示する
(defun test-search (word) (interactive "ssearch-for: ") (when (search-forward word nil t) (message "Found!")))
search-forward は前方検索用の関数だけど,第一引数で指定した単語が見つからなかった場合は nil を返す.
だから,検索ワードが見つかったときだけ "Found!" って出力するためには,search-forward 自体の戻り値を判断してやれば良いんじゃないかと.
キルリングに第3要素があれば、それをエコー領域に表示する関数を書いてみよ。キルリングに第3要素がなければ、適切なメッセージを表示せよ。
(defun third-elem-kill-ring () (interactive) (let ((elem (nth 3 kill-ring))) (if elem (message elem) (message "not exist 3rd element in kill-ring"))))
ごく自然.