moto kawasaki
moto****@kawas*****
2005年 7月 1日 (金) 15:10:47 JST
> > どちらかといえば「これで正しい?」という疑問の方が大きいので :-)、 > ざっと見ましたが、僕がやっていることと同じでした。 ああ、それはとても心強いです。 > > ところで、この AERegistry.h の中身って別のヘッダファイルをincludeし > > ているだけ (ApplicationServices/ApplicationServices.h) なんですが、 > > この Appli....h は自分自身をインクルードしてるんですね。 > > これって一体 @_@?????? > > OLDROUTINENAMES を定義せずにコンパイルし、失敗させます。その cc の部分 > をコピペして、-E オプションを加えて実行すれば、どのヘッダが include さ > れるか分かります。 他力本願ですみません ^^; 一念発起してやってみました。 まずエラーは Emacs の src/macim.c のコンパイルで出てくる次のもの。 macim.c:350: error: ‘kCaretPosition’ undeclared (first use in this function) macim.c:350: error: (Each undeclared identifier is reported only once macim.c:350: error: for each function it appears in.) macim.c:354: error: ‘kRawText’ undeclared (first use in this function) macim.c:358: error: ‘kSelectedRawText’ undeclared (first use in this function) macim.c:362: error: ‘kConvertedText’ undeclared (first use in this function) macim.c:366: error: ‘kSelectedConvertedText’ undeclared (first use in this function) で、kCaretPosition その他は /System/Library/Frameworks/ApplicationServices.framework/ Frameworks/AE.framework/Headers/AERegistry.h に #if OLDROUTINENAMES でくるんだ形で定義されていて、それゆえ件の定義 があればコンパイルできるということですね。 > OLDROUTINENAMES を不要にするのは簡単そうですが、互換性のためにわざとこ > うしているのでしょうか? 僕の手元には Tiger しかないので、Panther との互換性はよくわかりません。 # うーむ、肝心のところで腰砕け :-( moto kawasaki <moto****@kawas*****>