[Date Prev][Date Next][Thread Prev][][Date Index][Thread Index]

save-list with 'pretty printer'



alist を file に保存するとき、pp を持っている Emacs は pp を使う
ようにしました。後から、~/.w3m/.arrived を改竄しやすいからという
理由です。:-)

Emacs 19.xx は pp.el を持っているけど、autoload されないと思った
ので (fboundp 'pp) で print() と切り分けています。make するとき
に (require 'pp) すれば使えるかも。

また、Emacs 21 では print-length の初期値がいくつだか忘れてしまっ
たけど、設定されているので、その辺りの変数も bind しておきました。

(let ((x '((0 1) (2 3) (4 5) (6 7) (8 9)))
      (print-length 2))
  (print x (current-buffer)))
=>
((0 1) (2 3) ...)

(let ((x '((0 1) (2 3) (4 5) (6 7) (8 9)))
      (print-length 3))
  (pp x (current-buffer)))
=>
((0 1)
 (2 3)
 (4 5)
 ...)

# .emacs で nil にしてあるから気付かなかったけど、最初、この変数
# に気付くまで debug にすごく苦労した。

-- 
白井秀行 (mailto:shirai@rdmg.mgcs.mei.co.jp)