先頭に空白を含むファイルが開けないNo.08341
かかし さん 01/04/11 14:55
 
かかしです、こんにちは。


掲題の件ですが
C:\ aaa.txt
というファイルがあります。
ダブルクリックをすると秀丸が立ち上がるのですが、
秀丸のWindow上で「ファイル」「開く」を選択すると

"c:\aaa.txt"が見つかりません。

とエラーが出ます。・・・案件(1)

#無理矢理 " aaa.txt"で括ると開くことができます。

grepの結果からタグジャンプもできません。・・・案件(2)

(1)は、仕様で多分そうなっている・・のでしょうか?
(2)の件は、対処できませんでしょうか?

以上2点、よろしくお願いします。
---かかし

[ ]
RE:08341 先頭に空白を含むファイルが開けNo.08344
TAKA さん 01/04/11 16:25
 
TAKA です。

>(1)は、仕様で多分そうなっている・・のでしょうか?

複数ファイルの指定をしてファイルを開く際にはスペースが区切り
になるので、スペースをファイル名と認識させるとまずいからだと
思います。
そのようなファイルを開く時には、かかしさんの推測通り""でくく
るしかないと思います。


>(2)の件は、対処できませんでしょうか?

「TEST.TXT」というファイルをタグジャンプする時に、現状の仕様
では、

//---- タグジャンプ用テストファイル(ここから)
TEST.TXT
 TEST.TXT
  TEST.TXT
//---- タグジャンプ用テストファイル(ここまで)

先頭にスペースがあっても「TEST.TXT」が開けますので、仕様変更
によって、2行目と3行目ではタグジャンプ出来なくなってしまい
ます。
#仕様変更によって、困る人は少ないかもしれませんが。


ところで、かかしさんはファイル名の先頭がスペースのものはどの
ようにして作成されたのでしょうか?
エクスプローラーではファイル名の変更で先頭にスペースを入れる
ことは出来ませんでしたが。

[ ]
RE:08341 先頭に空白を含むファイルが開No.08345
山紫水明 さん 01/04/11 16:31
 
SUB:RE:先頭に空白を含むファイルが開けない
 かかしさん,こんにちは。

》grepの結果からタグジャンプもできません。・・・案件(2)

  別に"aaa.txt" というファイルがあって,そこにヒット箇所があるとそちらにジ
ャンプしてしまいますね。

》(2)の件は、対処できませんでしょうか?

 対処できるかどうかは秀丸担当さんにお答えいただくとして,現状ではGrepの結
果に出てくる当該ファイル名を,やはり "  " でくくるしかないようですね。これ
自体は置換ですぐできることですが。

     では, (^^)/~
                                        山紫水明

[ ]
RE:08344 先頭に空白を含むファイルが開けNo.08346
かかし さん 01/04/11 16:45
 
かかしです、こんにちは。

TAKAさん、こんにちは。

>>(1)は、仕様で多分そうなっている・・のでしょうか?
>
>複数ファイルの指定をしてファイルを開く際にはスペースが区切り
>になるので、スペースをファイル名と認識させるとまずいからだと
>思います。
>そのようなファイルを開く時には、かかしさんの推測通り""でくく
>るしかないと思います。

あ、やっぱりそうでしたか。
複数開ける機能は便利ですし、こっちの件は対処法も見つかったので
問題はありません。

>>(2)の件は、対処できませんでしょうか?
>
>「TEST.TXT」というファイルをタグジャンプする時に、現状の仕様
>では、
>
>//---- タグジャンプ用テストファイル(ここから)
>TEST.TXT
> TEST.TXT
>  TEST.TXT
>//---- タグジャンプ用テストファイル(ここまで)
>
>先頭にスペースがあっても「TEST.TXT」が開けますので、仕様変更
>によって、2行目と3行目ではタグジャンプ出来なくなってしまい
>ます。
>#仕様変更によって、困る人は少ないかもしれませんが。

タグジャンプの仕様の問題となりますが、
少なくともgrepしてできたファイルから
ジャンプできないのでは、ちょっと困ったことになると思うのですが、
どうでしょうか?

>ところで、かかしさんはファイル名の先頭がスペースのものはどの
>ようにして作成されたのでしょうか?
>エクスプローラーではファイル名の変更で先頭にスペースを入れる
>ことは出来ませんでしたが。

あるメールソフトで、できたファイルが" 個人.mbx"というスペースを
頭に含んだ名前でした。

touch " test.c"
とやっても、ファイルは作れます。

# " で括ればスペースは意識しないようです。

---かかし

