/ 最近 .rdf 追記 設定 本棚

脳log[2017-01-13~]



2017年01月13日 (金)

最終更新: 2017-10-03T19:34+0900

[WR250R] 前のバイクではおなじみの道(今のバイクでは初めて)と、今でもおなじみの道。

20170113:CAR_20170112124050.mp4 (5分, 107MiB)

20170113:CAR_20170112150408.mp4 (5分, 130MiB)

何も起こりません(起こったら困る)。見どころもありません。ただの日常です。

だいたい何を考えてるかというと、コーナーで向かいから視界を塞ぐような大型車が迫ってきたら怖いな、いきってセンターを割り込んだ車が突っ込んできたら怖いな、ハンドルを回すのを面倒くさがったドライバーがセンターを越えてきたら怖いな、そこが右コーナーで、ライダーの頭が対向車にぶつからないようにアウトにふくらんだときにタイヤが落ち葉や砂利を踏んだらこけそうで怖いな、そうならないために車体を立てても曲がれるだけの余裕をもったスピードで走れているだろうか、コーナーで一瞬先の目の前にエンコ(※初めて使ったけど通じるんだろうか)した車が現れても止まれる速さで走れているだろうか、そのとき後ろの車は反応できるだろうか、というようなことをずっと考えてる。

時にタイヤ1本分も余裕のない際際まで対向車を避けるのは、他人の責任で事故に遭うのが耐えられないから。壁際は安心できる。左右を挟まれた真ん中の車線なんて絶対に走らない。

車を運転するときは、(1)安全であると確認したエリア、(2)安全ではない(他者がいる)と確認したエリア、(3)どちらとも確認できていないエリア、の3つに視界を塗り分けるようにしてる。大事なのは3番で、ぼんやりしてると脳みそが勝手に未来図を外挿(※最近仕入れた単語。補間と対にして使いたい)してしまって、教習所が言うところのだろう運転になってしまうところを、意識してまだ確認できていないことを、岩が落ちていたり壁が建っていたり奈落が広がっていたりしても不思議ではないことを、絶えず確認する必要がある。


2017年01月11日 (水) お酒といえば冬にアルコール入りのフルーツジュースみたいなのと、ワイン(こっちは甘くても気持ち悪いだけでぶどうジュースにはならないので、辛口とかフルボディとか書かれたのを選んでちょっとだけ後悔する。どうしてあいだを取らないのだ……。たぶんアイスワインがベストチョイス)を飲むだけで、そういうのはパッケージに女子部とか書かれてて、そうか俺は女の飲むようなものが(そう思われてるものが)好きなんだな、なんで売り手がわざわざ対象を絞ろうとするんだ、などと思いながら気にせず八朔とか柚子とかミカンとか桃の味のを買うんだけど、今年は抹茶のお酒(やっぱり甘いやつ。何気なく書いたけどそのままの商品名だった)を買ってみた。初めて意識したんだけど、これはフルーツ系(果汁80%+醸造アルコール)とは違って清酒がベースだった。うん、こっちが好き。もう一本買ってきた。在庫0。補充されるだろうか。■いきおいで以前ウイスキーボンボンを買ったところ(www.maruakaseika.co.jp)で日本酒のボンボンを買ってしまった。こういう事情があって(「昔懐かし、あのウイスキーボンボン | フード&ドリンク絶滅倶楽部 | クールシニアマガジン」)、今普通に買える近いものはバッカスだけだけど、チョコレートが甘すぎるしべたべたするしで大量に食べられないのがいただけない。あと、慣れてしまったのかのどを通るときに熱い刺激を感じることがなくなってしまったのも残念。


2017年01月06日 (金) 冬は水分の出入りが控えめなせいか(乾燥しがちで水分摂取を心がけていてさえも)、体表からの分泌物が煮詰まりやすいんだよね……。半日で頭がべたつくし、部屋着や布団カバーが臭い出すのも早い。布団に顔をうずめておっさんの臭いがするなんて、気がつきたくないんだよ。知りたくないんだよ。


