緑の記憶
[トップに戻る] [留意事項] [ワード検索] [携帯に掲示板アドレスを送信] [管理用]
名前
Eメール
タイトル  
メッセージ
参照先
暗証キー (英数字で8文字以内)
文字色

これはバグでしょうか? 投稿者:小川義行 投稿日:2006/12/24(Sun) 12:33 No.329   HomePage
Frozenさん、早速のお返事ありがとうございます。

下記に情報を提供いたします。
なお、私のディスクの構成を公開することにはためらいを感じますので、フォルダ名については下記のようにアルファベット大文字1文字を使った仮名とさせていただきます。
なお、"Rekisaはブランク状態で立ち上がります"の結果を、"反応なし"と表現しています。
なお、Frozenさんの打たれたコマンドをサイトからコピーアンドペーストして私のと比べてみましたが、完全に一致していたようです。
必要とあれば、OSやファイルシステムなどのこちらの環境を提供しますが、公開することにはためらいを感じます。

【操作内容】

1、検索対象のファイル

地域と言語のオプション_詳細設定_unicode 対応でないプログラムの言語.sysexpのプロパティ
場所:C:\A\B\C サイズ:20.4 KB (20,927 バイト) ディスク上
のサイズ:24.0 KB (24,576 バイト)
2006-12-22-1719地域と言語のオプション_詳細設定_unicode 対応でないプログラムの言語.sysexpのプロパティ
場所:C:\A\B\D サイズ:20.4 KB (20,927 バイト) ディスク上
のサイズ:24.0 KB (24,576 バイト)


2、コマンドプロンプトから下記のように入力し、Enterを押して実行。

なお、実行ファイルを直接実行しないで、実行ファイルのショートカットを作り、下記のようにリネームして、そのショートカットをおいているフォルダにパスを通して実行しています。

rekisaexe.lnk "C:\A\B\?.*/?.*地域と言語のオプション_詳細設定_unicode 対応でないプログラムの言語.sysexp
これを便宜上"最初の状態"と呼びます
反応なし
------------------------------------------------------------------------------------------------------------------
(必要ないはずだが)"閉じ"の“"”を行末に加えて再実行
rekisaexe.lnk "C:\A\B\?.*/?.*地域と言語のオプション_詳細設定_unicode 対応でないプログラムの言語.sysexp"
反応なし
------------------------------------------------------------------------------------------------------------------
(スペースに対処するための)コマンドに渡すパラメータ前後の“"”を取り去り、その代わりにスペースを"."で置き換えて再実行
rekisaexe.lnk C:\A\B\?.*/?.*地域と言語のオプション_詳細設定_unicode.対応でないプログラムの言語.sysexp
反応なし
------------------------------------------------------------------------------------------------------------------
最初の状態にして再実行
rekisaexe.lnk "C:\A\B\?.*/?.*地域と言語のオプション_詳細設定_unicode 対応でないプログラムの言語.sysexp
反応なし
------------------------------------------------------------------------------------------------------------------
上記の状態からスペースを".*"で置き換えて再実行
rekisaexe.lnk "C:\A\B\?.*/?.*地域と言語のオプション_詳細設定_unicode.*対応でないプログラムの言語.sysexp
反応なし
------------------------------------------------------------------------------------------------------------------
(これではヒットするはずはないが)正規表現使用のための"?"と、prefixの付いたものと付かないものを検索させるためにファイル前に付けていた".*"を削除して再実行
rekisaexe.lnk "C:\A\B\?.*/地域と言語のオプション_詳細設定_unicode.*対応でないプログラムの言語.sysexp
反応なし
------------------------------------------------------------------------------------------------------------------
最初の状態にして再実行
rekisaexe.lnk "C:\A\B\?.*/?.*地域と言語のオプション_詳細設定_unicode 対応でないプログラムの言語.sysexp
反応なし
------------------------------------------------------------------------------------------------------------------
(ファイル名の長さが原因?かとも思い)半幅スペース前のファイル名をすべて".*"にまかせて再実行
rekisaexe.lnk "C:\A\B\?.*/?.*対応でないプログラムの言語.sysexp
2件ヒット
------------------------------------------------------------------------------------------------------------------
上記の状態から半幅スペースだけ加えてみて再実行
rekisaexe.lnk "C:\A\B\?.*/?.* 対応でないプログラムの言語.sysexp
2件ヒット
------------------------------------------------------------------------------------------------------------------
上記の状態から_unicodeまで加えてみて再実行
rekisaexe.lnk "C:\A\B\?.*/?.*_unicode 対応でないプログラムの言語.sysexp
反応なし
------------------------------------------------------------------------------------------------------------------
上記の状態から"_"だけ削除して再実行

