[xyzzy:04733] Re: カーソル行にマークを付ける
- Subject: [xyzzy:04733] Re: カーソル行にマークを付ける
- From: KAMEI Tetsuya <kamei@xxxxxxxxxxxx>
- X-mailer: KaMail-0.0.2.1 (ITS / PDP-10s)
- X-yzzy-version: 0.2.1.149
金子さん、こんにちは。
2000年7月4日(火)[10:52:59]の、
[xyzzy:04732] カーソル行にマークを付ける
への返事です。
| Lisp でのプログラムははじめてですので「Lispでは、ここはこう書
| いた方がよい」みたいなところを添削していただけたらと思います。
特に悪くはないと思いますが、Lisp っぽく書くならこうで
しょうか。逆向きのを :from-end を使うようにした以外は、
やってることは一緒です。
(defun toggle-line-mark ()
(interactive)
(multiple-value-bind (from to tag)
(find-text-attribute-point (point))
(if (eq tag 'marked-line)
(delete-text-attribute-point (point))
(save-excursion
(set-text-attribute (progn (goto-bol) (point))
(progn (goto-eol) (point))
'marked-line
:foreground 1 :background 0)))))
(defun search-forward-marked-line ()
(interactive)
(goto-char (or (find-text-attribute
'marked-line
:start (save-excursion (goto-eol) (point)))
(plain-error "マークされた行はありません"))))
(defun search-backward-marked-line ()
(interactive)
(goto-char (or (find-text-attribute
'marked-line
:end (save-excursion (goto-bol) (point))
:from-end t)
(plain-error "マークされた行はありません"))))
--
亀井哲弥(Tetsuya Kamei)
kamei@xxxxxxxxxxxx