🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: fj.editor.emacs
Article #537

buffer 内の位置を読み込む方法は

#537
From: ms
Date: Thu, 08 Jul 2004 02:06
50 lines
2676 bytes
(point) は、現在のカーソルの位置を返します。これとは違って、
つぎのような関数がないでしょうか。

  その関数を実行すると、それ以降キーを監視して、

       * 矢印キー あるいは、C-n, C-p, C-b, C-f だったら、その矢
         印キーあういは C-n, C-p, C-b, C-f をタイプしたときの通
         常の動作にしたがってカーソル位置が変更される。
    
       * それ以外のキーを押したら、そのときのカーソル位置を返す。

ちょっと自分で書いてみたのですが、不十分です。

  (defun read-movement ()
    (let (p (pos nil))
      (setq p (read-char))
      (cond 
       ((eq p 14); C-n
        (next-line 1))
       ((eq p 16); C-p
        (next-line -1))
       ((eq p 6); C-f
        (forward-char 1))
       ((eq p 2); C-b
        (forward-char -1))
       (t
        (setq pos (point))))
      pos))

  (defun get-point ()
    (interactive)
    (let ((p nil))
      (while (not p)
        (setq p (read-movement)))
      (message "%d" p)))

get-point が、求める関数のつもりですが、つぎの点で不十分です。

  * 矢印キーには対応できていない。read-movement 関数で使用してい
    る read-char ではダメ。

  * ミニバッファに押したキーに関する情報がエコーされるのが嫌。

こういうときに使用する関数がすでにあれば教えてください。上に書い
たコードを直せばよいのなら、その方法を教えていただけないでしょうか。



  
Technical Details
Message-ID: <uk6xf45hq.fsf@tonewin.kuciv.kyoto-u.ac.jp>
Path: arc1-ca.pugleaf.net!g2news1.google.com!news1.google.com!newsfeed.stanford.edu!newsfeed.news.ucla.edu!newsfeed.media.kyoto-u.ac.jp!news.media.kyoto-u.ac.jp!not-for-mail

Show Full Headers
Complete Article Headers
X-Google-Thread: ff358,3295602bb33cd8af,start
X-Google-Attributes: gidff358,public
X-Google-Language: Japanese,JIS
Path: arc1-ca.pugleaf.net!g2news1.google.com!news1.google.com!newsfeed.stanford.edu!newsfeed.news.ucla.edu!newsfeed.media.kyoto-u.ac.jp!news.media.kyoto-u.ac.jp!not-for-mail
From: ms@wr.kuciv.kyoto-u.ac.jp
Newsgroups: fj.editor.emacs
Subject: buffer 内の位置を読み込む方法は
Date: Thu, 08 Jul 2004 11:06:41 +0900
Organization: Academic Center for Computing and Media Studies, Kyoto University, JAPAN
Lines: 50
Message-ID: <uk6xf45hq.fsf@tonewin.kuciv.kyoto-u.ac.jp>
NNTP-Posting-Host: wr.kuciv.kyoto-u.ac.jp
Mime-Version: 1.0 (generated by SEMI 1.14.5 - "Awara-Onsen")
Content-Type: text/plain; charset=ISO-2022-JP
X-Trace: caraway.media.kyoto-u.ac.jp 1089252403 29052 130.54.249.158 (8 Jul 2004 02:06:43 GMT)
X-Complaints-To: news@news.media.kyoto-u.ac.jp
NNTP-Posting-Date: Thu, 8 Jul 2004 02:06:43 +0000 (UTC)
User-Agent: T-gnus/6.16.2 (based on Gnus v5.10.2) (revision 02) SEMI/1.14.5 (Awara-Onsen) FLIM/1.14.5 (Demachiyanagi) APEL/10.6 Emacs/21.1 (i386-mingw-nt5.1.2600) MULE/5.0 (SAKAKI) Meadow/2.00 Beta2-dev (WOMINAHESHI)
Cancel-Lock: sha1:MDWq4X76EsE6RWdlip5B/f8UUS4=