2017年01月05日 (木) 何年間も、下手したら10年以上毎日使ってるものを安物で済ませたくないよね。お箸とごみ箱。部屋にごみ袋はあってもごみ箱はないので、キッチンの踏んで開けるごみ箱のこと。蹴とばさないと閉まらないんだよ。爪楊枝を挟んでちょっと角度を制限したりもするんだけど。■福井県は眼鏡だけじゃなくてお箸もあるのか。「若狭・小浜 お箸のふるさと館ホームページへようこそ」あと原子力発電所も。■原発っていうと原発性~を連想するので省略なしで書いた。核発電でもいいよ。本態性~っていうのは、よくわからんけど~(こういう症状がある)って意味らしい。死因は心不全(※ただし死んだから心臓が止まったのか、心臓が止まったから死んだのかは区別しない)に通じるものがあるな。nuclearという単語を見ていて……、ヌクレオチドって語源が共通なんだろうか(そりゃそうだ。核酸の素だもの)。nuclearと atomicの違いって?■眼鏡(チタンフレーム)と箸の奇妙な融合の結果がチタン箸なんだろうか。食事に使うには攻撃力高すぎじゃない?■安物だから、で否定することはできない。それを確認する前にすでに気に入らなかった。(1) 先が太い。(2) 先っぽの滑り止めが荒くて口中で悪目立ちする。(3) 柄がプリントシールを張り付けたようなもので段差がある。どうしてあってもなくてもどうでもいい部分(2と3)にしょうもないものを足してささやかな価値を毀損してしまうのだろう。


2017年01月03日 (火) [Vista] 数日前から UACがおかしい。自分のアカウントは標準ユーザーで、別に管理者のアカウントが作ってあって、UACダイアログが表示されたときは管理者のパスワードを入力していた。それがこの前から UACダイアログに管理者ユーザーの他に自分の、標準ユーザーのアカウントまでもが表示されるようになった。■自分のパスワードを入力しても管理者ではないので UACを突破することはできないのですよ。タスクマネージャではすべてのユーザーのプロセスを表示することができないし、サービスコンソールではサービスを停止したり開始したりできないし、regeditでは HKLMの下層を変更できないし、リソースモニタは……特に違いは生じないけど。■これまで通り管理者のパスワードのみを要求してくる UACダイアログもある。左に例を挙げていて気がついたのだけど、標準ユーザーでも(制限があるにせよ)利用することができるプログラムに対しては UACで標準ユーザーと管理者ユーザーのパスワードが、管理者にしか起動することもできないプログラムに対しては UACで管理者のパスワードのみが要求されるみたい。右クリックメニューで管理者として実行を選んだ場合でも標準ユーザーと管理者の両方のパスワード(のうちの1つ)を要求してくるのだ。■不便だ。10年来の習慣を今から改めろと言うのか。何度 UACで管理者のパスワードを自分のアカウントに対して入力して弾かれたか。そして3回間違えてロックアウトされる。タスクマネージャだって対応できていない。すべてのユーザーのプロセスを表示するボタンは一度 UACを出して通過した後でなお管理者に昇格できていない可能性を想定できていない。■パスワードを入力するぐらいはなんでもないけど、今になってアカウントを選択してからパスワードを入力することを要求されるのは耐え難い。■いわゆる「何もしてないのに壊れた」案件、なのかな。新規の標準ユーザーを作ってみたら UACプロンプトにその標準ユーザーは現れない。じゃあなぜ俺は現れる? 参考>「UAC グループ ポリシーの設定を定義する」 俺は「追加特権 (Backup Operator など) を持つ標準ユーザー」だと思われているのかもしれない。>net user 俺 によれば Event Log Readers/HelpLibraryUpdaters/Netmon Users/Performance Log Users/Performance Monitor Users/Remote Desktop Users/Users というローカルグループに属しているらしい。ローカルセキュリティポリシー>ユーザー権利の割り当てによれば名指しで システムパフォーマンスのプロファイル/メモリ内のページのロック/リモートコンピュータからの強制シャットダウンの3つが許可されている。その他にもシンボリックリンクの作成やらなにやらを Users に対して許可していたりする。何かの割り当てが引っかかったのだろうか。最近(つまり先月の Windows Updateに伴う再起動以後に)変更しただろうか。■とりあえず権利の割り当てと参加グループを変更してはログオフを繰り返して試行錯誤してたら UACに名前が出てこなくなった(最終的になんの権利も放棄していないのに!)。めでたしめでたし?


