Giraffe+ 0.7.13.1570

Downloadページへ ADD: Script\MoveWindowToOtherMonitor.giraffe ADD: Script\settings\hotkey\CenterWindowInMonitor.giraffe ADD: マルチモニタ環境のサポート FIX: AutoResizeがサブモニタで機能しない MOD: view-file-in-list.giraffeにおいて、まずUTF…

Giraffe+ 0.7.12.1569

Downloadページへ ADD: DataDefault/Giraffe/RegisterStartup.giraffe ADD: 忘れてた小数関数、Number.round, trunc ADD: MFC_CPaintDC, ClientDC, WindowDC FIX: ListBoxのデータがスレッドで壊れる可能性がある FIX: MAX_PATHを超えるpathへのアクセスで強…

Giraffe+ 0.7.11.1563

Downloadページへ ADD: 長いbreak可能な実行中(view-and-sort and find)、Editのアイコンの色を赤に。進行状況はF6キーで表示されるStatusウインドウで確認できる。 ADD: Method.functionize, 第一引数をselfとして使う関数を返す。 ADD: Object.empty?(eval…

Giraffe+ 0.7.10.1558

Downloadページへ FIX: ITEMIDLIST display string cacheがフォルダ優先になってない FIX: SetListItemがマルチスレッド時にリストのデータを壊すことがありえる

Giraffe+ 0.7.9.1556

Downloadページへ ADD: IFileOperationをContainer/String.ifo_copy/move/delete/renameとして ADD: Istream.get_timeとOstream.put_time, std::get_timeとstd::put_timeを使って ADD: String.dir/ddir, ITEMIDLISTの場合にiidl_dir/ddir self、pathの場合に…

Giraffe+ 0.7.8.1523

Downloadページへ ADD: Method Literal Closure, ``[ ] が `[ ].closure2 にパースされる ADD: Method.->, f$.-> g$ が `[g(f)] を返す FIX: AutoResizeが中心固定に設定されてるときに長いオートコンプリートでメインウインドウが右に移動する FIX: オート…

Giraffe+ 0.7.7.1500

Downloadページへ FIX: オートコンプリートキャンセル時のメモリリーク FIX: ショートカットデータキャッシュがデータに複数スレッドからアクセスしクラッシュすることがある MOD: Boehm GC 7.4 MOD: Boost 1.55 MOD: Listbox.Priority は次の自動ロード時の…

Giraffe+ 0.7.6.1469

Downloadページへ ADD: Context.set_global FIX: Object.return_from が直近の関数からreturnできない FIX: Shell.GetDir が ITEMIDLIST で機能しない FIX: settings/setup/BreakWithAnyKey はbreakに使われたキーをrepostすべき。そのキーのイベントがbreak…

Giraffe+ 0.7.5.1466

Downloadページへ ADD: settings/setup/(AC)Breakable, オートコンプリートをBreak可能に ADD: settings/setup/BreakWithAnyKey ADD: settings/setup/FindWithMigemoGrouping ADD: settings/setup/~(AC)FindWithSlash, オートコンプリート時に、c:\dir/file …

Giraffe+ 0.7.4.1454

Downloadページへ ADD: settings/setup/(HISTORY)AvoidRepetitionCompletelyAndMove FIX: Windows XPにおいてLL Hotkeyが機能せずGiraffe+が起動できない FIX: settings/setup/~(AC)AddHistory で描画がちらつく MOD: ショートカットファイルのデータを初め…

Giraffe+ 0.7.3.1447

Downloadページへ ADD: window-menuに"Copy the current directory" ADD: settings/setup/(AC)SelectFirstItemIfNotMatched (ListTextOverrideEditTextが有効な場合に有効にすべき。デフォルト設定では両方有効) FIX: Giraffe.Event.clearがMouseのslotメソ…

Giraffe+ 0.7.2.1433

Downloadページへ ADD: Block.+ ADD: Global mouse event (Giraffe.Event.Mouse.global-ld or so) ADD: Method.bind_self ADD: Mouse wheel event (Giraffe.Event.Mouse.edit-wheel) ADD: Object.new (Object.cloneのシノニム) ADD: Settings/setup/SwitchWi…

Giraffe+ 0.7.1.1404

Downloadページへ ADD: 最終更新日時によるファイルソート (Config.List.SortModeかEvent.GetSortModeの戻り値の配列の初めの値) FIX: Balloon の高さが無駄にちょっと長い FIX: Balloon がWindowsテーマ無しの場合にテキストの位置がずれる FIX: SetTextUnd…

Giraffe+ 0.7.0.1402

Downloadページへ ADD: Windowsのテーマも考慮したウインドウフレーム (settings/setup/(DRAW)WindowsDefaultFrame) ADD: migemo.dll/dict (settings/EnableMigemoを設定無しで使えるように) CANCELED: FIX: Migemo が非日本語ロケール環境で使えない (ロケ…

関数パターンマッチングのまとめ

gs

オブジェクトリテラルも使えるようになって、もう大きな変化も無さそうなのでまとめます。 基本 シンボルはそのままローカル変数になります。 `x[ x ].(1) //1引数の数が合わなければエラーになります。 `x[ x ].() //error仮引数を書かなければ、引数ゼロを…

Giraffe+ 0.6.28.1343

Downloadページへ ADD: istreamに定数を渡すことでscanfのフォーマット文字列のように ADD: 引数pattern matching (destructuring) でObjectリテラルを使えるように ADD: tail_recur (名前callのみサポート(しかも遅い(stack overflowしないだけ))) FIX: Get…

Giraffe+ 0.6.27.1341

Downloadページへ FIX: CWnd::GetFont は使うべきでない。非同期のため。 FIX: 非同期描画中にリストボックスをスクロールすると描画がおかしくなることがある。

Giraffe+ 0.6.26.1304

Downloadページへ FIX: マルチスレッド描画でスクロールとマークをするとマークアイテムが非マークに表示されることがある FIX: スレッド描画中にリストアイテムを変更すると回復不能のエラーになる MOD: Config.*.Thread.Enable にマイナス値で描画のsingle…

スレッド描画のまとめ

アイコン取得やネットワークパスのタイムアウト待ちなどで入力できない状態になるのを回避するために、描画をスレッド化できるようにしています。ネットワークパス等を使ってないなら、そんなに深く考える意義のあるものではありません。 描画される部位は、…

Giraffe+ 0.6.25.1232

Downloadページへ ADD: xyzzyのgiraffe-mode.lのF4でメソッド定義ファイルを開く ADD: Giraffe.Edit.OnSetText, SetTextのText変更後の処理 ADD: Object.not! ADD: Window.FindRegex ADD: Window.FindWild2, FindRegexをワイルドカード->正規表現変換して呼…

Giraffe+ 0.6.24.1222

Downloadページへ ADD: Array.to_Block ADD: Block, Method.resolve3, 全ての名前解決をする。デバッグ用。 ADD: Block.to_Array FIX: ShowMenu でdynamic sub menuの戻り値のArrayが解放されることがある MOD: Block リテラルは expr_block でなくてもいい

utf8everywhere.orgを読んで

UTF-8 Everywhere インターネットにおいてはそりゃあそうだろうと思いつつ読んでみたら、WindowsにおけるC++プログラミングの話でなかなか興味深かった。 要約すると、 UTF-16は固定長ではない UTF-8を使ってもパフォーマンスコストは無い というところか。 …

Object Invocation

gs

シンボルに続いて()があるか無いかと、そのシンボルが指すものがMethodかどうかで、インタプリタの解釈が少し変わります。 Method 非Method x x() x x() x() x.invoke() Methodの場合は同じですが、非Methodの場合は、()があればinvokeが呼ばれ、無ければそ…

Giraffe+ 0.6.23.1215

Downloadページへ ADD: COMPILE_TIME_EVAL, コンパイル時Context.eval ADD: Container.irange, {element index} ジェネレータ ADD: settings/key/ShowCurrentModeKeys, mode-localなキーイベントのメニュー FIX: Migemo_grouping は最初か空白に続く最後のハ…

ContainerのC++のSTLのalgorithm系メソッドについて

gs

func(begin, end, ...)は、func(self.begin, self.end, ...)となる 破壊的なものは!が後置、それの付かない版はコピーを返す ArrayやMapの値は置き換え(self.[index] = value)でなく書き換え(self.[index].= value)になる for_eachはeachがあるので無し。eac…

Giraffe+ 0.6.22.1208

Downloadページへ ADD: Object は + と - を ++ と -- を使って定義すべき ADD: Object.negator, Method.notのシノニムでobject invocationをサポートする ADD: Object.to_Range, Range.make_exclude& self.begin, self.end. ADD: Slot_value_type は :key.=…

コンマとセミコロン

gs

また変に複雑化しました。セミコロンを式の省略可能なセパレータとすることで、&による括弧省略記法時に、どこまでを引数とする、というのを表現できるようにし、それならコンマも書きたければ書けるものにと、 コンマとセミコロンを、省略可能な、C系の言語…

Giraffe+ 0.6.21.1201

Downloadページへ ADD: 省略可能な引数コンマと終端セミコロン FIX: Giraffe\ManualとメインメニューのManualが動作しない MOD: Container/String.shell_menu はverbの数値を返すべき MOD: EvalText (デフォルトでF1) は入力テキストが空白の時に説明を出す…

WinampのJump To FileでMigemoを使う

バイナリ ソース*1 Jump To File (Extra)のソースがあれば10分で終わるようなことだったんですが、見つからなかったので自分で作りました。Enterによる再生のみサポートしています。 以下、Readmeのコピー。 概略 WinampでJキーを打つと出るJump To Fileダイ…

SwitchWindowのまとめ

もう大した変化も無さそうなのでまとめます。 設定ダイアログの、Settings/hotkey/SwitchWindowです。SwitchMDIWindowもMDI子ウインドウに使うというだけで、操作法等は同じです。 基本的な目的は、Alt+Tabと同じことを文字入力ですることですが、複数のウイ…