- 作成者投稿
- 2024年1月16日 4:35 am #31383yasujiParticipant
問い合わせたい不具合があり、まずその前提となる経緯を公知にするためにこのトピックを作成しております。
〔報告日〕
2023/11/08〔報告方法〕
お問い合わせのフォームからのタイトルの不具合の件を下記の内容で報告しました。〔報告タイトル〕
正規表現検索において応答なしになる不具合、検索ウィンドウを呼び出した際に設定される検索文字列がエスケープシーケンスされない不具合〔報告内容〕
記載内容は、当時のコピーです。ただし、個人情報に該当する箇所は削除しています。対応した会社側の担当者の氏名のみ記載しています。
メールには、zipファイル、jpgファイルを添付しておりますが、ここではいずれも添付することができないため、テキストのみ記載します。対象:
EmEditor Professional (64-bit) Version 22.5.2
使用環境:
OS:Windows 10 Pro 22H2 64bit, OS ビルド:19045.3570From:
Sent: Wednesday, November 8, 2023 2:38 PM
To: Yutaka Emura
Subject: RE: New Message (sent by contact form at EmEditor (テキストエディタ))江村様
いつもお世話になっております。
yasujiです。修正された不具合の確認と、正規表現の新規不具合のご連絡をします。
○報告済み不具合の確認結果
メールのやり取りの手間削減のため、報告済み不具合の修正確認と新規不具合をまとめて連絡しています。
この内容については、下記の対応する不具合のトピックへ返信として記載しましたので、そちらを参照してください。
トピックタイトル:国旗 絵文字を任意の日本語2バイト文字列の先頭に貼り付け挿入すると挿入文字の表示およびその行の選択の不具合○新規不具合報告(2件)
対象:
EmEditor Professional (64-bit) Version 22.5.2正規表現不具合1:改行のないテキストファイル(数百キロバイト規模)で任意を含む正規表現で前を検索を繰り返すと応答なしになる
【再現手順】
1.下記のファイルを開く
下記のファイルをそれぞれ開く。
この手順において、問題が発生するのは、(File.A)のファイル。
※検索文字列を変更すると(File.B)でも発生すると思われる。
ファイルは、添付しましたが念のため入手元URLを記載します。
==> 再現手順のJSファイル.zip(File.A) 00a21fae68cedf13a0c6.5898.js
DL元:https://abema.tv/assets/modern-desktop/00a21fae68cedf13a0c6.5898.js
DL元(再現確認済み2024/01/16):https://web.archive.org/web/20240115174131/https://abema.tv/assets/modern-desktop/00a21fae68cedf13a0c6.5898.js
(File.B) a1efe9b92fa5e23aba3a.app.js
DL元:https://abema.tv/assets/modern-desktop/a1efe9b92fa5e23aba3a.app.js
DL元(再現確認済み2024/01/16):https://web.archive.org/web/20240115174114/https://abema.tv/assets/modern-desktop/a1efe9b92fa5e23aba3a.app.js2.検索を開いて、下記の通り設定する
「検索」の設定:
〔チェックボックス〕設定
大文字と小文字を区別する(C):チェックあり
単語のみ検索する(W):チェックあり
上記以外のチェックボックスすべて:チェックなし
〔ラジオボタン〕選択
正規表現(X):チェックあり〔検索->高度〕設定
〔チェックボックス〕設定
チェックボックスすべて:チェックなし
正規表現エンジン(G):既定(Boost.Regex)
正規表現で検索する追加行数(L):03.文字列検索を実行する
次の文字列をそれぞれ入力する。検索文字列1
n\(7.
検索文字列2
n\(7.*「次を検索(N)」をクリックし、その後、「前を検索(P)」を数回続けてクリックする。
4.検索結果
検索文字列1、2共に、数分から十数分ほど応答なしになる。待っていれば応答するようになることがあるが、正常な検索時の応答より遥かに遅いため、強制終了せざる負えない。
改行がある(\r\n/\n)テキストファイルでは起きない。
改行がないテキストファイルかつ、2.の設定かつ、任意の(.)を含む検索文字列かつ、前を検索を実行した場合にこの問題が発生する。
ただし、検索文字列がヒットしない場合は、この問題が発生しない。5.設定を変更する
2.の設定値のうち、一部設定を下記の通り変更して、3.を実行する。
〔検索->高度〕設定
〔チェックボックス〕設定
チェックボックスすべて:チェックなし
正規表現エンジン(G):Onigmo
正規表現で検索する追加行数(L):06.検索結果
検索文字列1、2共に問題なくほぼ瞬時に応答する。正規表現不具合2:検索の設定をあらかじめ「正規表現」に設定して閉じて、括弧などを含む文字列を選択してCtrl+Fを押下して検索を呼び出すと検索文字列がエスケープシーケンスされず意図した検索ができない
【再現手順】
1.下記のファイルを開く
下記のファイルを開く。(File.A) 00a21fae68cedf13a0c6.5898.js
DL元:https://abema.tv/assets/modern-desktop/00a21fae68cedf13a0c6.5898.js
DL元(再現確認済み2024/01/16):https://web.archive.org/web/20240115174131/https://abema.tv/assets/modern-desktop/00a21fae68cedf13a0c6.5898.js2.検索を開いて、下記の通り設定する
「検索」の設定:
〔チェックボックス〕設定
大文字と小文字を区別する(C):チェックあり
単語のみ検索する(W):チェックなし
上記以外のチェックボックスすべて:チェックなし
〔ラジオボタン〕選択
正規表現(X):チェックあり〔検索->高度〕設定
〔チェックボックス〕設定
チェックボックスすべて:チェックなし
正規表現エンジン(G):既定(Boost.Regex)
正規表現で検索する追加行数(L):03.検索を閉じる
設定後、閉じるボタンを押下して閉じる4.テキスト中の文字列を下記の条件で選択する
正規表現でエスケープシーケンスが必要な文字を含むように文字列選択する
例えば、テキスト先頭の方にあるcall(t,i)など。5.選択状態でCtrl+Fを押下して検索を開く
6.検索する文字列を確認
正規表現に設定されているにもかかわらず、「call(t,i)」が設定される。
正規表現では、「(」->「\(」、「)」->「\)」にしなければならい。
他のエスケープシーケンスが必要な文字も全て同様。上記の検索文字列設定だと、「callt,i」にしか一致しない。正規表現において、「call(t,i)」を意図した検索ができない。
手入力でエスケープシーケンスさせるのでなく、自動でエスケープシーケンスをして検索文字列に設定するのが本来しなければならない動作。2024年1月16日 4:35 am #31384yasujiParticipantFrom: Yutaka Emura
Sent: Thursday, November 9, 2023 11:59 AM
To:
Subject: RE: New Message (sent by contact form at EmEditor (テキストエディタ))いつもお世話になっております。江村です。
先ほど、EmEditor v22.9.907 を公開しました。これにて、正規表現関係の2つの不具合は修正しました。
DirectWrite を使用しない描画は古い方法であり、将来は廃止になると思います。したがって、現在のところ、DirectWrite を使用しない描画で絵文字などに完全に対応するという実装は優先度が低くなってしまいます。よろしくお願いいたします。
———————
Yutaka Emura
Emurasoft, Inc.
https://www.emeditor.com/2024年1月16日 4:36 am #31385yasujiParticipantFrom:
Sent: Thursday, November 9, 2023 6:03 PM
To: Yutaka Emura
Subject: RE: New Message (sent by contact form at EmEditor (テキストエディタ))江村様
いつもお世話になっております。
yasujiです。迅速にご対応いただき、ありがとうございます。
> 先ほど、EmEditor v22.9.907 を公開しました。これにて、正規表現関係の2つの不具合は修正しました。
EmEditor v22.9.907 において、正規表現の不具合2件が解消したことを確認しました。> DirectWrite を使用しない描画は古い方法であり、将来は廃止になると思います。したがって、現在のところ、DirectWrite を使用しない描画で絵文字などに完全に対応するという実装は優先度が低くなってしまいます。
承知しました。
私としては、DirectWriteがONの時に、絵文字が正しく表示されれば問題ありません。以上
- 作成者投稿
- このトピックに返信するにはログインしてください。