2010-01-01から1年間の記事一覧

Giraffe+ 0.6.9.959

Downloadページへ ADD: Method.closure2, 継承ローカルContextのスロットのみを保持する ADD: ShowMenu2はアイコンを表示できるべき *1 FIX: ShowMenu2のスレッドはGCに登録されるべき FIX: オートコンプリート中にスタックオーバーフローがたまに起きる*2 M…

Giraffe+ 0.6.8.943

Downloadページへ ADD: @scriptのスクリプトをキャッシュ*1 FIX: call fileのContextの継承call methodのそれと一致してない FIX: settings/setup/(DRAW)InvertAllColorが機能しない MOD: Boost 1.45.0 MOD: method call時のスタック使用量が減らせる*2 MOD:…

Giraffe+ 0.6.7.915

Downloadページへ ADD: C++ tr1 algorithm (all_of, any_of, none_of) ADD: MFC_CRect.MoveTo(X, Y and both) ADD: Method.invoke_without_clone_context ADD: *_without_clone_contextのシノニムとして*_inlineを定義 ADD: Migemo Grouping時、ダブルクォー…

結局Context lookupはv0.5からv0.6でどう変わったのか

gs

0.6になって以降、少しずつ変更して来ましたが、さすがにもう変化は無さそうなのでまとめておきます。 invokeは同じなので解説しません。以下の説明はcallの場合(関数を名前で呼んだ場合)のみに有効です。 0.6でContextの継承が無くなりましたが、それではロ…

JSONもどき

gs

古い情報です。Giraffe+ 0.6.13.1042よりオブジェクトリテラルがサポートされてます。 配列とブロックがあって、ブロックが値の位置に現れた場合に、オブジェクトになるっていうJavaScriptの文法が重要です。 gsは配列とブロックの記号が入れ替わってますが…

GCとiterator