2016年12月28日 (水) [SakuraEditor] タイプ別設定のカラータブのアクセラレータキー &C がかぶってるんだよね……。■それとこれは Windows(Vista)に固有なのかもしれないけど、&> に対しては [Alt]+[.(>)]でいけるんだけど、&< に対しては [Alt]+[,(<)]ではダメで、[Alt]+[Shift]+[,(<)]でないと効かない。たしかに < の文字を入力するためには [Shift]キーが必要だけどさ、この非対称は?■あとタイプ別設定のキーワードヘルプタブの「ヒットした次の辞書も検索(&A)」だけが他と違ってフォーカスするだけでチェックが切り替わらない。■グループ化されたラジオボタンに対するアクセラレータキーはグループに対して1つだけ割り当てることにしたらすっきりすると思うんだけど、今更かな。


2016年12月26日 (月) [SakuraEditor] ダイアログのフォントがMS Pゴシックの 9(単位はポイント?)なんだけど、これを刷新したい。検索文字列だとか、タイトルバー文字列のフォーマットだとか、タイプ別設定の拡張子リストだとか、特に入力欄の文字が米粒で、ノートパソコンのコントラストの低い液晶で判読できないのがつらい。■リソースファイルっていうのは(仕組みは知らないけど)良くできたもので、「FONT 9, "MS Pゴシック"」という行を軒並み「FONT 12, "Meiryo UI"」に書き換えるだけで大体はうまくいく(みたい)。ひと手間必要だったのはオーナードローのリストボックスで、それも WM_MEASUREITEMを処理するだけのこと。■ネガティブ要素はいろいろあるよ。XPと Vistaにはデフォルトで Meiryo UIがインストールされていないとか、設定ダイアログの縦が 730ピクセル程度(@96DPI)になるせいで、800×600程度の画面(最初のパソコンの 15インチブラウン管モニタがこれだった)では使えなくなるとか。でも「自分の」環境では問題がないのがわかっていれば、もう戻れないくらい見違えるんだよ>MeiryoDialog.png(118KiB)。■徹底するならツールバーとかタブコントロールのタブの文字サイズを変更する手段を講じる必要があるし、一部のダイアログ(FileOpen/FileSaveの他にもたぶん気付いてないものが)はリソースファイルの数字をいじる必要があるらしくちょっと表示が狂ったりはみ出たりしてる。■■■@2016-12-27 最新の trunk2では問題ないけど、2.0.3.1ベースでは共通設定のツールバータブのリストビューの項目サイズだけが、WM_MEASUREITEMに答えてもフォントのサイズに合ってなかった。まさにコレ>「[r3879] Fix: 共通設定-ツールバーのリストボックスの高さが正しく設定されない」。正しくない値が WM_MEASUREITEMより後の2か所で求められ設定されていた。旧版は自分が WM_MEASUREITEMに反応するために最初に書いたコードとそっくり同じだ。たぶんこういうことなんだろう>「For class and private DCs, GetDC leaves the previously assigned attributes unchanged. However, for common DCs, GetDC assigns default attributes to the DC each time it is retrieved. For example, the default font is System, which is a bitmap font. Because of this, the handle to a common DC returned by GetDC does not tell you what font, color, or brush was used when the window was drawn.」。ダイアログのウィンドウハンドルを使って得る DCが「common DC」なのかって聞かれると自信がないけど。あるいはまだ一度も SelectFont(SelectObject)してなかっただけとか。■r3879はフォントに高さを聞いたがそれを知らない俺はリソースファイルがうまくやるやり方に従った。オーナードローコントロール以外はそれで文字が切れたりしてなかったから。カスタムDPIでもうまくやるかは知らない。■ちなみに MapDialogRect(※先のスクリーンショットに写しておきました)を使うのは3番目の(それで最後の)案で、その前には引数を4つ(left,top,right,bottom)も取らない GetDialogBaseUnitsを検討した。実際 MapDialogRectで使ってるのは bottomと topの2つだけだし、それが GetDialogBaseUnits関数は引数をひとつも取らないって言うんだから、これで間に合うならこれを使おうとするだろう。……でもひとつも? ダイアログのウィンドウハンドルもいらない? 実行コンテクストを参照してマジカルな方法で答えを返すとでも? 答えはここに>「GetDialogBaseUnits is a crock – The Old New Thing」 crockは「ナンセンス、でたらめ」という意味が何番目かに載ってる。■WM_MEASUREITEMに反応してオーナードローアイテムの高さを変える方法は邪道ではある(が、適切なデフォルトを設定しているだけだとポジティブに考えたい)。変更対象のファイルが個別のプロパティシートに対応したものではなく、基底クラスのもの(prop/CPropCommon.cpp, typeprop/CPropTypes.cpp)だということからそれが知れる。WM_MEASUREITEMは WM_INITDIALOGより前に呼ばれるから、基底クラスが派生クラスにディスパッチする仕組みが働かないんだよね(だから基底クラスのファイルに直に書いた)。これが同じ事情を説明してる>「OnMeasureItem will be called only if the control's class is created at run time, or it is created with the LBS_OWNERDRAWVARIABLE or CBS_OWNERDRAWVARIABLE style. If the control is created by the dialog editor, OnMeasureItem will not be called. This is because the WM_MEASUREITEM message is sent early in the creation process of the control. If you subclass by using DDX_Control, SubclassDlgItem, or SubclassWindow, the subclassing usually occurs after the creation process. Therefore, there is no way to handle the WM_MEASUREITEM message in the control's OnChildNotify function, which is the mechanism MFC uses to implement ON_WM_MEASUREITEM_REFLECT.」 邪道だろうがなんだろうが、ツールバータブの個別対応コードを削るだけでダイアログのフォントを正しく変更できたのだから嬉しい。「やってやったぜ!」■これはなんだろう>「Imp: ダイアログのフォント変更設定追加 · mocaskr/sakura@af39f17」 リソースからコンパイル済みのダイアログテンプレートを読み込んで、それからダイアログを作成するまでのあいだにフォント指定を書き換えるってこと? うへぇ、こんなんMS Pゴシックにも Meiryo UIにも満足できないこだわり派のユーザーも黙っちゃうよ。そうか、実行時に変更できるのか。■「履歴を読んでるだけで楽しい」とか書いていてもそれは楽しそうだ、というだけのことで、実際に読んではいなかったり。「列を指定してソート。たしか秀丸にあったことで知った機能」というのもそうだし、「ダイアログのフォントとしてMeiryo UIが指定可能」というのも、検索に引っかかって初めて気付くわけで、検索可能なオンラインのヘルプっていうのは広告塔なのだね。■ダイアログのフォント指定は言語設定と同じように特別な配慮が必要な設定だろうか。つまり、表示言語をうっかりクリンゴン語に変更してしまうとスタートレックを見たこともない自分は元の設定に戻すことさえできなくて設定画面の迷宮で途方に暮れてしまうわけだけど、ダイアログのフォント設定を間違えたり壊したりすると同じように元に戻せなくなりそうなので。※iniファイルを直接編集するという解決法は、可能であるというだけであって、利用者に求めていいことではない(俺だってやりたくない)。■実はフォント設定にからめてセキュリティフォントをからかってやろうとしたのだけど、自分の想像が及ぶ程度の素朴な仕組み(※salt付きの換字暗号)ではなかったのでやめた>「自称完璧なマイナンバー保護技術『セキュリティフォント』 その1 - Windows 2000 Blog


