[Date Prev] [Date Index] [Date Next]
[Thread Prev] [Thread Index] [Thread Next]

[xyzzy:01741] Re: テキストのオートインデントについて



T井さん、こんにちは。

        Mon, 1 Feb 1999 20:44:05 +0900 の
        [xyzzy:01734] Re: テキストのオートインデントについて
        への返事です。

> んー、インデントと名乗るからには、空白の数も保存したいところで
> すね。あと、キーバインドによって動作が変わるってのはなんか変(^^;
> 
> |  単にリターンで済むところを上のように複雑にするわけですから、xyzzy が word
> | なみに重くなっちゃいます(ウソウソ)。
> 
> この程度だったら self-insert-command よりは軽いという説も。

self-insert-command はまだ見てませんが、ちょっと勇気が出て、次のようにしてみ
ました。

(defun text-newline-indent (&optional (arg 1))
  (interactive "*p")
  (delete-horizontal-spaces)
  (let ((current-space (save-excursion (goto-bol)
						   (and (looking-at "^[  \t]")
								(following-char))))
		(length (save-excursion (goto-bol)
				  (skip-chars-forward "  \t")
				  (if (eolp) 0 (current-column)))))
	(cond ((= arg 8)
		   (let ((current-gyoto
				  (save-excursion
					(scan-buffer *gyoto-mark*
								 :regexp t :reverse t :tail nil)
					(following-char))))
			 (insert #\LFD 2)
			 (insert current-gyoto)))
		  ((= arg 9)
		   (insert #\LFD))
		  (t
		   (cond ((or (eq current-space #\SPC) (eq current-space #\t))
				  (insert #\LFD)
				  (insert current-space length))
				 ((eq current-space #\ )
				  (insert #\LFD)
				  (insert current-space (floor length 2)))
				 (t (insert #\LFD))))))
  t)

arg 8 で行頭マークを得る。arg 9 で改行のみ。arg なしで相対 indent です。
上のでOKでしょうか?

改行と同時に英字と日本字の間にスペースをあけることもやりたい人は、メール
送ってください。前に亀井さんに作ってもらったのがあります。ml の アーカイ
ブの中を探しても、出て来ますよ。

#おかしいな。なんで C-cC-cで送れないのだろ?

--------
須田誠也
EZU11330@xxxxxxxxxxx

亀井さん、こんにちは。

        Mon, 1 Feb 1999 20:44:05 +0900 の
        [xyzzy:01734] Re: テキストのオートインデントについて
        への返事です。

> んー、インデントと名乗るからには、空白の数も保存したいところで
> すね。あと、キーバインドによって動作が変わるってのはなんか変(^^;
> 
> |  単にリターンで済むところを上のように複雑にするわけですから、xyzzy が word
> | なみに重くなっちゃいます(ウソウソ)。
> 
> この程度だったら self-insert-command よりは軽いという説も。

self-insert-command はまだ見てませんが、ちょっと勇気が出て、次のようにしてみ
ました。

(defun text-newline-indent (&optional (arg 1))
  (interactive "*p")
  (delete-horizontal-spaces)
  (let ((current-space (save-excursion (goto-bol)
						   (and (looking-at "^[  \t]")
								(following-char))))
		(length (save-excursion (goto-bol)
				  (skip-chars-forward "  \t")
				  (if (eolp) 0 (current-column)))))
	(cond ((= arg 8)
		   (let ((current-gyoto
				  (save-excursion
					(scan-buffer *gyoto-mark*
								 :regexp t :reverse t :tail nil)
					(following-char))))
			 (insert #\LFD 2)
			 (insert current-gyoto)))
		  ((= arg 9)
		   (insert #\LFD))
		  (t
		   (cond ((or (eq current-space #\SPC) (eq current-space #\t))
				  (insert #\LFD)
				  (insert current-space length))
				 ((eq current-space #\ )
				  (insert #\LFD)
				  (insert current-space (floor length 2)))
				 (t (insert #\LFD))))))
  t)

arg 8 で行頭マークを得る。arg 9 で改行のみ。arg なしで相対 indent です。
上のでOKでしょうか?

改行と同時に英字と日本字の間にスペースをあけることもやりたい人は、メール
送ってください。前に亀井さんに作ってもらったのがあります。ml の アーカイ
ブの中を探しても、出て来ますよ。

#おかしいな。なんで C-cC-cで送れないのだろ?

--------
須田誠也
EZU11330@xxxxxxxxxxx

--------
亀井さん、こんにちは。

        Mon, 1 Feb 1999 20:44:05 +0900 の
        [xyzzy:01734] Re: テキストのオートインデントについて
        への返事です。

> んー、インデントと名乗るからには、空白の数も保存したいところで
> すね。あと、キーバインドによって動作が変わるってのはなんか変(^^;
> 
> |  単にリターンで済むところを上のように複雑にするわけですから、xyzzy が word
> | なみに重くなっちゃいます(ウソウソ)。
> 
> この程度だったら self-insert-command よりは軽いという説も。

self-insert-command はまだ見てませんが、ちょっと勇気が出て、次のようにしてみ
ました。

(defun text-newline-indent (&optional (arg 1))
  (interactive "*p")
  (delete-horizontal-spaces)
  (let ((current-space (save-excursion (goto-bol)
						   (and (looking-at "^[  \t]")
								(following-char))))
		(length (save-excursion (goto-bol)
				  (skip-chars-forward "  \t")
				  (if (eolp) 0 (current-column)))))
	(cond ((= arg 8)
		   (let ((current-gyoto
				  (save-excursion
					(scan-buffer *gyoto-mark*
								 :regexp t :reverse t :tail nil)
					(following-char))))
			 (insert #\LFD 2)
			 (insert current-gyoto)))
		  ((= arg 9)
		   (insert #\LFD))
		  (t
		   (cond ((or (eq current-space #\SPC) (eq current-space #\t))
				  (insert #\LFD)
				  (insert current-space length))
				 ((eq current-space #\ )
				  (insert #\LFD)
				  (insert current-space (floor length 2)))
				 (t (insert #\LFD))))))
  t)

arg 8 で行頭マークを得る。arg 9 で改行のみ。arg なしで相対 indent です。
上のでOKでしょうか?

改行と同時に英字と日本字の間にスペースをあけることもやりたい人は、メール
送ってください。前に亀井さんに作ってもらったのがあります。ml の アーカイ
ブの中を探しても、出て来ますよ。

#おかしいな。なんで C-cC-cで送れないのだろ?

--------
須田誠也
EZU11330@xxxxxxxxxxx




------------------------------------------------------------
○×△□        Email   XXXXX@xxxxxxxxxxxxxxxxx
                WWW     http://www.XXXXXX.or.jp/
                TEL     電子メールがあれば緊急時以外不要
                FAX     電子メールがあれば FAX なんか不要

Index Home