Skip to content

macro_task

nmaya edited this page Aug 5, 2023 · 6 revisions

マクロの残項目

各上限

ttmdef.h で定義されている

  • 識別子(変数名,ラベル名)長上限 (MaxNameLen)
    • 32バイト(文字列終端'\0'含む)
    • 内部の変数などの識別子保管領域の上限を撤廃(r8696)
    • ttmparse.cpp 内の次の関数を直せば全対応できそう
      • GetIdentifier()
      • GetLabelName()
  • 文字列変数に格納できる文字長上限 (MaxStrLen)
  • 1行の長さ(MaxLineLen)
    • 1024バイト
    • まだ見切れていない

長さ・位置・文字コードを扱うコマンド ... ttssh2-dev 658

  • 長さ

    • Tera Term 4.x ではバイト数
    • Tera Term 5.x でもバイト数
      • 5.1 以降で変更される見通し
  • 長さ・位置が関係するコマンド

    • strcopy
    • strinsert
    • strremove
    • strreplace
    • strlen
    • strmatch
  • 文字コードを扱っているコマンド

    • str2code
    • code2str

関連チケット

完了

  • Unicode化
    • 内部データ
      • UTF-8に変更
      • ttlファイル読み込み時にUnicodeに変換
      • 変数名、文字列など
      • 変更前は ANSI(ACP)文字列
        • UTF-8になったので漢字などはバイト長が長くなる
        • 従来はセットできたデータが途切れる可能性がある
    • 正規表現処理 (r8710)
      • デフォルトエンコーディングを ASCII から UTF-8 に変更
        • ENCODING_ASCII -> ENCODING_UTF8
        • 内部は ONIG_ENCODING_ASCII -> ONIG_ENCODING_UTF8
    • ファイル名の扱いをUnicode化 (r8713)
      • 変更前は ANSI(ACP)文字列
      • fileconcat
      • filecreate
      • fileopen
      • filecopy
      • filedelete
      • filerename
      • filesearch
      • filestat
      • filetruncate
      • findfirst
      • findnext
      • folderdelete
      • foldersearch
      • getfileattr
      • setdir
      • setfileattr
    • GUIのUnicode化
      • ダイアログに表示される文字はUnicode化 (r8686, r8687, r8689, r8692, r9695など)
      • 変更前はANSI文字列
  • 変数,ラベルの数の上限の撤廃(r8696)
    • 変更前の上限
      • 整数変数 256+4個
      • 文字列変数 256+20個
      • 整数配列変数 256個
      • 文字列配列変数 256個
      • ラベルの個数 512個