popwin.elの設定

で、まぁ、popwin:special-display-configのwidthを、フレームの半分のサイズにしたいなぁ・・・とか思ったわけですよ。


そんなわけで、安易に

(defun half-frame-size ()
  "(/ frame-width  2)"
  (/ (frame-width nil) 2))

なんて、半分のサイズを取得する関数を定義して、

(push '("*Occur*" :width  (funcall 'half-frame-size) :position right) popwin:special-display-config)

なんて描いてあげるとうまくいくのかなぁ・・・とかおもったけどそうは問屋がおろさなかったわけですよ。

Debugger entered--Lisp error: (wrong-type-argument number-or-marker-p (funcall (quote half-frame-size)))
  popwin:create-popup-window((funcall (quote half-frame-size)) right t)
  popwin:popup-buffer(#<buffer *Occur*> :width (funcall (quote half-frame-size)) :height 20 :position right :noselect nil :stick nil)
  popwin:display-buffer-1(#<buffer *Occur*> :if-config-not-found #[(buffer) "\302^H	\"\207" [buffer not-this-window popwin:original-display-buffer] 3])
  popwin:display-buffer(#<buffer *Occur*> nil)
  display-buffer(#<buffer *Occur*>)
  occur-1("10" nil (#<buffer *scratch*>))
  ad-Orig-occur("10" nil)
  occur("10" nil)
  call-interactively(occur)
  anything-execute-extended-command()
  call-interactively(anything-execute-extended-command nil nil)

なんてでる・・・
emacs-lispレベルがアリアハンから出れてない認識はあったけど、この程度の問題も解決出来ない自分に凹みつつ、日記に書いてみる。