タグ

Programmingとemacsに関するpipeheadのブックマーク (1)

  • function の役割り - Emacs Lisp あれこれ

    関数をクオートするのには quote (') より function (#') の方がよいとされている。 しかし、どういう利点があるのかあまり理解されていない。 C 言語のソースを見ると、quote と function はまったく同じ実装になっている。 つまり、実行時の役割は完全に一緒である。 以下の例では、auto-fill-function をいうシンボルをクオートしている。 このようにシンボルをクオートする場合は、 「以下のシンボルは関数ですよ」という「コメント」としての役割はあっても、 クオートという意味においてはまったく違いはない。 (setq auto-fill-function (function my-auto-fill-function)) では何が嬉しいのか? それは、byte compile のときに、 quote でクオートするときよりも適切に byte comp

    pipehead
    pipehead 2002/08/28
    lambda を quote するとコンパイルされないことがあるって話; xyzzy の lambda も問答無用で function の中に突っ込まれるので同様に #' は冗長
  • 1