きりかノート 3冊め

おあそびプログラミング

rubycocoa

RubyCocoa 今日のコミット 2013-11-16

テーブルビューのスクロール時にクラッシュすることがあるの件の続き。 ということで、Objective-C -> Ruby オブジェクトのキャッシュを無効にする方法を導入した。 OSX::ObjCIDに#hash, #eql?, #== を定義。(r2489) OSX::ObjCIDから#cloneを削除。(r2490) O…

RubyCocoa 今日のコミット 2013-11-07

Rubyのドキュメントを追加。(r2483) NKF関連の機能を削除。(r2484, r2485) 後者についてちょっと補足。RubyCocoaにはNKFを使ったユーティリティな機能があって、そいつらを削除した。具体的には以下のメソッド。 OSX::NSString.guess_nsencoding OSX::NSStri…

RubyCocoaアプリでTableViewのスクロール時に落ちることがある問題の調査

もうずいぶん前から調べてはいたんだけど、一定の結論に達したので記録。 調査結果 現象としては、GCされたRubyのVALUEを参照していることが原因。 落ちる場所は一定で、ovmix_ffi_closure()のrb_obj_kind_of()。 RubyCocoaでObjective-CのidとRubyのVALUEの…

RubyCocoa 今日のコミット 2013-11-04

APIドキュメント(の器)を用意した。RubyCocoaも10年を超える時を経て、だいぶコードがカオスな感じになっている。以前からコード整理したいなあと思っていたのと、合わせてリファレンスが要るよね、ということで今日は後者の作業。ドキュメント書きながら外…

RubyCocoa 今日のコミット 2013-10-28

importがおかしいので直した。 (r2470) フレームワーク内で形式で#importしてるとこがあったので直した。そこは"foo.h"じゃないと開発中のじゃなくて、インストール済みのフレームワークのヘッダを見に行っちゃうじゃん。 packageに--signオプションを追加。…

RubyCocoa 今日のコミット 2013-10-27

リリースしたら手を入れようと思ってたとこなどいろいろぶっこんだ。コミットの単位小さめにしてるのもあるけど、記憶にある限りでは自分の1日のコミット数としては最大かも。 ReadMeを移動してmarkdownのテキストを設置。 (r2454, r2455) ruby-2.0対応用の…

RubyCocoa-1.0.7 リリース!

しました。中身的にはあんまり変わってなくて、明確に修正したのは10.9 Mavericksでオブジェクト変換がおかしいことあがある場合くらいで、あとは本体に問題はないけどMavericks上ではテストが通らないとかですかね。 https://sourceforge.net/projects/ruby…

RubyCocoa 今日のコミット 2013-10-13

configで--sdkrootしないときextconf.rbでエラーになるのを修正。 (r2435) インストーラ(.pkg)の作成にproductbuildコマンドも使えるように。 (r2436, r2437, r2438) テストは流してたんだけど、そろそろ10.9でもパッケージつくってみるかなとGMで作業しよう…

RubyCocoa 今日のコミット 2013-10-08

SDK使用時、ffiやlibxml2のヘッダファイルの場所が適切に指示されてなかったのを修正 (r2431) テストの入力ファイルを変更 (r2432) Project Builderのテンプレートインストール用の残骸があったので削除 (r2433) (10/23 追記)Mavericksがリリースされたので…

RubyCocoa 最近のコミット 2013-10-07

git svn dcommit忘れてたのでまとめて。 String#readでarrayを期待してるところでString#readlinesを使うように (r2428) ぶっちゃけruby-2.0で試してたらエラーになったので直した。テストなんかでrequire_relativeに直す必要があるところもあるんだけど、そ…

RubyCocoa 今日のコミット 2013-09-16

今日もコンパイル時の警告をつぶしてた。 10.6以降で使わない関数をifdefでコンパイルしないようにした (r2425) isaじゃなくてClassにして使えとの警告[-Wdeprecated-objc-isa-usage]に対処 (r2426) test --arch=i386とかで一部指定のアーキテクチャで実行さ…

RubyCocoa 今日のコミット 2013-09-15

今日はコンパイル時の警告をつぶしてた。警告少ないほうが開発時に問題見つかりやすいしね。 ログの書式が間違ってたのを修正 (r2421) 書式関係の警告[-Wformat]を修正 (r2422) VALUEのポインタをログに出す時に(void *)のキャストを追加。 SELを(char *)で…

RubyCocoa 今日のコミット 2013-09-10

ぜんぶのテストが10.9 DP7でpassするよになった。ランタイムのコアとしては10.9 readyになったと思う。はじめにSEGVやテスト失敗がでまくったときに覚悟したほどヤバイ問題が起きてなくて助かった。。 tc_passbyrefでSEGVする問題を修正 (r2419) tc_passbyre…

RubyCocoa 今日のコミット 2013-09-06

またずいぶん空いちまったね。 testの--test-args=をTESTS=でも代替できるように。 (r2416) オブジェクト変換表のbsBoxedにエンコーディング "^v" が入ってたときの対処。 (r2417) 前者はずいぶん前に追加したんだけど、名前がすぐに思い出せなくなるのでrub…

RubyCocoa 今日のコミット 2013-03-16

課題に手を付ける前に、リハビリとして1.9対応の邪魔になりそうなとこの整備とか。sf.netへのgit svn dcommitまじ遅いっす。 Config → RbConfig (r2412) osx_ruby.h, osx_intern.h (r2413) 前者は説明するまでもないけど、後者についてちょっと補足。RubyCoc…

RubyCocoa 昨日-今日のコミット standaloneifyの修正の続き 2012-11-01