rekisaexe.lnk "C:\A\B\?.*/?.*unicode 対応でないプログラムの言語.sysexp
反応なし
------------------------------------------------------------------------------------------------------------------
上記の状態から"u"だけ削除して再実行

rekisaexe.lnk "C:\A\B\?.*/?.*nicode 対応でないプログラムの言語.sysexp
2件ヒット
------------------------------------------------------------------------------------------------------------------
最初の状態から英小文字の"u"を"."に変えて下記のように再実行
rekisaexe.lnk "C:\A\B\?.*/?.*地域と言語のオプション_詳細設定_.nicode 対応でないプログラムの言語.sysexp
2件ヒット
------------------------------------------------------------------------------------------------------------------
最後のコマンドが成功したことにより、"英小文字の"u"が原因"のように思ったしだいです。

>使用されているRekisaのバージョン

1.Rekisa 差分表示アプリケーションのツールバー?の"ヘルプ(H)"から"バージョン情報"をクリック:

Rekisa のバージョン情報
差分表示ソフト Rekisa version 0.30.004
Copyright 2004-2005 Frozen

2.Rekisa.exeの実行ファイルを右クリックしてプロパティを表示:

Rekisa.exeのプロパティ
バージョン情報
ファイル バージョン: 0.30.4.30410

詳細
項目: 値:
Assembly Version: 0.30.4.30410
ファイル バージョン: 0.30.4.30410
製品バージョン: 0.30.4.30410


Re: これはバグでしょうか? Frozen - 2006/12/25(Mon) 00:36 No.330  

小川義行さん、詳しい情報をありがとうございました。

こちらでは、上記のコマンドを実行しても "反応無し" を再現する事はできなかったのですが、
書いて頂いた情報を見ると、

「Rekisaが正規表現を使用して検索を行う際に、大文字小文字を区別していた。」

事が原因かもしれません。


使用してるファイルシステムによっては、
「エクスプローラから見たファイル名」と「Rekisaから認識できるファイル名」で
大文字小文字が異なっている事があるようです。

そのため、Rekisaから認識できるファイル名が
"地域と言語のオプション_詳細設定_Unicode 対応でないプログラムの言語.sysexp" (Uは大文字)
となっていて、正規表現に一致しなかったのではないかと考えています。


