Shammer's Philosophy

My private adversaria

EmacsLisp行末判定

EmacsLisp行頭判定 - Shammerismの続きだが、、、buffer-substringを使ったが、http://www.bookshelf.jp/texi/elisp-manual/21-2-8/jp/elisp_32.htmlの「31.1 ポイント付近のテキストを調べる」でそのままズバリな関数が見つかった。新バージョンは以下。

(defun draw-line-left ()
  (interactive
   (cond ((bolp)
          nil)
         (t
          (insert "-")
          (backward-char)))))

行末判定を使用したテスト関数は以下。同時にバッファ末判定も実施。

(defun draw-line-down ()
  (interactive
   (cond ((or (eobp) (eolp))
	  (insert "bbb"))
	 (t
	  nil))))

前回と同様の方法で動作確認を実施し、期待通りに動作するのを確認。上記EmacsLispドキュメントの和訳にもあるが、バッファの先頭も判断できるようだ。