Hook your emacs

用emacs是会上瘾的,用得越久,瘾越大。

前面提到可以使用如下代码让gnus自动收邮件,可是用了一段时间,发现根本不起作用,一定要在gnus启动之后再运行一遍。

(require ‘gnus-demon)
(setq gnus-use-demon t)
(gnus-demon-add-handler ‘gnus-group-get-new-news 3 1)
(gnus-demon-init)

既然一定要在gnus启动后执行这段代码才有效,那么怎么样自动化呢?用Hook!在源代码里搜寻一番,发现了gnus-started-hook。于是上述代码调整为:

(add-hook 'gnus-started-hook
	  (lambda ()
	    (require 'gnus-demon)
	    (setq gnus-use-demon t)
	    (gnus-demon-add-handler 'gnus-group-get-new-news 3 1)
	    (gnus-demon-init)))

Declaring .emacs bankruptcy

看过人家的Declaring .emacs Backruptcy,就想做同样的事。一共有三台电脑,分别装了fedora, ubuntu和XP,XP上装了Cygwin,并且自己编译了Emacs 22。同时维护三台机器上的.emacs文件,不胜其烦。经过漫长的拖延,我终于完成了这项任务,完整的配置参见https://svn.wanglianghome.org/elisp/

由于我对elisp的理解有限,所以基本是照猫画虎,按照上文中提到的方式重新整理了.emacs文件。在最完美的情况下,.emacs文件里只需添加两行,比如在fedora上:

(add-to-list 'load-path "~/elisp")
(require 'wl-fedora-init)

由于三个平台上均没有最新版的SLIME,所以我把它也放到自己的版本控制之中,其他模块则在各自平台上分别下载安装。