残念ながら、これは変数ではなく関数であるため、setqはこれに対して機能しません。「customize」を使用して変数を設定するか、「which-function-mode」関数を呼び出して「t」の値を渡す必要があります。
「カスタマイズ」は、emacsが最近のほとんどのパッケージの機能の構成を処理する方法です。多くの場合、「Mxcustomize-apropos」の後にパッケージの名前を付けると、そのパッケージのほとんどの構成オプションが表示されます。構成パラメーターの特定の名前がわかっている場合は、「customize-variable」を使用してその特定のパラメーターに移動することもできます。'customize-variable'の項目は、それ自体が必ずしも変数であるとは限らないことに注意してください。多くの場合、customizeは関数の呼び出しを呼び出したり、他のアクティビティを実行して実際に構成を実行したりします。
これにはおそらく「customize」を使用したいと思います。
M-x customize-variable<RET>
which-function-mode
次のようなものを提供する必要があります。

値を「オン」に切り替えてから、現在のセッションに設定し、将来のセッションのために保存します。カスタマイズが気に入らない場合は、.emacsから関数を呼び出すことができます。
(which-function-mode t)
これはemacs23にありますが、22も同様であると思います。emacs21の場合、デフォルトでカスタマイズが含まれているとは思いません(長い間、間違っている可能性があります)。代わりに関数呼び出しフォームを使用する必要があります。