Emacsのマウスで選択した範囲を取得する
今までずっとマウスで選択した場合、その範囲がRegionとなっていると認識していたのですマウス選択が解除された後もそこに region-beginning
が残るようでelisp
が思った通りの動作をしてくれません。
選択してる行が存在する場合だけmarkdown-mode
で先頭にスペースを4つ追加するという処理をしたかったので
(defun indent-rigidly-4 ()
(interactive)
(indent-rigidly (region-beginning) (region-end) 4))
(define-key markdown-mode-map (kbd "TAB")
'(lambda () (interactive)
(unless
(eq (region-beginning) (region-end))
(indent-rigidly-4))))
としたのですが、これだと選択を解除した後のTab
でも更にインデントがついてしまいました。
現在選択してる文字列・行だけを対象に処理するにはどうすれば良いのでしょうか?