/ 最近 .rdf 追記 設定 本棚

log[2009-10-28]



20091028() ポインタを教える < 下手なたとえよりハドウェア(メモリと CPUだけ)のことと配列とポインタの操作に関してコンパイラが行うことを教えてほしいそれと最初にポインタが必要になる例題を提示しておくことポインタの第一歩はメタ変数だからースコド上でこの変数とこの変数を入れ替えただけの処理を共通化できないかと考えさせるような問題をつまりそれが俺のポインタ理解の第一歩だったわけでトマップの RGB の任意の2つを共通のコドで扱いたかったのだったちなみに HSPでのことでそのときに dup命令の使い道を発見した


20091027() HPがマルチタッチ対応27Windows7 64-bit版搭載の TouchSmart PCを出すのを待っているオプションでリモコンとか付けてね


20091026() [tDiary] aq=3 というようなクエリパラメータを含んだ google検索からのリファラをうまく置換できないので調べたら最新のではしっかり q= というパターンが [^ao]q= に更新されていた設定ファイルは古いものを引き継いでいたから対応できていなかったところで[^ao]q= より \bq= の方が将来性があって良いというか[?&;]q= でどうか?

最終更: 2011-12-20T23:29+0900

[SakuraEditor] 矩形選択時のカーソルの動きを修正

発端はこれ > 折り返ししている物理行末をーボドで左から右へ矩形選択しようとすると 次の物理行にカーソルが移動して意図した通りに選択できません

折り返し桁に到達した瞬間次の行の始めにキャレトが移動してしまうために末尾一桁が選択不可能になっている

いいだしっぺの責任のようなものを感じて一応やってみた

  • 矩形選択中はキャレトを操作と違う方向に移動しない
    • 右を押していて折り返しで次の行頭に移動しない
    • 下を押していてEOFのある行に着いたとき X座標の最大値を EOFの位置に規正しない
  • (ついで) EOFの位置にキャレトがあるときに下を押すと選択解除
    • EOFの位置で右を押したときに選択解除はすでに行われている

っくり書き換えてしまった部分があるのとCMemoryIteratorCLayoutがよくわかっていないためにっぱり自信が持てない道具が初めて扱うものばかりなのに加えフリーカーソルモ矩形選択中改行の位置折り返し桁(設定)(実際の)折り返し位置など考慮すべき対象も多すぎる

いじったのはキャレトの移動部分だけで選択については見ていないぶら下がり文字についても考慮していない選択できないわけではないので特に不都合だとは思っていない(改行がぶら下がってるときは不都合があるか)


 @2009-10-28

矩形選択をキャンセルしたときにカーソルが改行の後ろに取り残されてる

矩形選択を上下左右矢印で解除したときはカーソルを矩形の左上隅に移動するようになっているでも現状では矩形選択は Shift+F6での矩形選択ロックを利用したインターフェイスしかない(マウスのことは知らない)から矢印で選択状態を解除はできないEscを利用して選択解除するんだけどこのコマドはキャレトの移動を行わないだから取り残される

取り残されるよりはましだろうと思って必ず左上隅に移動するようにした

別件選択を矢印で解除するとき()矢印だったら選択解除だけが行われてキャレトの右()移動は行われないでも上()矢印だったら選択解除とキャレトの移動が両方行われるっちでもいいし今のように混在してても不満はない

さらに別件ャレトが EOFの位置にあるとき右矢印で選択解除ができるようになっていたので下矢印でも選択解除ができるようにしたがャレトが先頭行にあるとき上矢印で選択解除はできないャレトの実質的移動がなければ選択解除はしないということで統一しEOFの特別扱いをやめてもいい気がする

違うなあァイルの先頭で左を押すと選択解除ができるEOFでの右解除はこれにならったものだ最終行での下矢印で選択解除できるようにしたなら先頭行での上矢印解除も対応しろってことだ(そのほうが修正点が少な)

した

たぶん二行下移動(そういうコマドがあって↓に割り当てたりできる矩形選択用の二行下移動もある)ではここまでの修正が効いていないだろう

と思ったら二行下移動では EOFのみの行に一気に移動できない必ず手前の行で一度止まってしまう結果的に問題は起こっていなかったわけだけどEOFのみの行に一気に移動できるようにしたうえで修正が効くようにした

っと考えればわかるけど左上隅だからって改行の後ろでない保証はなかった普通の選択解除と同じようにコマドの方向も考慮しながら(右移動による選択解除なら右下隅にキャレトを置くとか)ャレトが有効な位置におさまるようにまじめに対応した方がいい()矢印が押されたときに選択解除とキャレトの移動を両方行うようにすれば()矢印の場合の動作と統一されるしャレトが有効な位置に収まることも左()移動コマドによって特別なことをせずとも保証される一石二鳥


 @2009-10-29

ッコミが入りました

今のサクラで選択を上下左右の矢印キーで解除するときの挙動はEmMS Wordなどと同じ動きです。

