Gauche > Archives > 2019/12/04

2019/12/04 02:08:56 UTCkaki
#
おそらくmacのgccコマンドは中身がclang(Apple version)であることが期待されていて、本当のgccにパスが通ってしまっていたのが駄目だったんだと思います。
#
Boehm GCのmac用のコードがclang(Apple version)に依存していてgccではコンパイルできないんじゃないかと。
2019/12/04 05:34:59 UTChamayama
#
うーむ
https://github.com/Hamayama/r7rs-swank-Gauche-custom
が動かなくなりました。

C:\work\r7rs-swank-Gauche-custom>gosh gauche-main.scm
*** ERROR: invalid application: (#<undef> swank:connection-info)
    While loading "././gauche-swank.sld" at line 58
    While compiling: (import (gauche-swank))
    While compiling "./gauche-main.scm" at line 5: (import (gauche-swank))
    While loading "./gauche-main.scm" at line 5
Stack Trace:
_______________________________________
#
少し前まで動いていたのですが。あとスタックトレースが出ない (issue 521 関連?)。
#
ちょっと今は見られないので、後で調べます。
#
環境は、0.9.9_rc2のインストーラおよびHEADのビルドしたものの両方です。
2019/12/04 05:43:42 UTCshiro
#
そのエラー見覚えがあります。コンパイル時にdefineが#<undef>に先行bindされた影響だと思いますが、validなコードでもこれが出る可能性があるのか、こちらでも見てみます。
2019/12/04 06:16:14 UTCとおる。
#
出遅れましたが、Mac の Docker でもビルドとテストは問題なくできました。
2019/12/04 06:25:42 UTCshiro
#
これでどうですか
diff --git a/specific/gauche.scm b/specific/gauche.scm
index 99b686d..44e22fd 100644
--- a/specific/gauche.scm
+++ b/specific/gauche.scm
@@ -75,12 +75,11 @@
                  ": "
                  (map write-to-string (error-object-irritants error))))
 
-(define sts symbol->string)
 (define (symbol->string x)
   (cond ((keyword? x)
          (string-append ":" (keyword->string x)))
         ((symbol? x)
-         (sts x))
+         ((with-module gauche symbol->string) x))
         (error "not symbol or keyword" x)))
 
 (define ($output-to-repl thunk)
#
たぶん元のコード (最初のdefineで継承したsymbol->stringを保存して、次のdefineで上書き) はR7RSで未定義動作じゃないかな。R6RSだとinvalidなはず
2019/12/04 09:21:53 UTChamayama
#
パッチで無事動作しました。
#
ただ、該当部分は fork 元のコードなので、元の r7rs-swank が 0.9.9 だと動かないということになります。
#
ちょっとよく分かっていない点がありそうなので、Gauche:Bugs の方に挙げてみます。
2019/12/04 09:28:49 UTCshiro
#
上流にPR投げようかな。ところでhashutilのところだけど、あれ元々 (import (only (gauche base) hash-table-for-each)) ではだめだったんだろうか。hashutilはautoloadされるから陽にimportしなくても良いはずなんだが…
2019/12/04 11:03:20 UTCshiro
#
うむ。(gauche base)からのimportで動くようだ