マクロの互換性についてNo.08234
レモン さん 14/03/03 11:56
 
マクロの互換性について
【バージョン】 秀丸エディタ 8.40β7
【OS】 Windows 7 Professional (32bit)

1996年から Vector に登録されている下記のマクロを長年愛用してお
ります。

●k_QKAN 日本語文章作成支援/書きマクロ第K集
http://www.vector.co.jp/soft/win31/writing/se029131.html

秀丸エディタ v8.34 までは正しく動作するのですが、v8.40β7で実行す
ると下記のとおりエラーダイアログが現れます。

------------------ここから------------------
k_knzTN0.mac(17): 文字コードの式がおかしいです
------------------ここまで------------------

そこで k_knzTN0.mac の17行目を見てみると、次のように書かれています。

------------------ここから------------------
if(code==13||code==' '||code=='。'){
------------------ここまで------------------

マクロの書き方に関する知識が乏しいので、どこを手直しすればよいの
かわからず途方に暮れております。v8.34 までは正しく動作していたので、
v8.40のβ版でのプログラム改良が原因と思われますが、これまでの互
換性を維持して頂くわけにはいかないでしょうか。あるいはマクロを修正
する方法をご教示下されば幸いに存じます。

[ ]
RE:08234 自己解決?No.08235
レモン さん 14/03/03 12:35
 
マクロの文字コードは Unicode(UTF-16)なのですが、試しに Shift-
JIS にしたら問題なく作動しました。どうやら文字コードが原因だったよう
です。

[ ]
RE:08235 自己解決?No.08236
秀丸担当 さん 14/03/03 13:40
 

情報ありがとうございます。
確かにV8.40β7でうまく動いていませんでした。
UTF-16のマクロファイルの対応でUnicodeのコードを維持するための対策の影響
でした。
言われている通り、Shift-JISのマクロファイルにしておくと大丈夫だと思いま
す。
次のβ版でUTF-16であっても従来通りできるように修正させていただきます。

[ ]
RE:08236 自己解決?No.08237
レモン さん 14/03/03 13:46
 
いつもながら素早いお返事をありがとうございます。
次のβ版を楽しみにしております。

[ ]
RE:08237 自己解決?No.08239
レモン さん 14/03/06 16:45
 
秀丸担当さま、こんにちは。
V8.40β8をさっそく試してみましたが、以下のエラーダイアログが出ます。

------------------ここから------------------
k_knzTN0.mac(1): 文法エラーです。
------------------ここまで------------------

k_knzTN0.mac の一行目は下記の通りです。

------------------ここから------------------
call starting;
------------------ここまで------------------

お手元の環境でも再現するでしょうか。

[ ]
RE:08239 自己解決?No.08240
秀丸担当 さん 14/03/06 17:12
 

早速のご確認ありがとうございます。
こちらで確認した限りでは大丈夫だったのですが、UTF-16でもBOMが無い場合は
対応していなくて、エラーになると思います。
またはBig-Endianにも対応していないです。
UTF-16でBOMを付けると大丈夫なのではないかと思いますがどうでしょうか。
ヘルプにもBOMが必要ということを追記しておきます。

[ ]
RE:08240 自己解決?No.08241
レモン さん 14/03/06 18:28
 
早々とお返事下さりありがとうございます。

ご指摘の通りエンコードはBOM無しでした。そこで全てのマクロをUTF-
16(BOM付き)にして実行してみましたところ、今度はエラーダイアログが
出なくなった代わりに何の動作もしなくなりました。

漢字変換のメニューを呼び出すマクロは K_QKAN.mac で、変換したい
漢字の左にカーソルを置いてこのマクロを実行すると本来は変換候補
の漢字リストがポップアップ表示されるのですが、UTF-16(BOM付)だと
何も表示されず、変換もされないまま、カーソルだけが当該の漢字の右
側に移動します。ちなみにマクロのエンコードを Shift-JIS にすれば正常
に作動します。

というわけで、Shift-JIS の場合は問題ないので特に困りはしないので
すが、ちょっと不可解な感じがします。

[ ]
RE:08241 自己解決?No.08242
秀丸担当 さん 14/03/07 09:00
 

その通りでした。
シングルクォーテーション('。')の問題だけでなく、ダブルクォーテーション
("亜…")に関するUnicode処理でstrstrがうまくいっていませんでした。
次のβ版で修正させていただきます。

[ ]
RE:08242 自己解決?No.08243
レモン さん 14/03/07 10:00
 
お返事ありがとうございます。
次のβ版を楽しみにしております。

[ ]
RE:08243 自己解決?No.08245
レモン さん 14/03/10 16:30
 
V8.40β9で正しく動作するようになりました。
いつもながら素早い修正をありがとうございました。

[ ]