eval-bufferやeval-regionってnil返すのか

eval-bufferは常にnilを返す。evalと名前がついてるからつい評価結果を返すのかなーって思ってたが、副作用限定なのを知って愕然とした。

eval-buffer is an interactive built-in function in `src/lread.c'.
(eval-buffer &optional BUFFER PRINTFLAG FILENAME UNIBYTE
DO-ALLOW-PRINT)

Execute the current buffer as Lisp code.

「Evaluate」ぢゃなくて「Execute」って書いてるしな。そういうところがLispらしくない。それなのになぜか名前がevalとついてる。はぁ…