UNICODE ペースト時のメッセージNo.09529
ひろ さん 01/08/31 17:53
 
 秀丸担当さん今日は、ひろです。
 UNICODE にしか存在しない文字を貼り付けた場合、貼り付け先ウィンドの
文字コードによっては警告メッセージがでます。しかしこれはマクロで連続
処理をしているときは、邪魔になるだけのことがあります。
 そこで要望ですが、disableerrormsg の使用時など何らかの方法で、この
メッセージを出さない方法を用意して頂けないでしょうか?

[ ]
RE:09529 UNICODE ペースト時のメッセージNo.09578
秀丸担当 さん 01/09/03 19:05
 
> UNICODE にしか存在しない文字を貼り付けた場合、貼り付け先ウィンドの
>文字コードによっては警告メッセージがでます。しかしこれはマクロで連続
>処理をしているときは、邪魔になるだけのことがあります。

その場合はメッセージは出ずに単に'?'に変換されて貼り付けられる
だけだと思います。
保存の場合はメッセージが出ます。
保存の場合のことでしょうか?
たしかにマクロの場合はメッセージは邪魔ですね。

[ ]
RE:09578 UNICODE ペースト時のメッセージNo.09589
ひろ さん 01/09/04 11:42
 
 秀丸担当さん今日は、ひろです。
> > UNICODE にしか存在しない文字を貼り付けた場合、貼り付け先ウィンドの
> >文字コードによっては警告メッセージがでます。
<中略>
> 保存の場合のことでしょうか?
 このマクロでは一切保存はしていませんので、貼り付けのタイミングだと
思うのですが...。

[ ]
RE:09589 UNICODE ペースト時のメッセージNo.09624
秀丸担当 さん 01/09/05 18:37
 
>> 保存の場合のことでしょうか?
> このマクロでは一切保存はしていませんので、貼り付けのタイミングだと
>思うのですが...。

そんなハズは・・・、なんていうメッセージが出てますか?

[ ]
RE:09624 UNICODE ペースト時のメッセージNo.09628
ひろ さん 01/09/05 19:28
 
 秀丸担当さん今日は、ひろです。
> そんなハズは・・・、なんていうメッセージが出てますか?
 「Unicodeテキストが含まれていたので、?マークや同義の文字などに変換
して保存しました。」というメッセージです。
 また該当するマクロが存在するフォルダを save で検索してみましたが、
やはり保存系のコマンドは使っていませんでした。save という文字列が含
まれない保存系のコマンドは無いですよね。

[ ]
RE:09628 UNICODE ペースト時のメッセージNo.09632
ひろ さん 01/09/05 23:14
 
 秀丸担当さん今日は、ひろです。
> そんなハズは・・・、なんていうメッセージが出てますか?
 少し真面に調査してみました。
 どうやらペースト時ではありませんが、保存時でもありません。
menu "1";
setactivehidemaru ##1;
menu "2";
として確認したところ、「1」と表示された後、件のメッセージがでます。
また menu 文の変わりに message 文を使うと、何故か 2 度メッセージがで
ます。

 また切り替えもと/先のどちらのウィンドも
showwindow 0;
で非表示にしているのですが、これをコメントアウトするとメッセージが出
なくなりました。(message 文を使っていると相変わらず出ます。)

 最後に肝心なことを書き忘れていました。grep の結果から該当ファイル
を開く処理をしているため、切り替え先のウィンドはバイナリファイルであ
り、コピー時にバイナリデータが入ってしまっています。

 P.S 「hidesoft.2:09591| RE 09581 showwindow 0;」へのコメントが忘れ
られている気がします。

[ ]
RE:09632 UNICODE ペースト時のメッセージNo.09643
秀丸担当 さん 01/09/06 18:18
 
> 最後に肝心なことを書き忘れていました。grep の結果から該当ファイル
>を開く処理をしているため、切り替え先のウィンドはバイナリファイルであ
>り、コピー時にバイナリデータが入ってしまっています。

(現在の内容)でgrepしているとしたら、現在の内容を一時ファイルに
保存しているので、そのときに保存のエラーが出ているのかもしれません。

menu や message や showwindow で変化するのが謎ですが。


[ ]
RE:09643 UNICODE ペースト時のメッセージNo.09660
ひろ さん 01/09/06 23:15
 
 秀丸担当さん今日は、ひろです。
> (現在の内容)でgrepしているとしたら、現在の内容を一時ファイルに
 (現在の内容) では行っていません。

 元々あらゆるファイルから検索したかったので、ファイル名に「*」を指
定してマクロを動作させたところ、今回のメッセージが出ることを発見しま
した。原因を特定しようと試みていたら、それが結果的に *.exe ファイル
を開いて処理しているときだっただけです。

 setactivehidemaru を使って、grep のファイルリストからウィンドの切
り替えをし、ファイルを開いてからの処理だけ、以下に掲載します。
while( 1 ){
  selectcfunc;
  #x = selendx;
  #y = selendy;
  if(#findy > #y){
    moveto #x ,#y;
    beginsel;
    moveto 0,#findy;
    nextfunc;
    right;
    #x = selendx;
    #y = selendy;
  }
  indent;
  appendcopy;
  undo;
  moveto #x ,#y;
  if( column != 0 )addclipboard "\x0D\x0A";
  left;
  finddown;
  if( !result )break;
  #findy = y;
  addclipboard $file + "(" + str(lineno) + ")\x0D\x0A";
}

 この後、grep で作成したファイルリストに setactivehidemaru に再度切
り替え後、ペーストします。

[ ]
RE:09660 UNICODE ペースト時のメッセージNo.09671
秀丸担当 さん 01/09/07 18:11
 
> (現在の内容) では行っていません。

たぶん原因がわかりました。
自動保存をしているのではないでしょうか。
ウィンドウのアクティブ切り替え時などにも自動保存は働くので、
showwindow 0; などで動作が変わるのも説明がつきます。

だとしたらUnicodeを編集していて自動保存をしている人は、
何もしていないのに突然メッセージが出現するというバグに
遭うことになるので直さなくてはいけません。

[ ]
RE:09671 UNICODE ペースト時のメッセージNo.09678
ひろ さん 01/09/08 00:47
 
 秀丸担当さん今日は、ひろです。
> 自動保存をしているのではないでしょうか。
 確かにテンポラリファイルで自動保存設定するようにしています。

> 何もしていないのに突然メッセージが出現するというバグに
> 遭うことになるので直さなくてはいけません。
 よろしくお願いします。次版の変更履歴に改善の旨が有り、かつ同じ現象
がある場合は改めて御連絡します。

[ ]