全角スペースもインデントとみなす

xyzzyで何かを書くとき全角のスペースをインデント代わりによく使うのだけども、これをxyzzyはインデントとして認識せず手助けしてくれない。そこで。
lisp/cmds.lの

(defun indent-relative ()
  (interactive "*")
  (delete-horizontal-spaces)
  (indent-to (save-excursion
	       (goto-bol)
	       (skip-chars-backward " \t\n")
	       (goto-bol)
	       (skip-chars-forward " \t")
	       (if (eolp) 0 (current-column))))
  t)

の2つの""の中に全角空白を追加するだけでOK。見ただけだとよくわからないがこんな感じ↓

(defun indent-relative ()
  (interactive "*")
  (delete-horizontal-spaces)
  (indent-to (save-excursion
	       (goto-bol)
	       (skip-chars-backward "  \t\n");←ここと
	       (goto-bol)
	       (skip-chars-forward "  \t");←ここね
	       (if (eolp) 0 (current-column))))
  t)

lisp/textmode.lの最後に

(define-key *text-mode-map* #\RET 'newline-and-indent)

を追加しておくと、テキストモードでReturnを押すと自動でインデントしてくれてより幸せかもしれない。僕は最近はC-jを使うけど。


インデントは半角スペースで詰められるので、Firefoxの外部エディタなんかとして使うときは最後に" "(半角x2)を" "(全角)にreplace-stringしないとレイアウトが崩れて困る(半角スペースが表示されない)ことがあったりなかったり。