秀丸エEmEditorはおろか Wordも使ったことがない物知らずなもので……左右の選択解除でキャレトの移動がなくて上下の選択解除ではキャレトが移動することに関しては(俺がいう)一貫性以外に他と揃えるという評価軸もあるということでしょうメモ帳と Firefoxのテキトエリアでは左右の選択解除でもキャレトが移動するのでっぱりどっちでもいいことだと思うな(俺は)っちでもよくないという意見があるのだか「一石二鳥を強行したりはしないけど

(折り返し位置の1字手前から次行に移動する)概ね多くのエタと同じ動きだと思います。

これャレトの表示を折り返し位置で留まるようにして次行の行頭に飛ばないようにしたけれどその右は次行の一文字目と二文字目の間だから実質的なキャレトの位置は変えていないのだよね行頭の左が前行の折り返し位置の一文字手前であることの対称になることも意図した折り返しの一文字手前の右が次行の行頭である場合よりーザーのできることは増えるしャレトが現在の行を端から端まで移動する前にワープしてしまったような印象も受けないし他のエタも見習ってほしい動作だと思ってるこれに関してメモ帳は折り返し一文字手前の右が次行の行頭Firefoxのテキトエリアは折り返し位置と次行の行頭の間に仮想の一文字が存在するFirefoxはありだと思うけどメモ帳はどうかと思うどうかとは思うけど自分は折り返さないのでまったくの他人事だったり

書いてるうちにさらなるツッコミ

通常選択や通常カーソル移動の仕様変更するのは本末転倒かな

「本末転倒はそうだったかもしれない折り返し位置での右移動がややこしすぎて矩形選択の不都合の修正とカーソル移動を分離できなかったというかャレトがおかしな動き(改行文字の後ろに止まったり)をしないように試行錯誤しながらの修正だったからその結果が自分好みの動きになるのは当然という

二人とも矩形選択中にキャレトが折り返さないことに異論はないのかな


 自然にこうなるはずもなし。
 先人の意向ということで。

レガは積極的に振り捨てたいそれが自然でないのならばなおさら


個人的な主張や好みはおいておいて波状攻撃をくらってしまったので折り返しでの右移動を修正した元の通りに(ったはず)っと余裕ができたのでコドを整理して仕様変更をしやすくしたこれでこんどまた折り返し行の右端でキャレトを止めようと思ったときも変更がしやすいMOVE_NEXTLINE_IMMEDIATELYMOVE_NEXTLINE_NEXTTIME_AND_MOVE_RIGHTに置換するだけじゃないかなオプション化も簡単だわざわざ設定画面を用意して使用者の煩わしさを増大させるほどのものではないけど


 @2009-10-31ッチ

SourceForge.net: Sakura Editor: Modify: 2889930 - 矩形選択中にキャレトが操作と異なる方向に移動しないように



 @2011-11-30 コミ

  1. r1966(2011-11-15) コミby syat.
  2. r1973(2011-11-29)ャレトが -1行目へ移動するバグの修正 by moca_skr.
  3. r1983(2011-12-20) (F6ESCーによる)選択中の未選択状態で選択をキャンセルできないバグの修正 by moca_skr.
本日のツッコミ(3) ッコミを入れる

anonymouse今のサクラで選択を上下左右の矢印キーで解除するときの挙動はEmMS Wordなどと同じ動きです。 折り..

ななし矩形選択とい「おまけにあわせて 通常選択や通常カーソル移動の仕様変更するのは 本末転倒かな

ななし現行仕様は明らかに他のエタを調べてそれに合わせた結果と思われ 自然にこうなるはずもなし 先人の意向というこ..


20091025() [C++] 判断が付かないこと1.値を返す関数の戻り値の型に constを付けること呼び出し側に不当な制約を押しつけることになる(コピーで受け取った値を変更するのは自由であるべきだ)から付けてはいけないという指摘がほしい2.ポインタを引数にとる関数でそのポインタを constにすることこれは関数を呼び出す側には関係のないことで関数の実装の中でだけ有効な約束みたいなものだポインタ型の引数が constかどうかでオーバーロドが変わってしまうんだろう同一視してほしいそれなら宣言では T* と書き定義で T*const と書くようにする……VCで調べた1.関数の戻り値の型が const intでも int型の変数で受け取れるconstは飾り2.宣言と定義でポインタの const性が異なっていてもなんら問題はないそれだけの違いでオーバーロドはできないということもわかるこれは VCについてだけで仕様はわからないけどすっきりしたこの二つは同根で値で受け取った仮引数や関数の戻り値の constは完全に受け取った側のオプションでありトタイプと定義でのそれらの違いも無視されるらしい


20091024() スラドをまとめた PDFは横に連続して並べて横スクロールしながら読みたい単一ページを縦に並べても見開きを縦に並べてもっくり画面に収まらないので


