executable-interpretがある
M-x executable-interpretはデフォルトで現在のファイル名が入力されている。
現在のファイル名は「buffer-file-name」か「(buffer-file-name)」で取得できる。バッファ名をファイル名として使用してはいけない。
Emacs Lispはもはや関数型言語ではないと思う…Lispの顔をした手続き型言語でしょう、あれは。副作用ありまくりだし。
setq-defaultはバッファローカル変数のデフォルト値を指定するので、setqにしよう。