[ ]
RE:08345 先頭に空白を含むファイルが開No.08347
かかし さん 01/04/11 16:49
 
かかしです、こんにちは。

山紫水明さん、こんにちは。

>》grepの結果からタグジャンプもできません。・・・案件(2)
>
>  別に"aaa.txt" というファイルがあって,そこにヒット箇所があるとそちらにジ
>ャンプしてしまいますね。

そうなんです。
意図的なのか、そうでないのか、ちょっと分かりませんが。

>》(2)の件は、対処できませんでしょうか?
>
> 対処できるかどうかは秀丸担当さんにお答えいただくとして,現状ではGrepの結
>果に出てくる当該ファイル名を,やはり "  " でくくるしかないようですね。これ
>自体は置換ですぐできることですが。

それも、やってみたのですが、うまく行かなかったのですが、
どうでしたか?
やはり
"aaa.txt"を新規作成してしまいますが。

---かかし

[ ]
RE:08347 先頭に空白を含むファイルが開No.08348
山紫水明 さん 01/04/11 17:34
 
 かかしさん,TAKAさん,こんにちは。

》>当該ファイル名を,やはり "  " でくくるしかないようですね。これ
》>自体は置換ですぐできることですが。

》それも、やってみたのですが、うまく行かなかったのですが、
》どうでしたか?
》やはり
》"aaa.txt"を新規作成してしまいますが。

 何かちょっとすれ違っているのかなー?
 私がいっているのは,Grep でズラズラ出てくるファイル名のうち,該当するフ
ァイル名を引用符でくくって(全ファイル名をくくっても別にかまいませんが)そ
の状態でタグジャンプすれば,正しくタグジャンプできることをいっているのいで
すが。
 どうして新規作成になるのかなー???
 環境が影響するのかなー?

》ところで、かかしさんはファイル名の先頭がスペースのものはどの
》ようにして作成されたのでしょうか?
》エクスプローラーではファイル名の変更で先頭にスペースを入れる
》ことは出来ませんでしたが。

 秀丸で名前を付けて保存するときに " " をつけてできました。

     では, (^^)/~
                                        山紫水明

[ ]
RE:08348 先頭に空白を含むファイルが開No.08349
かかし さん 01/04/11 17:54
 
かかしです、こんにちは。

みなさま、お世話になっております。

>》やはり
>》"aaa.txt"を新規作成してしまいますが。
>
> 何かちょっとすれ違っているのかなー?
> 私がいっているのは,Grep でズラズラ出てくるファイル名のうち,該当するフ
>ァイル名を引用符でくくって(全ファイル名をくくっても別にかまいませんが)そ
>の状態でタグジャンプすれば,正しくタグジャンプできることをいっているのいで
>すが。
> どうして新規作成になるのかなー???
> 環境が影響するのかなー?
---
 aaa.txt(1):
---
のタグジャンプは、うまく行きません。
---
" aaa.txt"(1):
---
でタグジャンプするとどうなるか?
ということで意識はあってます?

で、私の環境では
WinNT4.0sp5
Hidemaru3.08b1

<すでに、" aaa.txt"が開いているとき>
フォーカスはすでに開いているファイルにフォーカスがあう。

<閉じているとき>
「新規作成」

となります。
うーん。
---かかし

[ ]
RE:08346 先頭に空白を含むファイルが開けNo.08350
TAKA さん 01/04/11 18:03
 
TAKA です。

>>//---- タグジャンプ用テストファイル(ここから)
>>TEST.TXT
>> TEST.TXT
>>  TEST.TXT
>>//---- タグジャンプ用テストファイル(ここまで)
>>
>>先頭にスペースがあっても「TEST.TXT」が開けますので、仕様変更
>>によって、2行目と3行目ではタグジャンプ出来なくなってしまい
>>ます。
>>#仕様変更によって、困る人は少ないかもしれませんが。
>
>タグジャンプの仕様の問題となりますが、
>少なくともgrepしてできたファイルから
>ジャンプできないのでは、ちょっと困ったことになると思うのですが、
>どうでしょうか?

ちょっと困った問題ですね。
今の仕様を、変えるしかないかもしれませんね。


>>ところで、かかしさんはファイル名の先頭がスペースのものはどの
>>ようにして作成されたのでしょうか?
>>エクスプローラーではファイル名の変更で先頭にスペースを入れる
>>ことは出来ませんでしたが。
>
>あるメールソフトで、できたファイルが" 個人.mbx"というスペースを
>頭に含んだ名前でした。

そうでしたか。
山紫水明さんが言われるように秀丸で新規作成時にも出来たようで
すが、作れること自体知りませんでした。


