[xyzzy:02985] move-to-column
- Subject: [xyzzy:02985] move-to-column
- From: HANAWA Yoshio <hanawa@xxxxxxxxxxxxxxxxxx>
こんばんは。
0.0.0.88 での「undo の挙動を変更」が長いことわからなかった塙です。
(自分の出したメールを読み返してみて、初めて気づきました (^^;)
さて、Emacs20 の *.el を見ながら xyzzy lisp で遊んでいたのですが、
Emacs の built-in function である move-to-column が xyzzy には
ありませんね。なければ作ってしまえ、と思ったのですが、
面倒そうなので、ちょっと尻込みしています。
そこで質問をさせて下さい。
Emacs にしても、 xyzzy にしても、built-in かどうかって
どういう基準で決まっているんでしょう?
多く使われて、かつ lisp で書くよりかなり効率よく実装できるような
関数が built-in なのかと想像しています。もしそうだとしたら、
Emacs で built-in である move-to-column は built-in で作る価値の
あるもの、ということにならないでしょうか?
ちょっと虫がよすぎるかもしれませんが (^^;;;
もしくは、別の名前で同じ働きをする関数が既にありましたら、
教えて下さると嬉しいです。
move-to-column の説明を下につけておきます。
その行の指定した列まで飛ぶだけですが、
要するに TAB の扱いが面倒な(と私が感じた)部分です。
------------------------------
move-to-column is an interactive built-in function.
Move point to column COLUMN in the current line.
The column of a character is calculated by adding together the widths
as displayed of the previous characters in the line.
This function ignores line-continuation;
there is no upper limit on the column number a character can have
and horizontal scrolling has no effect.
If specified column is within a character, point goes after that character.
If it's past end of line, point goes to end of line.
A non-nil second (optional) argument FORCE means, if the line
is too short to reach column COLUMN then add spaces/tabs to get there,
and if COLUMN is in the middle of a tab character, change it to spaces.
The return value is the current column.
(move-to-column COLUMN &optional FORCE)
------------------------------
よろしくお願いします。
では。
---- ---- ---- ---- ---- ---- ---- ----
| 東京大学大学院理学系研究科情報科学専攻
| 小柳研究室修士2年
| 塙 与志夫 (HANAWA Yoshio)
| mailto: hanawa@xxxxxxxxxxxxxxxxxx