2016年12月21日 (水) [正規表現]「absent operatorの挙動だが、(?~) は何にもマッチしないのが期待値なんだろうか?」■空パターンはすべての文字列に含まれている(※空文字列を含め何にでもマッチする)というのが普通なので、そういう文字列以外にマッチするパターン(※非包含オペレータが表すもの)は何にもマッチしないのだろうかってことだよね。文字の集合に対する [] (どの文字にもマッチしない)と [^] (どの文字にもマッチする) とは反対なのが面白い。■文字集合を使った初心者のよくやる間違い [^ここに文字の集合ではなく列を書いてしまう] や、お手軽だが不完全な代替 .*? を使ったパターンに対して、正しく、簡単で、理論を逸脱しない答えが用意されるのが待ち遠しい。■日本語部分だけ読んだ>「正規表現における 非包含オペレータの提案」。■いや待てよ。非包含オペレータが扱う典型的なパターンはどういうものだろう。foo だろうか .*foo.* だろうか。俺は (?~) について書いてるつもりで (?~.*) について書いていたんだろうか。二つが同じだとすると部分一致ではなく完全一致であることを明示するために (?~^foo$) みたいにアンカーを付けたくなるだろうから両者は区別されるんだろう。じゃあやっぱり勘違いしてた? s=uvw みたいな文字で構成された式を「文字列がパターンを含む? どういうこと?」と読んで疑問のままにしてるんだけど、その辺を含めて PDFを読み直したい。


