まつもと ゆきひろです

In message "[ruby-list:17937] ruby-mode.el: indent"
    on 99/10/23, TAKAHASHI Hitoshi <thitoshi / ne.scphys.kyoto-u.ac.jp> writes:

|def hoge
|  while true
|    if foo
|      bar
|end
|
|カーソルが最後の end の d の後ろにある時に TAB キーを押すと、
|end の行が正しくインデントされるのはいいんですが、
|カーソルが end の e の位置に来てしまいます。
|
|  これは ruby-mode.el の仕様でしょうか?

うーむ、あんまり仕様とは考えてはいません。
もし、実験台になっても構わないとお考えでしたら以下のパッチを
試してみていただけませんか?

--- /tmp/ruby-mode.el	Mon Oct  4 13:51:08 1999
+++ ruby-mode.el	Sat Oct 23 02:00:06 1999
@@ -182,8 +181,3 @@
 	(skip-chars-backward " \t")
-	(cond
-	 ((>= x shift)
-	  (setq shift 0))
-	 ((>= shift top)
-	  (setq shift (- shift top)))
-	 (t (setq shift 0)))
+	(if (>= shift top) (setq shift (- shift top)))
 	(if (and (bolp)