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

[xyzzy:02985] move-to-column



こんばんは。
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

Index Home