2016年12月20日 (火) いやあ、履歴を読んでるだけで楽しい!「秀まるおのホームページ(サイトー企画)-秀丸エディタ改版履歴」■カラーマーカーって秀丸由来の名前と機能だったのねん。そういうのはエディタでなくワープロの機能だと思うから興味ないよ。筆箱に蛍光ペンが入っていたこともないよ(ほとんど教科書に注釈を付けるだけで済ませて読み返しもしない)。


2016年12月18日 (日) [SakuraEditor]「Request/533 正規表現検索でサブマッチにも個別の検索色を」■別件の余録だけど過去にやった>「パターン内での色分けに対応した。JavaScriptの正規表現と違ってキャプチャの位置がわかるので、SHJSの仕様に従ってかっこを /(A)(B)(C)/ というように隣接させる必要がない。入れ子にすることも許される。入れ子にしたら一番内側の色が適用されるようにしたつもり。」コードでいうとこのファイル(shjs_style_regex_keyword(trunk2@1711).patch)の 7120行目から7153行目のあいだ、JavaScriptで検索して唯一マッチする else節がそう。ただその別件っていうのが色分けのメカニズムを置き換えるものだったので、ポンと持って行くことはできない、かもしれない。知識をアップデートしないと今のサクラエディタの色分けについてはわからない。■ただねえ、マッチ全体がたとえば黄色になって、その中の一部(キャプチャ部分)が赤や青になったら、黄色は赤や青で分断されることになるんだよね。キャプチャが入れ子になってると赤の一部が青で上塗りされるということも起こる。そういう入れ子関係をただ一番内側の色で塗るということにしてわかりやすいかというと疑問。関係がわかるように(たとえば高さを変えた色つきのアンダーラインなんかで)うまく塗り分けしたくなる<もちろんそういう凝ったプレゼンテーションは管轄外なので、これはやらないフラグ。■正規表現キーワードでは使い道がないわけではない。たとえばマッチの条件が異なる複数の要素から構成されているとき、ここは記号の色、ここは文字列の色、ここはマッチの条件には必要だけど特になんでもない部分なのでテキストの色、みたいに塗り分けることができるので。もちろんそのためには正規表現キーワードの色設定の保存のしかたまで考えないといけないが。■なんといいますか、過去のパッチを読み返してみたり(あ、セミコロンダブってる>「static const Range Null;;」)、高校生のときのノートを(捨てる前に)眺めてみたりするたび思う。あの頃俺は賢かった(今はもう理解できない……)。たぶん没入することが必要なんだな。振り返ってるときにはそれがない。■パッチを読んでいて……。「-で始まる行がいっぱい」<嬉しい!やってやったぜ! 「+で始まる行が凝集している」<ファイルを移動しただけか、正しい徴候。それかなんとなく気に入らなくてイチから書き直す悪い癖の発露。「あちこちに散らばる + の行」<やり方か仕組みのどちらかが間違ってる。「交互に現れる + の行と - の行」<普通っぽい。あと手前味噌だけどコメントが丁寧だと思った。「あ、そうなんだ。勉強になります(書かれていなければわかっていなかった)」って感じ。やっぱり時間差があっても自分は自分で、阿吽の呼吸で疑問と答えが噛み合うところがある。■アクセスログの一覧を下の方まで眺めてたら、こんな名前のファイルが3ヒットしていた>subpattern_highlight.rev2.patch。え、あれ? こんなんやってたっけ。「脳log[20120517p01] サブパターンハイライト。」つい反応してしまうくらいお気に入りのネタではあるんだな。■■■漢検の対策テキストから啐啄同時(※ATOKで一発変換できない)という四字熟語を仕入れた。ここ(「阿吽の呼吸で~」)が使い所だと思うのだけど、どういう形で文に組み込めるんだろうか。


