@yukiya68k

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

バッチファイルから実行するEmacs Lispのスクリプトについて その1

解決したいこと

バッチファイルから実行するEmacs Lispのスクリプトでスクリプト終了後にファイルを読み込ませないようにしたい。

該当するソースコード

--- foo.bat ---
echo off
emacs --script foo-script.el %*
pause


--- foo-script.el ---
(let (fname)
  (dolist (fname argv)
	(message "%s" (shell-command-to-string (concat "dir " (shell-quote-argument fname))))))

自分で試したこと

上記のような形でWindowsのバッチファイルからEmacs Lispのスクリプトを実行しています。ファイルサイズが小さいときはわからなかったのですが、動画など大きなサイズになるとスクリプト実行後に
’ファイル名(***MiB), really open? (yes, no・・・)’
と訊いてくるようになりました。(setq large-file-warning-threshold nil)で問い合わせだけはなくなりましたが、スクリプト実行後にファイルを丸ごと読み込んでいるようで時間とメモリを相当量消費します。読み込まないようにする設定をご存じの方よろしくお願いします。

環境 Windows10 Emacs30.1

0 likes

1Answer

Comments

  1. @yukiya68k

    Questioner

    あまりにもあっさりと解決していただき言葉が出ないほどです。本当にありがとうございました。凄いです。

  2. @yukiya68k

    Questioner

    なんで全部読み込みに行く(多分)のだろうと疑問だったのですが、
    emacs --script foo.el arg1 arg2
    自分ではfoo.elに渡すと思い込んでいる引数が、emacsから見ればただの読み込みリストなのでfoo.elが終わればarg1、arg2と読みにゆくのが当たり前なんだと気づかされました。

Your answer might help someone💌