マークの位置に印をつける

マークの位置がよく分からなくなるのでしるしをつけることに

;マークの強調表示
(defun my-set-mark-command ()
  (interactive)
  (delete-text-attributes 'mark-pointer)
  (set-mark-command)
  (change-point-color(point))
  (setq my-mark-point (make-marker (selected-buffer)))
  (set-marker my-mark-point (point)))

(defun change-point-color (from)
  (set-text-attribute from (+ from 1) 'mark-pointer
					  :bold t
					  :foreground 0 :background 2
					  :underline t))

■追記
チョット使ってみたら、parenで消えやがる。*post-command-hook*で使うと色々しないとエラーが出るので、一応試してみたが、使い勝手が問題がある感じ。なので、適当なキーに割り当てて気になったときに表示するので我慢することに。

;parenで消えるので消えてるときに場所を表示
(defun keep-point-color()
  (interactive)
  (set-text-attribute (marker-point my-mark-point)
					  (+ (marker-point my-mark-point) 1)
					  'mark-pointer
					  :bold t
					  :foreground 0 :background 1
					  :underline t))
;;マークの位置を表示
(global-set-key #\C-F5 'keep-point-color)
(set-function-bar-label #\C-F5 "F5 : view mark")