まだおかしかった、、、standaloneifyが機能するためには 実行ファイル(YourApp.app/Contents/MacOS/YourApp)に渡したオプションによって動作が切り替えできる rubyスクリプトを渡したときにはrb_main.rbでなく、そのファイルが$0として実行される(ruby_run…

RubyCocoa 今日のコミット RBApplicationInit()の修正 2012-10-12

1.0.5で導入した--rubycocoa-ruby-optが古いRBApplicationMain()のみ有効でRBApplicationInit()+NSApplicationMain()のときに機能していなかったので直した。(r2404) sample/以下のプログラムでRBApplicationMain()のものがたくさんあったのでRBApplicationI…

RubyCocoa 今日のコミット standaloneifyの修正 2012-10-11

うん、まあ、あれです。確認不足ですね、ほんとゴメンナサイ。standaloneify.rbが動かないケースがいくつかあったので直しました。 通常のXcodeでのビルド等ですでにアプリにRubyCocoa.frameworkが組み込まれているとき動かない問題を修正 (r2401) アプリがg…

RubyCocoa 昨日-今日のコミット テンプレートの導入スクリプト作成 2012-10-07

本体と同様に、.pkgのインストーラをつくるつもりだったんだけどユーザのホームディレクトリをインストール先とする方法がわからなかったので次のように。 インストーラにテンプレートを含める。場所はとりあえず/Developer/Documentation/RubyCocoa。 同梱…

RubyCocoa-1.0.5 リリース!

しました。前のバージョンから1ヶ月ちょっとと今回は早かったですね!http://sourceforge.net/projects/rubycocoa/files/RubyCocoa/1.0.5/ リリースノート NEWSファイルから抜きだし。 == 1.0.4から1.0.5の変更点: 2012-10-07 === 改良 * Xcode 4.2-4.5に最…

RubyCocoa 今日のコミット 2012-09-25 standaloneifyの動作を調整

インストーラ作成時に背景画像を入れないように (r2386) retinaの画面で見るとちょっと残念な感じなので。画像を作り直すほど必要でもないし。 standaloneifyのRubyCocoa.frameworkの優先順を入れ替え (r2387) standaloneifyに新しいオプション --framework …

RubyCocoaのウェブサイトを再作成した

RubyCocoaのウェブサイト(http://rubycocoa.sourceforge.net)はここ何年か死んでたんだけど、ざっと作り直して最低限の情報は見られるようにした。以前のサイトはPHPのCMS使ってたんだけど、そのCMSが使ってるSourceForge.netのMySQLのアクセス先が変更され…

RubyCocoa 今日のコミット 2012-09-17 standaloneifyが動くように

Xcode 4の謎実行パラメータに付き合わないために、1.0.4ではRubyCocoa自体はコマンドラインパラメータの解釈をせずにNSApplicationMain()にそのまま渡すようにした。んだけど、その副作用でstandaloneify.rbが動かなくなってしまった。standaloneify.rbは実…

テーブルビューのスクロールで落ちることがある件の調査 (2)

プロジェクトテンプレートが片づいたので、例の「NSTableViewをスクロールしているとEXC_BAD_ACCESSで落ちる」件の調査。前回調べたとき(2012/04)までで、 落ちる場所は objc/OverrideMixin.mのovmix_ffi_closure()のrb_obj_is_kind_of() ここでObjC側から…

RubyCocoa ここ数日のコミット 2012-09-08 テンプレートのXcode 4.4化

先週のCocoa勉強会の発表の調査結果を生かして、RubyCocoaのプロジェクトテンプレートのXcode 4.4化が完了した! 元のXcode4.xは4.1としてコピー(r2361, r2366) Ruby-Cocoa Application Baseは削除(r2363-r2364) Xcode4.xの4.4化(r2365-r2372) Class P…

RubyCocoa 今日のコミット 2012-08-27

ネストしたフレームワークのbridgesupportファイルを読み込むように (r2353) NEWS, NEWS.jaファイルを更新 (r2354) misc/bridgesupportをsvn:externalsから除外 (r2355) バージョンを1.0.4に設定 (r2356) 1つめと3つめについて、ちょっと説明。 ネストしたフ…

RubyCocoa-1.0.4 リリース!

しました。前のバージョンから約1年ぶりです。http://sourceforge.net/projects/rubycocoa/files/RubyCocoa/1.0.4/ リリースノート NEWSファイルから抜きだし。 == 1.0.3から1.0.4の変更点: 2012-08-27 === 修正 * RubyCocoa-1.0.3の初期化時のメモリリーク…

RubyCocoa 今日のコミット 2012-08-26

これ書くのまた久しぶりのような。@casualconcさんから「NSBundle.loadNibNamed_ownerがLion以降でエラーが出る」との連絡があったので調査して修正。ほんといつもありがとうございます&ご迷惑おかけします。ついでに全サンプルの動作確認したりとか。今日…

テーブルビューのスクロールで落ちることがある件の調査

もうずいぶん前に報告もらってるんだけど未解決。再現することは確認したのでもっと早く直せると思ったのですが手こずっています。前のメモが見つからなかったので今日の作業を記録。 現象 NSTableViewをスクロールしているとEXC_BAD_ACCESSで落ちる 必ず起…

RubyCocoa 10周年!

9月ごろにChangeLogながめてて気付いたんだけど、 2001-11-26 FUJIMOTO Hisakuni <hisa@...> * release 0.1.0[ruby-list:32552]ということで、本日はRubyCocoaが公開されてから10周年でございます。パチパチ!とくにお祝いとかすごい発表とかはありません。 RubyCocoa</hisa@...>…