◀ANSI版開発トップへ
  • 2989 「空白→TAB変換」機能における不具合
    • 2990 Re: 「空白→TAB変換」機能における不具合
      • 2993 Re2: 「空白→TAB変換」機能における不具合
        • 3029 Re3: 「空白→TAB変換」機能における不具合
          • 3032 Re4: 「空白→TAB変換」機能における不具合
  • [2989] 「空白→TAB変換」機能における不具合 FD3SLOVE 2003年08月05日 16:24

    初めて投稿します。
    みなさんよろしくお願いします_(._.)_

    一応、FAQ及び過去分は検索してみてなかったので書かせていただきました。
    症状は、スペースをダブルコーテーションで挟んだ場合に「空白→TAB変換」機能を使うと、
    TAB幅が4以上のときに不具合(「TAB→空白変換」したときに数が合わない)が出始めて、
    TAB幅が8以上になるとエラーを吐いて落ちてしまいます。

    以下のようなパターンで試しました。
    -----------------------------------
    " "
    " "
    " "
    " "
    " "
    " "
    " "
    " "
    " "
    " "
    " "
    " "
    " "
    " "
    " "
    " "
    " "
    " "
    " "
    " "
    " "
    " "
    " "
    " "
    " "
    -----------------------------------

    当方の環境は(以下NT診断プログラムから抜粋)

    OS バージョン レポート
    ----------------------------------------
    ------------------------------
    Microsoft (R) Windows NT (R) Workstation
    Version 4.0 (Build 1381: Service Pack 6) x86 Uniprocessor Free
    システム レポート
    ----------------------------------------
    ------------------------------
    システム: AT/AT COMPATIBLE
    ハードウェア アブストラクション レイヤ: UP MPS 1.4 - APIC platform
    プロセッサの一覧:
    0: x86 Family 15 Model 2 Stepping 7 GenuineIntel ~2789 Mhz
    ビデオ ディスプレイ レポート
    ----------------------------------------
    ------------------------------
    BIOS 日付: 04/02/20
    BIOS バージョン: Hardware Version 0.0

    アダプタ:
    設定: 1280 x 1024 x 65536
    75 Hz
    種類: ialmnt4 互換ディスプレイ アダプタ
    文字列: Intel(R) 82845G/GL Graphics Controller
    メモリ: 64 MB
    チップの種類: Intel(R) 82845G/GL Chip
    DAC の種類: Internal
    ドライバ:
    製造元: Intel Corporation
    ファイル: ialmnt4.sys, ialmdnt4.dll
    バージョン: 4.03.1381.3119, 4.0.32
    ----------------------------------------
    ------------------------------

    です。
    WindowsXPHomeEditionを搭載するノートPCでも試しましたが同じ症状でした。

    以上です。
    • [2990] Re: 「空白→TAB変換」機能における不具合 もか 2003年08月05日 22:14

      確かに。変みたいです。
      以下の変更で、治ると思います。短いので、貼っておきます。
      --- ssrc_2003-07-21org/sakura_core/CMemory.cpp Sun May 25 00:12:42 2003
      +++ ssrc_2003-07-21sp2tb/sakura_core/CMemory.cpp Tue Aug 05 20:35:17 2003
      @@ -3328,8 +3328,9 @@
      for( j = nStartPos / nTabSpace; j < (nPosX / nTabSpace); j++ ){
      pDes[nPosDes] = TAB;
      nPosDes++;
      + nStartPos += nTabSpace - ( nStartPos % nTabSpace );
      }
      - for( j = 0; j < (nPosX % nTabSpace); j++ ){
      + for( j = nStartPos; j < nPosX; j++ ){
      pDes[nPosDes] = SPACE;
      nPosDes++;
      }
      @@ -3354,8 +3355,9 @@
      (タブ数以外上と同じ)
      --ここまで--
      • [2993] Re2: 「空白→TAB変換」機能における不具合 蒔田 信幸 2003年08月06日 21:28

        ▼ もかさん
        > 確かに。変みたいです。
        > 以下の変更で、治ると思います。短いので、貼っておきます。

        スペースに変換できるTABTABのタブスペース変換は、空白に成りませんでしょうか?
        8TABの時、aaaaaaaTABTAB等です。
        かってなお願いですが、どうでしょう?
        • [3029] Re3: 「空白→TAB変換」機能における不具合 げんた 2003年08月19日 21:24

          >スペースに変換できるTABTABのタブスペース変換は、空白に成りませんでしょうか?
          >8TABの時、aaaaaaaTABTAB等です。
          長いこと放っておいて申し訳ありませんでした.が,おっしゃることの意味がさっぱりわかりません.

          ところで,SPACE→TAB変換でちょうどTAB区切りの1文字前から始まっていてTABでもスペースでも結果が代わらないケースに於いて
          * 直後がSPACEまたはTABの時→TAB
          * 直後がSPACE,TAB以外の時→SPACEのまま
          となるようですが,ひょっとしてこの動作を変更した方がよいとおっしゃっていますか?
          • [3032] Re4: 「空白→TAB変換」機能における不具合 蒔田 信幸 2003年08月20日 01:22

            ▼ げんたさん
            > ところで,SPACE→TAB変換でちょうどTAB区切りの1文字前から始まっていてTABでもスペースでも結果が代わらないケースに於いて
            > * 直後がSPACEまたはTABの時→TAB
            > * 直後がSPACE,TAB以外の時→SPACEのまま
            > となるようですが,ひょっとしてこの動作を変更した方がよいとおっしゃっていますか?

            はいそうです。スペースタブ変換の間違いでした。すみません。
            理由は、すべて空白が理想ですが、節約のためタブを使っているためです。
            こじつけですが。