/ 最近 .rdf 追記 設定 本棚

log[2009-11-21]



20091121() [] 著者名がカタカナの本や教科書が好きだ一つには日本語であるということ滅多なことで読み違えないし斜め読みもできるから二つ目は著者が日本人ではないということ数少ない経験からの判断だけど日本人の著者は前提となる読者の知識に過大な期待を持ちすぎているまたその要求基準を明示しないほかにも依存する文脈の説明をはしょりがちで部分を取り出すと内容が間違ったものになりやすいまだある単語帳や受験参考書みたいに知識の羅列になってしまっていてーリーがない書きたいことを書くんじゃなく読者が知りたいことを書くもしくは読者に知りたいと思わせるように流れをつくらないといけないのにできていない全部印象だけで書いたけどたとえ分厚くなってもーリーがあって毎度毎度の説明を怠らない文章を日本人著者には期待していない

最終更: 2011-11-30T12:36+0900

[Vista] shutdown.exeの役立たず。

Vistaの新機能:ハイブリドスリープを有効にしているのにVistaになって新設された /h オプションで休止状態にはできてもスタンバイ(ハイブリドスリープ)にはできない

なんだってこんな基本的なことができないんだろうマウスを使わせようとするなーボドを使わせようとするな

#! rubyw
require 'Win32API'
SetSuspendState = Win32API.new('powrprof.dll', 'SetSuspendState', %w(i i i), 'i');
SetSuspendState.call(
	0, # hibernate: S4(TRUE) or S3(FALSE)
	0, # force: アプリケーションに事前に通知(PBT_APMQUERYSUSPEND)しない(TRUE)。通知する(FALSE)。
	0  # disableWakeEvent: イベントによる復帰を許可しない(TRUE)。許可する(FALSE)。
);

 @2011-11-30 rundll32.dllpowrprof.dllでなんとかなると思ってる人へ

>20110911

rundll32.dllが要求する仕様を知っていますか?乱用されてもクラッシュせず黙って耐える rundll32.dllのことを知ってあげてください


20091120() DDセイバーオルタはやばい限定販売でよかったね

最終更: 2010-04-08T22:28+0900

[SHJS][SakuraEditor] 色分けにこんな機能があると便利

参照(説明の丸投げ)> タの Lex 周り - miau's blog?

SHJSと萌共通の泣き所そもそも論を言えば入力に対応した stateを一つ一つ定義していけば対応できなくもないしRubyの括弧を使った %記法%r(pattern)flag のようなものでは括弧に分類される文字種が 4つしかなかったために実際そうしたのだが非英数1ト文字や識別子が使えるとなると状態数があっという間にふくれあがってしまう

SHJSの場合はJavaScriptであることと eval()で評価されることを利用してネイブの RegExpオブジトの代わりに execメソドと lastIndexプロパを定義したオブジトを登録することで抜け道を用意できるように感じたがどんな形で特定のキャプチャを参照するのか決めかねた

今日試しにダウンロドしてみた K2Editorではヒドキュメトの色分けが可能なようだ配布パッケージに含まれる Ruby.txtK2Editor.chmによると書式はこう