Giraffe+ 0.6.5.899で、 get-cb.filtered(`c[c.isalpha]).flushがaccess violation。 get-cbはクリップボードの文字列を返す。filteredはfilter_iteratorのRangeを返す。flushの時点で、get-cbが返したオブジェクトがGCに開放されてる可能性がある。実際には…

Giraffe+ 0.6.6.900

Downloadページへ ADD: Range.as_String FIX: get-cb.filtered等がGCによりaccess violationを起こす MOD: msgのダイアログの一部が画面外に出そうな時に見えるように移動すべき MOD: `*[ ]のみならず、`a *[ ]が`a discard.@[ ]のように動作すべき

新しいgoogle-modeの設定のまとめ

mod keyごとのURLを設定できるようになりました。URLにはクエリーがUTF8でエンコードされ追加されます。URLにメソッドを置くことで、URLの実行ではなく、メソッドのinvokeになります。 デフォルト設定: 無し: http://www.google.co.jp/search?q= SHIFT: http…

Giraffe+ 0.6.5.893

Container.[pos len]がRangeを返すようになりました。selfと同じ型が返る想定のスクリプトは書き換えが必要です。 google-modeの設定方法が変わりました。Giraffe.GOOGLE_URLを設定してる場合は、書き換えが必要です。 Downloadページへ ADD: Boost.Range v2…

新しいsliceのまとめ

gs

従来の、selfと同じ型を返すslice([pos len])がslice_safe({pos len})になり、sliceはRangeを返すようになりました。 大きな配列や文字列を扱う場合にかなりの高速化とメモリ使用量抑制が期待できますが、注意点もあります。 Rangeに関する注意 sliceに限ら…

Giraffe+ 0.6.4.885

Downloadページへ ADD: Istream.getline2, \rを含まない文字列を返す ADD: settings/key/RenameFileWithSemicolon, セミコロンを含むファイル名を変更できる ADD: settings/key/SwitchState, Giraffe+のウインドウの状態を切り替える ADD: settings/setup/Do…

Giraffe+ 0.6.3.861

Downloadページへ ADD: Container.*, selfのコピーに+=を引数回繰り返したものを返す ADD: Object.=, "self = self arg"の意味 ADD: Object.=, "self = arg self"の意味 ADD: Object.get_safe_self_aware, get_owner_safe_self_aware ADD: Object.make_call_…

Chromeの拡張をいじった(last-mod: 2010-06-18)

Chromeの拡張を一通り試して、それなりに使ってみて、動作しない場面があったり、欲しい機能が無かったりしたので、ちょっと自分でいじりました。 Downloadページへ 以下、やったこと。 全部のmanifest.jsonのfix GMailで動かない(all_frames = true) file:/…

IE_INCRE.DLLを更新

ダウンロードIEのセキュリティ機能が原因でmayuが落ちることの修正と、あまり役に立ちそうにない機能追加です。 アクティブなウインドウのIEコントロール上で引数の文字列をスクリプトとして実行するEvalと、スクリプトファイルをロードして実行するLoadです…

Giraffe+ 0.6.2.847

Downloadページへ selfが省略可能になり、0.6で壊れた互換性が少し回復しました。 ADD: context call self lookup*1 ADD: Settings/setup/google-mode.com, Google ModeのURLをgoogle.comにロケールを無視してする ADD: index_safe, .{}で呼び、アクセス不能…

簡単になったマークアイテムの色設定

Event.GetIconColor等が複雑なので、マークだけのために全部書き換えなくていいように、Giraffe.GetMarkedIconColorとGiraffe.GetMarkedTextColorを呼ぶようにしました。以下のサンプルの最後の引数stateはWindowsのオーナードローのDRAWITEMSTRUCT::itemSta…

String Call

gs

ver0.6.2より、文字列リテラルをシンボルとして扱えるようになりました。 "abc": 0 -> def("abc" 0) "abc"() -> call("abc") "!#{cmd}"() //cmdの戻り値の登録アイテムを実行旧言語のリテラルである無名括弧と混ぜて使ってると意図しない動作になります。こ…

Context Self Lookup (last-mod: 2010-06-29)

gs

ver0.6よりローカルコンテキストに並列に定義されたメソッド同士が呼び合う場合、selfを使う必要がありますが、ver0.6.2よりContextがcallされた際にselfも探索対象になったため、context callは書き換える必要はありません。ver0.6.3よりcallだけでなくset…

新しいindexのまとめ

gs

ver0.6.2から変わりました。 .{n}はindex_safe。アクセス不可の場合にNilを返す。index(.[])はエラーになる。Mapの場合はindexは新しくmappingするが、index_safeはしない。 {0 1 2}.{1} //1 {0 1 2}.{3} //Nil {0 1 2}.{-1} //2 {0 1 2}.{-3} //Nil.{n} = v…

Giraffe+ 0.6.1.844

Downloadページへ 追加: 不完全複数フォルダ内シェルコンテキストメニュー*1 追加: $~, Regex_(match|iterator).dollarsが定義する。*2 追加: Regex_match.prefix, suffix, format, ==, !=, at, index*3 追加: Interpreter.required_files*4 追加: String_se…

Alt+Tabに列挙されるウインドウの基準

検索しても中途半端なものしか見つかりません。自分であれこれ試行錯誤した結果、簡潔にまとまったので、公開しておきます。Windows XPで確認してます。Windowsのバージョンによって違うということは無いと信じたいところです。 基本の3条件 ウインドウが下…

タスクトレイの再生成のイベント化

バージョンアップ内容に書くのを忘れてたので、個別記事化。 Explorerが強制終了等したときに、タスクバーが復活し、それに対応しているタスクトレイを使ってるアプリは再登録しますが、してくれないものがあります。そういうものを手動で再起動させるのが面…

Giraffe+ 0.6.0.836

互換性が少し壊れたのでマイナーバージョンナンバーが増えました。何か便利な機能が付いたとかそういうのじゃないです。詳しい話はhttp://www.ric.hi-ho.ne.jp/giraffe/giraffe/doc/trap_of_05_to_06_jp.txtです。 Downloadページへ 追加: Context.=, selfの…