2016年12月16日 (金)

最終更新: 2018-03-14T23:15+0900

[SakuraEditor] poor-awk.js (15.8KiB, 2017-01-04)

行単位で加工するマクロのための定型。そのままで同時に標準入出力にもファイルドロップ(SendToを含む)にも対応している。Perl譲りなんだろうけど、Rubyの -p スイッチって便利だし実際のニーズに基づいてるよねって。

 @2018-03-10 使用例:大文字小文字を区別しない昇順ソート (ソート(case-insensitive).js)

マクロに登録しても良し、ソートしたいテキストファイルをドロップしても良し。

よく知らないけどプラグインだとメインメニューにコマンドを登録できたりするんだろうか。こういうものを C++で書いてエディタ本体に内蔵したくはないよね。

掲示板に貼り付けるには長いし、Wikiのマクロ投稿ページはログインを要求してきて書き込みさせてくれないしで、返信できずにここに書いてるんですよ。>「[8316] ソートの挙動の切り替えはサクラエディタ内で可能になりませんでしょうか

Meryのソートマクロを見たら実質ワンライナーだった。連打するたぐいのマクロではないとしても、自分のはゼロオーバーヘッドルールから離れすぎていた。


2016年12月14日 (水) [SakuraEditor]「Sakura Editor / PatchUnicode / #1092 セキュリティ対策」 24ファイル版のパッチを途中まで読んだ。■bSelLock はたしかに else や default でパターンを網羅したいケース。■SetFocus は、他はなくても必ず自分自身が対象として含まれるだろうという期待があるのだろうけど、それは予断だし油断があったのだと思う。同じファイルのすぐ上にある CViewCommander::Command_CASCADE にも同じ型のコードがあるけどそれは?■クリア済みのWndProcを呼ぶことについて。呼べないから呼ばないでいいのか、呼べないから呼べるようにして呼ぶのか、判断がつかない。■パッチ部分は SendMessageToAllEditors なのだけどそのすぐ上にある Send を Post に置き換えただけの PostMessageToAllEditors については?■ここまでで触れずにとばした部分は全体に趣味的な印象を持った。delete 0 は安全らしいし、CloseHandle(0) は無害らしいし、使わない領域、範囲外とインデックスでマークされてる領域を NULL で埋めなければいけない理由はないし、変数を2つ定義して、同時に初期化した片方を条件にもう一方を直後の if-else 文で初期化(※厳密には代入)するというとき、定義部分でも初期化が必須かといえばどーでもいい。それよりも C99 より前の C言語に倣った関数冒頭にまとめた変数宣言(&定義)のほうがつらい。長大な関数のあるブロックである変数が必要になったとき、使いたい値が代入されてからそこまでのすべてのコードパスでどんな値が代入され得るのかチェックしないといけないし、反対に不要になったときは、代入をやめたことで関数の以後で問題が起こらないことを確認しなければいけないし、それを forループの変数 i についても行わなければいけないのだから。行き当たりばったりで次々変数を増やすのもどうかと思うが、適切な粒度のスコープがあると思う。env/CAppNodeManager.cppのパッチで指摘された初期化はまとまっていて問題を見出せない。■env/CAppNodeManager.cppの別の部分については、IsSakuraMainWindow でもやっていて実質的な意味を持たない NULLチェックを足して今以上にごたごたさせるより、2番目のループを取り除くぐらいの書き直しをしたらいい。「hWndLastが NULLのときに全くメッセージが送られていなかった」なんてときのコードはおそらく原型が残っていないし(そんなことを言うやつがよくわからないまま(同じ)轍を踏むのだ(自虐)。でも unicodeブランチでは遡れるログに限界が……)、その対応のせいで(たぶん昔はそうだったのだろうけど)双子のループではなくなっているのだから。こんな感じにしたい>CAppNodeGroupHandle__PostMessageToAllEditors.txt。もちろん SendMessageの方も。仕様の違いは、pWndArrに hWndLastが複数含まれていたときに複数回メッセージが送られないってことだけど、そんなこと起こらないし期待もしていないでしょう? ほぼコピペの双子関数をひとつにまとめるのは、PostMessageと SendMessageの戻り値の型が違うせいで失敗した。マクロを使うとデバッガで追いかけるのが難しくなるし、メンバ関数テンプレートはコンパイラの実装が遅かったような記憶があって積極的に使いたくないし、そもそもリンクエラーを取り除けなかった(<テンプレートの定義を.cppに書いていたから。明示的な実体化が必要だった。こんな感じ)。たぶんファイルローカルのモジュール関数テンプレートにしたら一挙両得だけど、アクセス許可を出さないとダメだよね? 代わりに staticメンバにする? そうするだけの、過剰なテクニックを駆使したりヘッダに手を入れたりするだけのメリットがないのでコピペのままでいいや。■macro/CWSH.cppについて。中断のためのスレッド関数とメインスレッドがパラメーターを通して hEventを共有していて、子スレッドの方で OpenEventDuplicateHandle みたいなものは呼んでいないんだけど、子スレッドの終了を待たずに SetEvent(hEvent);CloseHandle(hEvent); して子スレッドはイベントを受け取れる?■読んだのはここまで。趣味的(あるいは潔癖・偏執的)とは書いたけどデバッグモードのコードだと思えばそういうものかなという気がしないでもない。が、C++が初期に遅いと言われたのってコンパイラが隠れてする仕事(コンストラクタの呼び出しとか)に対する無理解が理由にあると聞くので、無駄とわかってるところに 0 を埋めて歩くことに積極的にはなれない。staticでない未初期化変数の値をそのまま使用するのは結果が予測できないバグだけど、未初期化変数(遅延初期化変数)それ自体は問題にしないよ。■自分の不見識が明らかになるだけかもしれないけど……。「スタックのドカ食い対策」<スタックで間に合ってるならスタックの方が速いんじゃないの? 「WINVERによる条件コンパイル」<ソース分裂バイナリ分裂はない方がいいし、俺プリプロセッサ嫌いなんだよね(<誰も聞いていない! 共感性・説得力皆無!)。さらに共感を得られそうにないことを書くと、namespaceが導入されたからグローバルな名前空間を明示するために :: を付けましょう、これまでただ Func(); と呼んでいたものを ::Func(); と書きましょう、なんてのはなんの冗談かと思う。譲るのは当然後から来たほうだし、衝突しないような名前を選ぶ、衝突が避けられないときにしぶしぶ :: を付けて区別する、くらいの態度でいるんだけど、みなさん積極的に :: を付けますね。それって(知らないしやったことないけど)まさに MFCプログラミングで名前のバッティングが避けられなかったからみんなそうしてただけなんじゃないかとも思ってるんだけど、SDKプログラミングでもわりと積極的だよね。自分が無知で異端なのかと不安になる。■途切れていた古いログを見つけた。「Fix: Send/PostMessageToAllEditors() don't send message when last window parameter is NULL.」この修正が不可解で、現在のソースに残ったコメントから以前のコードを想像できなかった(だから原型が残っていないのだろうとコメントした)。単純に m_hWndLast の NULLチェックを省いてこう直せば良かったじゃない?>if( phWndArr[i] != m_hWndLast ) この頃はまだ IsEditWnd(※後のIsSakuraMainWindow?)が引数の NULLチェックをしていないことから、先取りして phWndArr[i](※m_hWndLastではない)の NULLチェックを追加してもいい>if( phWndArr[i] != m_hWndLast && phWndArr[i] )。ま、済んだことはさておき、この時点ではまだ双子のループが存在していないことが興味深い。双子のループが誕生したのはこのコミット>「New: Grouping of the tab windows.」(←Firefoxだとアドレスバーで20回ぐらい Enterキーを押しているうちにページ内アンカー(#diff-24)が機能するけど、Operaだとリロードしてしまって永遠に機能しない。くそったれな遅延ロード。くそったれな S……)。グルーピング対応のためとはいえループは必要だったろうか(反語ではありません。結論保留)。


2016年12月02日 (金) おかしい。いろいろと言ってることがおかしい。「電撃 - 『サガ スカーレット グレイス』7時間プレイ後座談会。それぞれが感じた『サガ』らしさとは?」■すっごくやりたくなったけど Vitaがない。携帯ゲーム機はいらないんですよ。液晶の Vitaもいらないんですよ。うーんでも、うーん。