TUTScheme Tips

Windows上のエディタで書いたプログラムファイルをCygwin上のTUTSchemeでloadする一方法

OSによって改行コードが異なるため,Windows上のエディタで書いたプログラムをCygwin上のTUTSchemeでロードするとうまく読み込めないことがあります.その解決法としてこんな方法もあります.
  1. 以下を内容とするファイルを(改行コードが)Cygwin形式のファイルとして作成する.ファイル名は何でも構いませんが,ここではmy-dos2unixとします.

  2. #!/bin/sh
    dos2unix < $1
    

  3. 1 のファイルに対して,以下のコマンドにより実行権を与える.
  4.   $ chmod +x my-dos2unix
    
  5. 以下を内容とするファイルをCygwin形式のファイルとして作成する(ここではファイル名をdosload.lspとする).ただし,変数 *my-dos2unix-path* の値は 1で作成したファイルのパス名とする(下記は cygwin のホームディレクトリに置いた場合).

  6. (define *my-dos2unix-path* (format #f "~a/my-dos2unix" (getenv "HOME")))
    
    (define (load filename)
      (let ((p (run-process *my-dos2unix-path* filename :output :pipe)))
        (if *loading-message*
            (format #t "Loading ~a...~%" filename))
        (let loop ((x (read (process-output p))))
          (if (eof-object? x)
              (if *loading-message*
                  (begin
                    (close-input-port (process-output p))
                    (display "Finished.")
                    (newline)))
              (begin
                (eval x)
                (loop (read (process-output p))))))))
    

    4. TUTScheme において dosload.lsp をロードした後は,Windows形式のファイルを load 関数でロードできるようになります(scheme.lsp に書いておけば便利).ただし,少し手抜きのためファイル名は文字列で与えてください(記号は不可).

TUTSchemeのエディタ/Emacsとの連携


インライン,初期設定ファイル,REPL,ヒープイメージ