山紫水明さんが言われるようにgrepの結果に対してファイル名を""
でくくるという方法もありますが、秀丸のgrepが標準でファイル名
をくくって出力するという方法もありそうですね。
ただ、既存のマクロなどがそのような前程で作られていない場合に
動かないものが出てくるかもしれませんが。


何にしろ、困った問題のようです。
後は、秀丸担当さんに、頭を抱えてもらうしかないようですね。


それでは。

[ ]
RE:08350 先頭に空白を含むファイルが開けNo.08353
秀丸担当 さん 01/04/11 18:29
 
>何にしろ、困った問題のようです。
>後は、秀丸担当さんに、頭を抱えてもらうしかないようですね。

むう、困った、問題ですね。
実はタグジャンプはけっこう曖昧に判断しているので、
先に空白があるファイルも検索してみれば解決するかも
しれません。

ちなみに現在の秀丸でも、以下の5行のテキスト

A.TXT
A.TXT(1)
A.TXT(2)
A.TXT AAA
A.TXT BBB

があったとして、ファイルは"A.TXT","A.TXT(2)","A.TXT BBB"
の3つのファイルしかない場合、テキスト3行目と5行目の
タグジャンプは成功します。
その代わり3行目と5行目では"A.TXT"にはジャンプできません。
(ちょっとわかりづらい説明かな・・)

[ ]
RE:08353 先頭に空白を含むファイルが開けNo.08354
かかし さん 01/04/11 18:53
 
かかしです、こんにちは。

秀丸担当さん、こんにちは。

>むう、困った、問題ですね。
>実はタグジャンプはけっこう曖昧に判断しているので、
>先に空白があるファイルも検索してみれば解決するかも
>しれません。

ちなみに、タグジャンプの仕様って、どうなっているか差し支えなければ
教えていただけませんか?

実際、それほど困っているわけでもないので、
「こういう仕様だから、この場合は動作しません。」
といっていただければ、問題はないのですが・・・。

理想としては、
「行頭から "^.*\f\([0-9]+\):" までを探し、\0に"を付けてファイルを開く。」
だといいなあ、と思ったのです。

>ちなみに現在の秀丸でも、以下の5行のテキスト
>
>A.TXT
>A.TXT(1)
>A.TXT(2)
>A.TXT AAA
>A.TXT BBB
>
>があったとして、ファイルは"A.TXT","A.TXT(2)","A.TXT BBB"
>の3つのファイルしかない場合、テキスト3行目と5行目の
>タグジャンプは成功します。
>その代わり3行目と5行目では"A.TXT"にはジャンプできません。
>(ちょっとわかりづらい説明かな・・)

通常のgrepでの結果以外での使用にも耐えられる仕様(しゃれじゃないよ;-p)
なんですね。

---かかし

[ ]
RE:08349 先頭に空白を含むファイルが開No.08357
山紫水明 さん 01/04/11 20:49
 
 かかしさん,こんばんは。

》---
》 aaa.txt(1):
》---
》のタグジャンプは、うまく行きません。

 同じくうまくいきません。

》---
》" aaa.txt"(1):
》---
》でタグジャンプするとどうなるか?
》ということで意識はあってます?

 そうです。あってます。

》で、私の環境では
》WinNT4.0sp5
》Hidemaru3.08b1

 こちらは, Windows98 + 秀丸3.08 です。

》<すでに、" aaa.txt"が開いているとき>
》フォーカスはすでに開いているファイルにフォーカスがあう。

 同じです。

》<閉じているとき>
》「新規作成」
》となります。

 ここが違いますね。当該ファイルを開いてタグジャンプします。

