[Anthy-dev 139] Re: uim-1711

Back to archive index

yusuk****@cheru***** yusuk****@cheru*****
2003年 5月 13日 (火) 21:41:54 JST


田畑です。

> ■uim-prime (new!)
Great!

>  先日、予測入力システムであるPRIMEが公開されましたので、対応しようと試
> みています。今のところ、入力した文字に対応して変換候補を標準出力に流すと
> ころまできてます。
PRIMEのページにTCP/IPは「実用には向いていません」とあるのが良いですね。
#開発の初期に小松さんに指摘してくださった春山さんに感謝します。

>  現在はprime.cで文字列を扱うのにglibに頼ってます。将来的にはglib使うの
> はやめたいと思ってます。
そうですね。

>  GtkCListには目的にあう関数は無さげなのでとりあえずGtkTreeView化してみ
> たのですが、こちらもやはり一度幅を広げると元には戻りませんでした。
> TreeViewにすると遅くなりますし、メリットも特にないので、とりあえず
> CListに戻しました。im-jaのように候補ウィンドウにメニューを使うという方法
> も検討してみた方がよさそうです。
GtkCListはdeprecatedなので、多少問題があっても使うのをやめたいのですが、
GtkTreeViewはフォーカスのあるitemを変更する関数が見付けられなくて
やらずに今にいたっています。

それから、pluginを付けるのに必要と思うので、関数feature?と
provideをschemeに追加するpatchを付けます。

*** ../slib.c	2002-12-14 01:38:01.000000000 +0900
--- slib.c	2003-05-13 21:35:57.000000000 +0900
***************
*** 129,134 ****
--- 129,135 ----
  LISP sym_dot = NIL;
  LISP sym_after_gc = NIL;
  LISP sym_eval_history_ptr = NIL;
+ LISP sym_features = NIL;
  LISP unbound_marker = NIL;
  LISP *obarray;
  LISP repl_return_val = NIL;
***************
*** 1323,1328 ****
--- 1324,1331 ----
    setvar (sym_after_gc, NIL, NIL);
    gc_protect_sym (&sym_eval_history_ptr, "*eval-history-ptr*");
    setvar (sym_eval_history_ptr, NIL, NIL);
+   gc_protect_sym (&sym_features, "features");
+   setvar (sym_features, NIL, NIL);
    if (inums_dim > 0)
      {
        inums = (LISP *) must_malloc (sizeof (LISP) * inums_dim);
***************
*** 3097,3102 ****
--- 3100,3124 ----
  }
  
  LISP
+ featurep (LISP name)
+ {
+   return memq (name, sym_features);
+ }
+ 
+ LISP
+ provide (LISP name)
+ {
+   if NSYMBOLP
+     (name) {
+     my_err ("wta(non-symbol) to provide", name);
+     return NIL;
+   }
+   if (featurep(name) == NIL)
+     setvar (sym_features, cons (name, sym_features), NIL);
+   return (NIL);
+ }
+ 
+ LISP
  vload (char *fname, long cflag, long rflag)
  {
    LISP form, result, tail, lf, reader = NIL;
***************
*** 3715,3720 ****
--- 3737,3744 ----
    init_subr_1 ("srand", lsrand);
    init_subr_0 ("last-c-error", lllast_c_errmsg);
    init_subr_0 ("help", help);
+   init_subr_1 ("feature?", featurep);
+   init_subr_1 ("provide", provide);
    init_slib_version ();
  }
  

--
 CHAOS AND CHANCE!
  Yusuke TABATA (yusuk****@cheru*****)



Anthy-dev メーリングリストの案内
Back to archive index