・<<(["'`]?)(\w+)\1 .... ^$2$
    ヒアドキュメント1。後ろのディスクリプターは行内に唯一でなければ
    ならない。

右側の検索文字列には後方参照が使えます。 左側で()でくくってグルーピングしたマッチ文字列を 右側の検索文字列の中で取得できます。

取得するには K2Editorの置換機構の 後方参照と同じように$1,$2などを使います。

\1\2でなくて $1$2だから右側のパターンは左側のパターンマッチングが終わった後で置換されてからコンパイルされるのかも

SHJS(と萌)にあてはめた場合$1$2がどのマッチングのキャプチャを指しているのかが明らかではないというところで二の足を踏んでいる次第

 @2010-04-08: くわえて

  formatted_text = <<TEXT.strip.gsub(/\t/, " "*8)
TEXT
  texts = [<<TEXT1, <<TEXT2]
TEXT1
TEXT2

こんなんどうする?

最終更: 2009-12-06T02:34+0900

[SakuraEditor] 再度WSHプラグイン

たとえば、http://sakura.qp.land.to/?Junk%2F31 で展開されている GNU Global対応息の長い支持があるが本体に取り込まれてはいないこういう万人向けでない機能がプラガブルになっていると

  • タ本体「大きなパッチを取り込んでバイナリを肥大化させたり安定性を損なうリスクを避けられる
  • 本体とは別のサイクルでまたーザーサドで GNU Global対応を進めることができる
  • 機能が不要な人はイールしないから目にすることもコトを払うこともない

プラグイン化を推し進めると不要な機能をそぎ落としてメニーも整理して必要な機能は自分で用意する自分だけのエタになる

っていうのが xyzzyEmacsの方向性? そう思うと途端につまらなく思えてくるのは何故? プラトフームだと思うとアイデンィテが希薄に感じられるのとなんでもできる/やろうとする/できてしまう無節操さが嫌いなのかも

ったい自分はどうしたいんだ?

なんでもできるエタでやりたいことだけを可能にする!?

でも実際はタなんてなんでもいい&使い比べもしないものぐさな人間だということを行動が示している最初はメモ帳でスクリトを書いていてエラー行を見つける手段(行ジャンプ行番号表示)がないのに困って最初にダウンロドした TeraPad23年使い正規表現検索がないのを不便に思って最初にダウンロドしたサクラエタを 5年以上使いースが公開されてるもんだから色分けの不足を補えてしまって萌タをカスタマイズする機会を逸したまま現在に至る名前の良さと最初から大概のことができる間口の広さで誘い込まれースをいじる究極のカスタマイズができる自由さで閉じ込められた

  1. 見た目がよくて(ダウンロ)
  2. (適切なデフ複雑すぎない設定など)っつきがよくて(しばらくつかってみよ)
  3. 幅広いユーザーのニーズを満たす機能セトが揃っていて(使用をやめる理由がな)
  4. なくても困らないニッチな要求にも応えられる(乗りかえる理由がな)

という要素を自分は求めている(らしいサクラエタに最初の二つはなかったが必要だとは思う)のでプラグイン化で機能をそぎ落とせる必要はなくそれなりに需要のある機能をプラグインで置き換える必要もないかもしれないプラグインの本命はニッチな機能取り込むには大きすぎる機能ライフサイクルの異なる機能の実現にある……がなんでもプラグインにしてしまって柔軟にデフトを設定できるような状態にしておくというのもやはり魅力的だ(それにデフトのタイプ別設定(AWKアセンブラCOBOLJavaTeXVisual Basec……)のうち使わないものは目にするのも嫌だという人種(潔癖だね)が一定数いるらしいからそれに応えることにもな)

っていうのが Linuxの現れては消えるトリビーション? 適切なデフトが対象別に無数に存在する状態を適切なデフトが用意されているとは言いたくないな適切なデフトはとっつきの良さのために導入した指標だから(:Linuxの話ではない)

この展開の着地点を Windows ということにしてみようタ界の Windows普及(利益)を目指すなら当然の帰結とかいってとりあえず Linuxには何も考えずこれを入れとけっていう強力なトリビーションが一つだけほしいね(Ubuntuが五年後も続いていたらいいポジション)


20091119()

最終更: 2009-11-20T01:27+0900

slashdot.jpから。コメトはソースコドを表す? - スラッシト・ャパン

/*
 * (略)
 * @author ピクミン
(以下略)

何故・・・。

ピクミンをやったことはないけど全体の利益のために我が身を敵に投げ出す白ピクミンの境遇を連想した白ピクミンに限らずピクミンって個々は全く尊重されないよね人間はもちろんそんな扱いを受けるはずがないけど……


20091117() [SakuraEditor] メリーさんはアゥで選択範囲も復元してくれるよ


20091116() [790FX-GD70] BIOS v1.7


20091115() [SakuraEditor] 矩形選択入力をフーマトの決まったファイルの一括整形に使うとき選択範囲を移動する機能がほしい1.0で複数行選択2.文字挿入 3.選択範囲右4.文字挿入 5....


20091114() [Vista] Appー押し下げを Winー押し下げとして使いたいWin+Breakの代わりに App+Break


20091113() [C++] bcc5.5.1でコンパイルできないっていわれても無料化のはしりとしてすでに役目を終えたものでしょうそれ今からダウンロドしようにも住所や電話番号を書かされるのが嫌だところが Program Files (x86)には bcc55というフォルダがあってコマドプロントで bcc32って打つとスイッチの一覧が表示されるからパスも通ってるんだよねbccを最初にダウンロドしたときはイール手順「パスを通すがわからなかったものだそのあともオブジトファイル何それ?コンパイル?リンク?コンパイルしたら実行ファイルができるんじゃないの?スタックライブラリ?インポトライブラリ?#include <stdio.h>ってソースに書いてあるんやから必要なライブラリを勝手に選び出すくらいできひんの?なんでソースファイルが数十KBしかない Hello Worldプログラムが50KBexeになるの?と怒濤の疑問に襲われていました


20091112() だれかがもう英語で書いてたけどSubversionTree conflictは本当に腹立たしいもう存在しないファイルに対し「競合しています「競合しています「競合しています--accept mine-fullでも theirs-fullでも workingでもなんでもいいんだよ俺が編集してるファイルじゃないんだからいらいらさせて邪魔さえしてくれなければTree conflictでマージが全く進まない同じファイルを二回三回削除することのなにがコンフリトだってーの


20091108() [C++]ifelseを用いれ『三項演算子でできる処理は全て記述できますよねしかし逆は必ずしもできません< 一時変数を必要とするような複雑な初期化をするために ifが値を返してくれたらと思うことしばしば条件演算子で書こうにもスコープがないし長すぎるしif-elseで書くと constにできない(const厨乙)処方箋はif-elseや一次変数が必要な初期化を関数にして戻り値で const変数を初期化する


20091106() [SakuraEditor] 「検索/置換ドウが検索文字列と重なる場合検索/置換ドウをずらしてほしい<< こういうのってどの辺にどかすのが最適かっていう人間が行う判断をコドにするのは案外難しい1.タが画面のどこにある2.検索文字列がエドウのどこにある3.検索はどちらの方向に進んでいるか(毎回ちらちら移動させないために)色々考えてしまうよ実際のところ気にするのは検索文字列のスクリーン座標だけでいいのかもしれないけど


20091105() [Vista] まただーソル移動がもっさりすると思ったら

最終更: 2014-12-05T17:24+0900

[tDiary] ドが空になっている

理由は makerss.cachehiddenspamコメトで埋め尽くされたから問題です。

最終更: 2009-11-19T05:26+0900

[SakuraEditor] 前略

  1. 矩形選択範囲が勝手に折り返し桁まで拡大されるのが嫌なのでまずそこをコメトア(不自然な動作を持ち込んだ上にその理由を説明しないのであれば削除されて当)
  2. そうすると矩形選択範囲が幅0のときに一切の文字が挿入されなくなるので選択範囲の幅に頼った間接的かつ誤った条件判断を正す。(正すと書いたがいまの条件判断が正しいという確信はない明らかな誤りはなくせた)

すくなくとも幅0の矩形選択で改行の手前にタブやスペースを挿入できるし選択範囲の勝手な拡大も行われないが折り返しが絡んでくるとどのように文字が挿入されるのが正しいのかなんてわからないのでそこんところは考慮外

折り返しの結果として行頭に改行がきている場合もタブやスペースが挿入されなくなるはずと思って試したら予測不可能な結果にもともと折り返し行に対して文字を挿入すると挿入した結果により折り返される位置が変化してしまい結果がどんどん予測不可能になっていくんだけどそれを上まわるかもしれない

Index: sakura_core/CViewCommander.cpp
===================================================================
--- sakura_core/CViewCommander.cpp	(リビジョン 42643)
+++ sakura_core/CViewCommander.cpp	(リビジョン 42644)
@@ -4733,11 +4733,11 @@
 	// From Here 2001.12.03 hor
 	/* SPACEorTABインンデントで矩形選択桁がゼロの時は選択範囲を最大にする */
 	//	Aug. 14, 2005 genta 折り返し幅をLayoutMgrから取得するように
-	if((wcChar==SPACE || wcChar==TAB) && m_pCommanderView->GetSelectionInfo().IsBoxSelecting() && GetSelect().GetFrom().x==GetSelect().GetTo().x ){
-		GetSelect().SetToX( GetDocument()->m_cLayoutMgr.GetMaxLineKetas() );
-		m_pCommanderView->RedrawAll();
-		return;
-	}
+	//if((wcChar==SPACE || wcChar==TAB) && m_pCommanderView->GetSelectionInfo().IsBoxSelecting() && GetSelect().GetFrom().x==GetSelect().GetTo().x ){
+	//	GetSelect().SetToX( GetDocument()->m_cLayoutMgr.GetMaxLineKetas() );
+	//	m_pCommanderView->RedrawAll();
+	//	return;
+	//}
 	// To Here 2001.12.03 hor
 	wchar_t szWork[2];
 	auto_sprintf( szWork, L"%lc", wcChar );
@@ -4833,7 +4833,8 @@
 			nDelLen = nIdxTo - nIdxFrom;
 
 			/* TABやスペースインデントの時 */
-			if( bIndent && 0 == nDelLen ) {
+			const bool emptyLine = ! pcLayout || 0 == pcLayout->GetLengthWithoutEOL();
+			if( bIndent && emptyLine ) {
 				continue;
 			}
 

 @2009-11-08

隠し機能がでてきましたよ>矩形選択時のSPACE/TAB動作に手を入れる場合実装上>>dev:4103 あたりのSPACE/TABインデト仕様を実現するための実装部が絡んできそうで

これだから迂闊なことはできない自分用だと自分が使う範囲で問題がない限り気にしないで済むけど

リンク先で議論されている桁揃えのためのインデ(条件によりタブやスペースが挿入されない行がありその結果インデトが揃う)(レイアX座標)を文字単位の座標に変換するときに中途半端な(=文字途中を指す)レイアト座標が正規化されることに依っているのかな?

矩形選択はつっつくと魔物が出てきそうだ正解がわからないから2ト文字が分割されるなど明らかな不具合以外は実装が仕様になってしまいそう


挿入位置の文字の末尾が矩形選択範囲に含まれていないときにインデト用の文字を入力しないことでインデト揃えができるように追加修正した版 > fix_indentation (4.1KiB, diff to trunk2@1674)


矩形選択時その範囲内に文字がない状態でインデトすると桁が揃うようにスペースを補完します。それ以外の場合範囲内に文字のない行はインデト対象外になります。

hor氏のヘルプ

「範囲内に文字のない行は考慮外だったけど怪我の功名で改行の後ろにインデト用の文字が挿入されないようにもなっていた>fix_indentation


あいう
abc

というテキトの一桁目(「あの前半a)

^   ABC
DEF

というテキトの一桁目(タブの前半D)を矩形選択してタブやスペースを入力すると珍妙なことになるのは変わっていない普通の文字を入力した場合は右移動で入力された文字の幅だけ移動することが決まっているけど入力された文字がインデト用の文字でそれが挿入されなかった場合右移動の移動幅がもともと選択範囲にあった文「あの幅になってしまうのが原因

一応入力された文字の幅を考慮して右移動しているけど右移動を行うのが選択範囲の一行目だからこの場合一回右移動するだけで行き過ぎてしまう

それも修正 > fix_indentation.rev2 (5.3KiB, diff to trunk2@1674)

問題の存在がわかれば叩きようも考えられるけどそれがわからなければ手の打ちようがないト重要


どうして(幅のある)文字の先頭部分が矩形選択範囲に含まれているときだけインデト用の文字を挿入ではなく文字の末尾が含まれているときだけなのかといえばおそらくそうでないとインデトの桁揃えができないから実際に試してみればすぐわかるけど文字の先頭を条件にするとほとんど常にインデト文字が挿入されてしまって桁揃えにならない


現在認識している問題点

  1. トタブ設定のときに桁揃えができていない
  2. 入力がインデト用の文字のときにも矩形選択の幅0を維持するようにした結果CViewCommander::Command_INDENT_TAB()

    if(m_pCommanderView->GetSelectionInfo().IsTextSelected() && m_pCommanderView->GetSelectionInfo().IsBoxSelecting() && GetSelect().GetFrom().x==GetSelect().GetTo().x){
    	Command_INDENT( WCODE::TAB );
    	return;
    }

    このコドが発動してしまいトタブ設定にかかわらず常にタブ文字が挿入される

修正した>fix_indentation.rev3 (5.8KiB, diff to trunk2@1674)

1つ目は fix_indentaiton.rev2のバグ意図せず bIndent引数を trueから falseに変更してしまっていることがあった2つめは該当コドを削除したもうひとつ fix_indentation.rev2のバグ0の矩形選択のときにもインデト用の文字の挿入をうっかりスキップすることがあった


 @2009-11-09

指摘を受けて修正原因は rev2のタイポ指摘を受けたケースは fix_indentationのときにしかテトしていなかった> fix_indentation.rev4 (5.8KiB, diff to trunk2@1674)

本腰を入れて読んでいなかったというか自分でやってみた今だからこそよく理解できるんだけど、4127で実際に文字を挿入された行をもとにして選択範囲を移動することが既に行われているさらに気になってはいたけどそのままにしていた全角文字がはみ出すことへの対処も行われているなんて車輪の再発明っと違う点を見つけるなら文字を挿入された行をもとにするだけでなく選択範囲から文字がはみ出していない行をもとに選択範囲の移動量を決定しているところだろうだから 4138の指摘を rev2改めrev4では回避できている


っこ非互換ではないけれど

あいうえお
1かきくけこ

という行で幅1矩形選択をしてインデト用の文字を入力するとおかしな事になる文字を挿入するときは幅0選択でいいじゃないかと思っていたが全角半角が混じるといつでも幅0で選択できるとは限らない2以上であれば問題は起こらないのでこれはインデト揃えの弊害右移動に頼らず直接入力文字のレイアト幅を計算して選択範囲を移動すればなんとかなるかも方法は知らないけれど

ptLayoutNewを使って計算< 上の例で考えると矩形選択範囲に入るのは一行目と二行目をあわせてもある文字の前半と別の文字の後半だ前半だけの行にはインデト文字が挿入されないから入力のレイアト幅を知るためには使えない後半だけが入っている行では挿入位置として与えるのが文字の真ん中を指すレイアト座標ってくる ptLayoutNewが相変わらず文字の真ん中を指す座標だとは考えにくい最大でタブ幅-1のずれが生じたりしないだろう(一人: ptLayoutNewって名前から CLayoutのイスタスだと思っていたpゃなくて ptったと)

オプション化不要と書いたとたんのこの難題どうしまし


とりあえずインデト文字のうちスペースを入力したときに選択範囲が全角文字の前半部分ばかりを移動してしまって全く入力が行われないのを改善した>fix_indentation.rev5 (7.8KiB, diff to trunk2@1674)

また従来は矩形選択範囲が折り返し桁に達した場合行番号はそのままで選択範囲が行頭に移動して循環していたが折り返し桁でとどまるようになったこれは意図したものではないが従来の挙動を期待する人がいるとも思えないのでそのまま

折り返しといえば

1|ABC<
2|DEF<
3|GHI<

CFIを矩形選択して _を入力したとき_FIの直前に入力されるわけではないというのはどう考えられているのだろうこれがあるから矩形選択入力と折り返しを組み合わせてはいけないどんな結果も期待してはいけないと思っている


タブが入力されたときもおかしなことにならないように改善した>fix_indentation.rev6 (8.4KiB, diff to trunk2@1674)

原因はインデト文字の入力をスキップされた行が取り残されることにある入力がタブだったりしたら 8桁分選択範囲が後ろに移動することもあるわけでそのとき選択範囲の中に収まっている文字はタブの入力をスキップされた行においてはーザーが最初に選択した文字とは全く異なっているインデト文字の入力スキップがインデトを揃えるためにあるというのならば実際そこにインデト文字があるかどうかをチックしてあるときだけ入力をスキップすればよい条件を厳しくすることで全角文字が取り残されることがなくなった

1行目と 2行目をどこでも幅1矩形選択してタブを入力する最初に選択した文字が取り残されないことを確認する

あいうえお
1かきくけこ

4タブ設定「うの前半「きの後半を幅1矩形選択してタブをいくつか入力したとき初回だ「うが後ろに行きすぎるこれはもうあきらめている


 @2009-11-10

0123456789
あいうえお
1かきくけこ
(TAB幅は4の設定)

で、1行目の「4」の左から3行目の「き」の右までを矩形選択(幅1桁)して
TABを3回入力すると、1行目の「4」の左右にTABが入ります。 

これは「これはもうあきらめている(@2009-11-09)ースなんですよね事前に選択行をすべてチックする必要があるように思えたので……*っとやってみます

行番号が55行ほどずれてしまっていま...

っかりしていました矩形選択中にカーソルが折り返し桁一つ手前で折り返してしまうことの対策と同じブランチを使っているせいだと思います。

 Editor.Char(9) と Editor.IndentTab() の使い分け

すでに BOOL bIndent引数が存在するのだからこれを厳密に適用しようということですね悪くないと思いますし対象も重なっていますがっしょくたにしていいものか……


矩形選択範囲がタブ境界にあり全角文字の前半分が範囲からはみ出しているときにタブを挿入すると行によりタブの幅が最小と最大になってしまい選択されていた文字を選択範囲内にとどめることができなくなってしまう問題に対処した>fix_indentation.rev7 (10.2KiB, 今度こそ diff to trunk2@1674)


 @2009-11-11

あいうえお
1かきくけこ

で、「い」の左から「き」の右まで矩形選択します。
まず、「さ」を入力します。
次に、「a」を入力します。
結果、1行目には「さ」の手前に「a」が入ってしまいます。 

不安に思っていてでも知らぬが仏とばかりに追求しようとしなかった部分(全角文字の入力)を見事に突いてきますね(すごくありがたいで)

TABを含めた文字列をクリップボドから貼り付けた場合

この場合はインデトではありませんし揃えることよりもクリップボドの中身を指定された場所に貼り付けることが第一だと思います。これまで通り

'int' から 'CLayoutInt' に変換できません

直しました個人的にデバッグモドのエラーを潰すためだけに CLogicInt(0)static_cast<CLogicInt>(0)と書かされるのが嫌なのですねせめて警告にしろと(無視する気満々)っても仕方ないです


三日前から毎日これぞ決定版と思ってるんだけど今日こそ >fix_indentation.rev8 (10.8KiB, diff to trunk2@1674)


 @2009-11-12

 selectionIsOutOfLineの判定条件が(たぶん)おかしいです。
(括弧が足りてない気がします)

詳細なレポトありがとうございます。条件演算子の優先順位は &&||の次ですからっしゃるとおり reachEndOfLayout && の部分も含めて ? の前と後ろの二つにわかれてしまっています。)A&&B?C:D)A&&(B?C:D)

一日を失う手痛いミス >fix_indentation.rev8.1 (10.8KiB, diff to trunk2@1674)


 @2009-11-13 メモ

  • タブキーとスペースキーにはそれぞTABインデSPACEインデ機能が割り付けられている
  • ABという文字の入力は ABというキーに割り付けられた機能によるものではない
  • タブキーとスペースキーに割り付けられた機能を削除してもタブやスペースの入力が行える
  • ただしトタブTABインデの機能
  • 選択範囲をタブやスペースでインデトできるのももちろTABインデSPACEインデの機能

インデト揃えにからむ機能のオンオフを機能の割り付けでコトロールできるかと思ったがTABインデトが高機能なので取捨選択ができなければ意味がない

タブインデトとタブ文字の入力を区別>fix_indentation.rev9


 @2009-11-15

矩形選択入力で(TABインデトや SPACEインデトによらない)タブやスペースを改行文字の後ろや空行にも挿入するように矩形選択中のTABインデトと区別されるタブ文字の入力と SPACEインデトと区別されるスペースの入力は前例がないので自由に変更しています。>fix_indentation.rev9.1 (13.4KiB, diff to trunk2@1674)

rev9.1を眺めていて従来の動作に疑問テキトが選択されていなかったり選択範囲が一行だけだったときCommand_INDENT_TAB()Command_INDENTの代わりに Command_WCHAR()を呼び出す。これにより選択範囲が一行のときだけインデトではなく選択範囲がタブで上書きされる潔癖より実用本位ということだろうけど


 収支

わかっている範囲では以下の四つが改善され二つの非互換が確認されている

  • 矩形選択で改行文字の手前にインデト用の文字(タブとスペース)を挿入できる

    ABC
    ABC

    Cの後ろを幅0矩形選択してスペースを二回入力して(なぜか)全体が選択されたあと行頭がインデトされたりしないことを確認する

  • 矩形選択範囲の先頭が全角文字やタブなど幅広の文字のときインデト用の文字の挿入が桁揃えのためにスキップされても選択範囲の移動幅が入力文字と異なることがない

    あいう
    abc

    一桁目(あの前半とa)を矩形選択してスペースを二回入力し(奇妙に) aの前と後ろにスペースが挿入されたりしないことを確認する(あをタブにするともっと極端な結果を確認でき)

  • 矩形選択範囲が全角文字の前半ばかりを移動してしまいスペースが入力できなくなったりしない

    あいうえお
    1かきくけこ

    1行目と 2行目をどこでも幅1矩形選択してスペースをいくつか入力し入力が連続してスキップされないことを確認する

  • 矩形選択してタブを入力したとき最初に選択されていた文字を置いてきぼりにして選択範囲が後ろに移動したりしない

    あいうえお
    1かきくけこ

    1行目と 2行目をどこでも幅1矩形選択してタブをいくつか入力し最初に選択した文字が範囲内に残っていることを確認する

  • (非互) 矩形選択中に文字を入力し続けたとき範囲が折り返し桁から行頭にループしない
  • (非互) タブひとつの貼り付けスペースひとつの貼り付けTABインデトを割り付けていないタブキー入力SPACEインデトを割り付けていないスペースキー入力で矩形選択中のインデト揃え機能が発動しなくなったまたほかの文字と同じように改行の後ろや空行にもそれらが挿入されるようになったEditor.Char(9)Editor.Char(32)の結果も同じように変わっているはず。

 @2009-11-18

(何人いるのかわからない)ななしさんに協力してもらったということもあるのでッチにして投稿しなければいけないとは思っていたがあまりに次々バグ報告が来たので寝かせておく期間が必要かもとも思っていたでも目を通した上で代わりにやってくれるのは歓迎です。>unicode:1054, SourceForge.net: Sakura Editor: Detail: 2899665 - 矩形入力動作の改善

追加修正もあるようで

  • トタブ設定のときに挿入するスペースの数を選択一行目だけで判断せずすべての行(文字の前半分だけ選択範囲からはみ出してる行なども含めて)に対して適切な数を選ぶ
    • っとできる対処が思いつかなかったので見て見ぬふりをしました
  • Command_INDENT()Command_WCHAR()の交差した呼び出しを解消
    • 内部の話
  • SPACEインデトによる全角文字の左側揃え選択幅1のときは全角文字の凸凹を調整して揃える(>>dev:4136)
    • どこを選択してスペース3つなのかが書いていなかったので読み飛ばした部分です。

元に戻った点も

  • 0矩形選択時のインデトで選択範囲最大化
    • 今日の日記の最初をみるとわかるが掲示板に投稿され「改行文字直前の幅0矩形選択インデトが行頭インデトになるのを修正するのはついでで範囲が勝手に最大化されるのをやめることが個人的なスタト地点だっただか「微妙だが自ら引導を渡すほど忌むような挙動でもないかな?という見方には同意できないがこのパッチにより矩形選択範囲が幅0であることに特別な意味がなくなるので野良パッチ野良ビドで対処しやすくはなる前進

ダウンロドしてパスは通していたものの今日初めて patch.exeを使ったつまずいた点は

  1. ッチに記述されたパスにあうようにカレトリを設定したなら -p0 オプションが必要(デフトの動作ではパスを無視してファイル名だけをみるた)
  2. Subversionがよく出力する LF/CRLF混合の差分は受け付けなかったのでCRLFに統一

GNU patch5年ぶりにバージョンアップ バージョン2.6リリス:CodeZineなんて話題が今月にあったけどールされていたのはこんな patch見慣れた名前があります。

patch 2.5.4
Copyright 1984-1988 Larry Wall
Copyright 1989-1999 Free Software Foundation, Inc.

This program comes with NO WARRANTY, to the extent permitted by law.
You may redistribute copies of this program
under the terms of the GNU General Public License.
For more information about these matters, see the file named COPYING.

written by Larry Wall and Paul Eggert

* 追記@2009-11-18 http://sakura-editor.sourceforge.net/cgi-bin/cyclamen/cyclamen.cgi?log=dev&v=4137#4137 にまさにその手順が書かれていたっと見で理解できなかったので例によって読み飛ばしていたというよりこの例は再現手順に不備があるので問題の所在から理解できていなかった

本日のツッコミ(25) ッコミを入れる

Before...

ななしデバッグモドでコンパイルすると4883行で error C2440: 'int' から 'CLayoutInt..

ななしrev8す。 あいうえお 1かきくけこ 0123456789 「いの右側から3行全部を0幅選択してスペ..

ななしrev8.1OKな気がします。 いい感じ (^^)

anonymouse「1文字のTAB/SPACE入力が必ずインデト扱いになってしまっていて変 (20091110() 10..

ななし念のため 上記の タブキーとスペースキーに割り付けられた機能を削除すると  複数行選択したときのタブやス..

ds14050ええと具体的にどういう動作が不満でどういう結果になるのがよいのでしょうrev.9版のバイナリは http:/..

ななし行末を超えた位置にも通常文字は入る SPACEーにインデトを割り付けて*いない*ときは 行末を超えた位置に..

ds14050この部分ですね ---- if( nDataLen == 1 && IsIndentChar( pData[0] ..

ななしnDataLen == 1 && IsIndentChar( pData[0] ) なんていう条件だと クリ..

ななし> 選択範囲が一行だけだったときCommand_INDENT_TAB()Command_INDENTの代わり..

ds14050>1字のSPACE/TABという条件はドをはじめて見た >瞬間におかしいと思ったし誰でも同じことが想像でき..

ds14050どうしようもないな「元の挙動を残し<<<大嘘

ds14050なんかもうぐだぐだだけど気づいてしまってので訂正 >知らないのは事実です。最初のコメトに書いたとおり 最初の..


20091104()

最終更: 2009-11-05T05:03+0900

[tDiary] リンク>tDiary用目次プラグイン -っき (2009-11-04)

いやらしいプラグインだなあ()

しかしこの変哲のないただリンクに見えるもののどこに着目してgoogleは小見出しを作成してるんだ