そこで、この問題の対処として、
正規表現を使用してファイルの検索を行う際に、大文字小文字の違いを無視するようにした
Rekisa version 0.32.017を公開致しました。
(http://hp.vector.co.jp/authors/VA017396/software/Rekisa/index.html)

もし、差し支えなければ、こちらを試して頂けると幸いです。



これはバグでしょうか? 投稿者:小川義行 投稿日:2006/12/23(Sat) 21:32 No.327   HomePage
Rekisa、先月から愛用させていただいております。
本日、気がついたことがありましたので、報告いたします。
違うディレクトリにある、二つのファイルをコマンドプロンプトから検索実行したときのことです。
その二つのファイルの名前は次のようなものです。

地域と言語のオプション_詳細設定_unicode 対応でないプログラムの言語.sysexp

片方は、"2006-12-22-1719"というprefixの付いたもの、もう一方は付かないものです。

prefixの付いたものと付かないものを検索させるために、正規表現".*"を下記のように付けて実行しました。

.*地域と言語のオプション_詳細設定_unicode 対応でないプログラムの言語.sysexp

Rekisaはブランク状態で立ち上がります。

試行錯誤の結果、英小文字の"u"が原因のように思われました。

そして、英小文字の"u"を"."に変えて下記のように実行したら、prefixの付いたものと付かないものの2件を検索させることができました。

.*地域と言語のオプション_詳細設定_.nicode 対応でないプログラムの言語.sysexp

ご意見を賜りたく存じます。


Re: これはバグでしょうか? Frozen - 2006/12/24(Sun) 00:26 No.328  

小川義行さん、こんばんは。
ご報告ありがとうございます。

以下のような手順で再現を試みたのですが、
> Rekisaはブランク状態で立ち上がります。
という状態を再現する事はできませんでした。


======================================================
【Rekisaのバージョン】 0.32.016 および 0.50.002
【操作内容】

1、空のファイル
「Z:\app\A\2006-12-22-1719地域と言語のオプション_詳細設定_unicode 対応でないプログラムの言語.sysexp」
「Z:\app\B\地域と言語のオプション_詳細設定_unicode 対応でないプログラムの言語.sysexp」
を作成。

2、コマンドプロンプトから
「C:\App\Rekisa\Rekisa.exe "Z:\app\?.*/?.*地域と言語のオプション_詳細設定_unicode 対応でないプログラムの言語.sysexp"」
と入力し、Enterを押して実行。

3、Rekisaが、
「Z:\app\A\2006-12-22-1719地域と言語のオプション_詳細設定_unicode 対応でないプログラムの言語.sysexp」
「Z:\app\B\地域と言語のオプション_詳細設定_unicode 対応でないプログラムの言語.sysexp」
の2つのファイルが開かれた状態で起動。

======================================================

細かな操作方法(できれば、コマンドプロンプトから入力した文字列そのもの)と、
使用されているRekisaのバージョンを教えて頂けないでしょうか?

よろしくお願い致します。


比較フィルタ 投稿者:jacky 投稿日:2006/12/14(Thu) 12:54 No.314  
最近、本ソフトを発見し、見やすさに感動させてもらってます。

仕様と言われるかもしれませんが、質問がございます。
改行を比較フィルタしたいと思っていますが、期待する比較を行いません。

正規表現は、"[\n]"→""と書いています。
入力フィルタでは、上手くいきます。

やりたい事としては、行間を空けるための改行だけの箇所をフィルタしたいのです。

バージョンは、0.32.016です。

よろしくお願いします。


Re: 比較フィルタ Frozen - 2006/12/14(Thu) 19:36 No.316  

こんにちは、jackyさん。

> 改行を比較フィルタしたいと思っていますが、期待する比較を行いません。
これは、Rekisaが比較フィルタを行単位で適用している事が原因となっております。

比較フィルタを複数行に適用させる事は、内部処理の都合上、難しいのですが、

> 行間を空けるための改行だけの箇所をフィルタしたい

という事でしたら、

"^$\n" → "" (長さ0の行を削除)
又は
"^$[  \t]*\n" → "" (半角空白、全角空白、タブ以外の文字が含まれない行を削除)

という入力フィルタを使用してみてはいかがでしょうか?


Re: 比較フィルタ jacky - 2006/12/15(Fri) 12:53 No.317  

早速のお返事、ありがとうございます。

長さ0の改行のフィルタは、入力フィルタしかできないのですね。
視野的に比較フィルタがよかったので残念です。

対応して頂けるかわかりませんが、改行の比較フィルタを行いたかった理由は、以下のような比較をしてしまうからです。


【ファイル1】

void FunctionA( int i )
{
i = i + 1;

/* 終了 */
}

void FunctionB( int i )
{

i = i + 2;

}


【ファイル2】

void FunctionA( int i )
{
i = i + 1;

if ( i == 2 ) {

i = i + 2;
}

/* 終了 */
}


この2つのファイルの違いは、
・FunctionAにif分が有りと無し。
・FunctionBが有りと無し。
の2点です。

ところが実際に実行してみますと、長さ0の行を一致箇所として区切った判断をし、難解な比較をしてしまいます。

ファイル1のFunctionAの「i = i + 1;」から、FunctionBの「}」まで、長さ0の行の数と、ファイル2のFunctionAの「i = i + 1;」から、FunctionAの「}」まで、長さ0の行の数が一致した場合に発生します。


