[Gauche-devel-jp] Re: gauche.termios の c_cc

Back to archive index

Shiro Kawai shiro****@lava*****
2004年 9月 13日 (月) 19:22:27 JST


From: "Kogule, Ryo" <kogul****@opend*****>
Subject: [Gauche-devel-jp] Re: gauche.termios の c_cc
Date: Mon, 13 Sep 2004 11:45:21 +0900

> 手を付けた事でもあり,gauche.termios についてはもうちょっといじってみ
> ます。下のような作業をやる予定で,まとまったらまたこちらに投げます。

よろしくお願いします。

> - *termios-{standard,available}-speeds* など環境確認用変数
>  いじってると結構欲しくなるので。
> 
> - write-object
>  Debug に便利。
> 
> - copy-termios, list->termios など constructor
>  Copy constructor は必須。現在 sys-tcgetattr 以外に <sys-termios>
>  を作る方法がないので。list->termios は write-object と組合わせると
>  file などで <sys-termios> を持って廻る事が出来そうです。それがどう
>  嬉しいかは謎ですけど。

現状でも、 (make <sys-termios>) で作ることができます。
もちろん、copy-termiosがあっても便利だと思います。他と名前の
一貫性を考えるとtermios-copyかな。Schemeレベルの定義でよいと思います。

 (define (termios-copy src)
   (make <sys-termios>
     :iflag (ref src 'iflag)
     :oflag (ref src 'oflag)
     :cflag (ref src 'cflag)
     :lflag (ref src 'lflag)
     :cc    (ref src 'cc)))

;; こういうオペレーションを考えると、ccスロットがベクタのコピーを返す
;; というセマンティクスはむしろ安全と言えるかもしれません。

list->termiosはあっても良いんですが、シリアライゼーションを考えるなら、
srfi-10 の read-constructor を定義しておく方が楽ではあります
(readするだけで良いから)。但し、write-objectのデフォルトをsrfi-10形式に
すると、ちょっとccフィールドがうるさい気もしますね。難しい。

;; 本来なら、write-object自身も、コンテキストによって出力にバリエーション
;; を付けられるようなものにしたいのですが、仕様がまだ固まっていません。

--shiro



Gauche-devel-jp メーリングリストの案内
Back to archive index