》うーん。

 再び同じです。(^^;
 TAKA さんのところはどうなんだろう?

     では, (^^)/~
                                        山紫水明

[ ]
RE:08357 先頭に空白を含むファイルが開No.08358
TAKA さん 01/04/11 21:53
 
TAKA です。

> TAKA さんのところはどうなんだろう?

以下のようにテストしてみました。

先頭がスペースのファイルを用意

// c:\ aaa.txt(ここから)
TEST
// c:\ aaa.txt(ここまで)


grepで「TEST」を対象にして

// grep結果(ここから)
 aaa.txt(1): TEST
// grep結果(ここまで)

この結果に対してタグジャンプを行うと、「c:\ aaa.txt」を開い
ていても閉じていても「ファイルが見つかりません」というダイア
ログが出ます。
これは、予想どおりです。(ファイル名が「c:\aaa.txt」として認
識されているため)


次にgrep結果を編集して

// grep編集結果(ここから)
" aaa.txt"(1): TEST
// grep編集結果(ここまで)

として、
ファイルを開いている状態でタグジャンプを行うと、
「c:\ aaa.txt」がアクティブになりました。
#良い感じ

ファイルを開いていない状態でタグジャンプを行うと、
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
「c:\aaa.txt」(先頭にスペースなし)を新規で開きました。
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
#何故だー(T_T)

Windows ME + 秀丸 3.08です。

[ ]
RE:08358 先頭に空白を含むファイルが開No.08359
TAKA さん 01/04/11 22:13
 
TAKA です。

追加テストとして、grepをフルパス出力でテストしてみました。

先頭がスペースのファイルを用意

// c:\ aaa.txt(ここから)
TEST
// c:\ aaa.txt(ここまで)

grepで「TEST」を対象にして

// grep結果(ここから)
C:\ aaa.txt(1): TEST
// grep結果(ここまで)

ファイルを開いている状態でタグジャンプを行うと、
「c:\ aaa.txt」がアクティブになりました。
ファイルを開いていない状態でタグジャンプを行うと、
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
「c:\aaa.txt」(先頭にスペースなし)を新規で開きました。
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
#えーーー


次にgrep結果を編集して

// grep編集結果(ここから)
"C:\ aaa.txt"(1): TEST
// grep編集結果(ここまで)

として、
ファイルを開いている状態でタグジャンプを行うと、
「c:\ aaa.txt」がアクティブになりました。
ファイルを開いていない状態でタグジャンプを行うと、
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
「c:\aaa.txt」(先頭にスペースなし)を新規で開きました。
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

[ ]
RE:08359 先頭に空白を含むファイルが開No.08360
山紫水明 さん 01/04/12 12:48
 
 かかしさん,TAKAさん,こんにちは。

》追加テストとして、grepをフルパス出力でテストしてみました。

 同じことをやってみました。
 今度は引用符でくくってもくくらなくても,同じように目的のファイルにジャ
ンプします。
 結局OSの違いで結果も異なってくるようです。

   では, (^^)/~
                                        山紫水明


[ ]
RE:08360 先頭に空白を含むファイルが開No.08361
かかし さん 01/04/12 13:18
 
かかしです、こんにちは。

TAKAさん、山紫水明さん、こんちは。
いろいろ試していただき、ありがとうございます。

>》追加テストとして、grepをフルパス出力でテストしてみました。
>
> 同じことをやってみました。
> 今度は引用符でくくってもくくらなくても,同じように目的のファイルにジャ
>ンプします。
> 結局OSの違いで結果も異なってくるようです。

結局そういうことですか。
OSの違いで、動作が違うことってあるんですね。

#NTも98もMEも2000も全部「Windows」で括ってしまう
#素人なもんで・・・。

##もっといえば、UNIXとLinuxも「同じようなもん」で片づけている
##私は、プロ失格です、はい。

別にコメントをしましたが、
 (hidesoft.2:08354| RE 08353 先頭に空白を含むファイルが開けない)

秀丸担当さんからの回答を待つことにしましょう。


---かかし

[ ]
RE:08358 先頭に空白を含むファイルが開No.08362
TAKA さん 01/04/12 13:32
 
TAKA です。

>この結果に対してタグジャンプを行うと、「c:\ aaa.txt」を開い
>ていても閉じていても「ファイルが見つかりません」というダイア
>ログが出ます。
>これは、予想どおりです。(ファイル名が「c:\aaa.txt」として認
>識されているため)

私がテストしたタグジャンプは「その他→タグジャンプ」ではなく
て、マクロの「tagjump」でした。で、タグジャンプが失敗したら、
「message "ファイルが見つかりません";」としていました。

「その他→タグジャンプ」も「tagjump」も秀丸内部ではタグジャ
ンプ出来る出来ないの結果は同じだとは思いますが。


しかし、OSによっても結果が違うというのは、これまた厄介な問
題ですね。

[ ]
RE:08361 先頭に空白を含むファイルが開No.08375
秀丸担当 さん 01/04/13 18:33
 
>別にコメントをしましたが、
>(hidesoft.2:08354| RE 08353 先頭に空白を含むファイルが開けない)
>
>秀丸担当さんからの回答を待つことにしましょう。

8353の策でいけるかと思ったのですが、OSによる違いがあるとなると
またちょっと考えなくてはならないかもしれません。

少なくともgrep結果だけでもできればいいですが、そうなると
ダブルクォーテーション""が必須になってくると思うので
考えものです。

[ ]