これを防ぐために、長さ0の行を比較フィルタしたかったのです。
もちろん、入力フィルタを行った場合は、発生しません。


※前回の正規表現が間違っていました。
[\n]で入力フィルタを行った場合は、全改行が無くなってしまいますね。
[\n]$で、長さ0の行は入力フィルタされました。比較フィルタはできませんが…。


対応して頂けますと大変助かります。
無理は言いませんが。

以上、よろしくお願いします。


Re: 比較フィルタ jacky - 2006/12/15(Fri) 13:09 No.318  

すみません間違えました。
ファイル2の改行が足りませんでした。
以下です。


【ファイル2】

void FunctionA( int i )
{
i = i + 1;


if ( i == 2 ) {

i = i + 2;
}

/* 終了 */
}




Re: 比較フィルタ Frozen - 2006/12/17(Sun) 17:17 No.321  

> ところが実際に実行してみますと、長さ0の行を一致箇所として区切った判断をし、難解な比較をしてしまいます。

なるほど、空行によって、比較結果が変わってしまう事が問題だったのですね。

私もこの点は気になっていましたので、
「正規表現で指定した行を、比較結果の計算時に無視したり、優先的に一致させたりする機能」
の追加を予定しております。

ただ、こちらの機能も内部構造を大きく変更する必要がある為、実装はしばらく後になってしまうと思います。


Re: 比較フィルタ jacky - 2006/12/18(Mon) 08:47 No.322  

了解致しました。

実装される事を待っています。


編集機能について 投稿者:アサ 投稿日:2006/11/25(Sat) 10:23 No.304  
本日このソフトを見つけて試用させていただいたら、とてもわかりやすく便利でしたので一つ要望をお願いいたします。

変更箇所がわかりやすいのですが、テキストの内容を直接編集する機能を追加していただけないでしょうか?
別のテキストを開いてやってはみたものの、やはり手間がかかるので、出来れば実装していただきたいと思います。
ご検討のほどよろしくお願い致します。


Re: 編集機能について Frozen - 2006/11/25(Sat) 15:05 No.305  

こんにちは、アサさん。

> 変更箇所がわかりやすいのですが、テキストの内容を直接編集する機能を追加していただけないでしょうか?
> 別のテキストを開いてやってはみたものの、やはり手間がかかるので、出来れば実装していただきたいと思います。

残念ですが、Rekisaはテキストの変更を前提とした作りになっていない為、編集機能の追加は難しいです。

NoEditor等のような、テキスト比較に対応したエディタを使用してみてはいかがでしょうか?


Re: 編集機能について アサ - 2006/11/26(Sun) 00:22 No.306  

そうですか・・・。一通りいろんなソフトを試した結果、一番見やすかったもので・・・。
ありがとうございました。


[要望]メイン画面の幅変更機能 投稿者:犬尾 投稿日:2006/10/02(Mon) 15:17 No.284  
はじめまして。
Rekisaをいつも便利に使わせていただいております。

たまに差分表示の比較元/先を集中的に見たい事があります。
表示幅の動的変更が可能であれば、こう言う場合にえいやっ
と表示幅の変更を行って、特定ファイルだけ重点的に見れて
作業効率が上がります。
(WinMergeの左右のペイン幅の率を変えられるイメージ)

実装を検討いただけないでしょうか。


Re: [要望]メイン画面の幅変更機能 Frozen - 2006/10/03(Tue) 23:37 No.285  

こんばんは、犬尾さん。

> たまに差分表示の比較元/先を集中的に見たい事があります。
> 表示幅の動的変更が可能であれば、こう言う場合にえいやっ
> と表示幅の変更を行って、特定ファイルだけ重点的に見れて
> 作業効率が上がります。

確かに、表示幅の変更ができると便利そうですね。

今までのRekisaでは、表示の動的変更は想定していなかったので
簡単に実現できるかどうかわかりませんが、
暇な時に手を付けてみようと思います。

Link - 転職ならen転職ならエン派遣ならenアルバイトならen履歴書ならen紹介予定派遣ならen求人ならen転職支援ならen

| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
NO: PASS:


無料掲示板レンタル「ADVEN-BBS」/10/17更新/YouTubeランキング
original:KENT