20091023() SourceForge.netTrackerあれは何だ() 日本語だと 25文字で強制改行しかも折り返しではなく <br />何もしない方がずっとずっと良いエンコングが UTF-8なのと英語だと 75文字(3倍の長さ)で改行だからト数でカウトしてんだろう見た目は CSSでやりな!バト数と文字数と表示幅を短絡するんじゃない! 単語の区切りを考慮して改行を挿入しているのがまた小賢しくて努力の方向があさってで憐れみを誘うールやコンソール出力じゃなくて HTMLを生成してるんでしょう?なにやってんの? (なんでこんなに腹を立ててんだろう我ながら勝手に文章を悪い方向に整形されたから) TrackerのさらなるちょんぼUTF-8のバト列を ASCII配列扱いでちょん切ったんだろう<br />を挿入された付近の1文字がなくなってたりする


20091022() [Firefox] 言語ごとにフトや文字サイズが変更できるとは知らなかった日本語のフトは最低12通常15だけど西欧は最低15通常18それでもまだちっと小さいかなというレベルなんでこんなにスケールが違うんだ?


20091016() [SakuraEditor]折り返ししている物理行末をーボドで左から右へ矩形選択しようとすると次の物理行にカーソルが移動して意図した通りに選択できません折り返されている行末へカーソルがたどり着いた瞬間次の行の頭に移動していて右端の一列が選択できないたしかに問題折り返し込みの矩形選択とかコピペしたときにどうなるのが正しいのか想像できないんだけど……矩形選択は図形的な操作だから折り返しがあろうが改行があろうが右へ範囲を広げている最中にキャレトが左へ戻ってしまうというのが意外な感じはする

最終更: 2009-10-17T03:43+0900

[javascript] 空文字列にマッチした後の lastIndexの値は IEの挙動が妥当

  var re = /\b/g;
  var match = re.exec( "012" );
  alert( match.index ); //=> 0
  alert( re.lastIndex ); //=> 0(ECMAScript仕様), 1(IE)

仕様では 何度 re.execを実行しても re.lastIndex0から増加しないからre.execをループで実行するときにはマッチ結果が幅0のときに限り特別に lastIndexをインクリメトする処理が必要になる

 lastIndex1ではいけないの?

ッチの範囲は "0"の直前から "0"の直前まででlastIndexは範囲の末尾の次の位置を指すものッチの幅は0

index = 0; lastIndex = 1; であればマッチ範囲は "0"(1)ということになってしまい正しくない

index = 0; lastIndex = 0; であればマッチの幅が 0だということもその位置が "0"の手前だということも表現できていて正しい気がする

 でもlastIndexってパターンオブジトのプロパ……

indexはマッチ結果のプロパだけどlastIndexはパターンオブジトのプロパなのだmatch.index...re.lastIndexの範囲が正しいとか正しくないとかは考慮に値しないのではない

検索結果に影響があるかといえばスクリトエンジンが行ってくれないことをスクリトを書く人間が手作業で行っているだけなのだから影響はないだろう

IEは至極まっとうな実装をしたと思う


20091015() [790FX-GD70] BIOS v1.6


20091010() なんだvvvこれvvvv > THE iDOLM@STER MAD World Service


20091009() [C++] プライベトメンバ関数をいっぱい宣言する代わりに friend class Hoge; とだけ書いておく下請け関数ならぬ下請けクラスメソ(ありかな)


20091008() sourceforge.netでうざいポップアップが出るhttpsのページで http://ad.doubleclick.net/...を読み込んでいるからだ。slashdot.jpads.osdn.jpもそうだったけど広告がサトの Readabilityを落としてはいけない対象が 2hostになったので Adblock Plusを入れた


20091007() [C++] wchar_tって使いにくい2トだったり 4トだったりド文字列リテラルのエンコングとそこから決まる wchar_tのサイズを決められたらどうか? ……char16_tchar32_tuu' 'UU' ' というのがそれだ早く使いたいところでcharより ucharの方がわかりやすくないchar16…や char32…だとビト幅だけを規定してるみたいじゃない……実際にそうなんじゃないだろうWikipedia(ja)char16_tchar32_tでありそれぞれUTF-16UTF-32を内部表現とするこうあるけどエンコングを規定するのは uU接頭辞だけC++コンパイラにエンコングのバリデーションとかやってほしい人がいるとは思えないしやらなければ内部表現云々はまるで無意味だし……UTF-16UTF-32はエンコングではない気がしてきた(無知)ならば Wikipedia(ja)の記述はこれらの符号化文字集合を単独で表現できる大きさ持った型だという意味だろう<< そろそろ調べどき……どちらも符号化方式だったでは C++0xの方を……エンコングを持ってるのは文字列リテラルだけに思えるu8という接頭辞で UTF-8文字列を char配列に納められることもわかったchar16_tchar32_tについてUTF-16UTF-32を内部表現とするというのは間違いでUTF-16UTF-32の符号単位を格納するよう設計されているが正しそう「符号単位という言葉を知らなかったのがうまく説明できなかった原因「符号位置(ドポイトの訳語だと思う)とは違う