2011-09-21 69 views
6

我想使用org-模式番茄工作法如 http://orgmode.org/worg/org-gtd-etc.htmlORG-定时器模块负载误差

我已经添加在的.emacs以下行文件

(add-to-list 'org-modules 'org-timer) 

(setq org-timer-default-timer 25) 

(add-hook 'org-clock-in-hook '(lambda() 
    (if (not org-timer-current-timer) 
     (org-timer-set-timer '(16))))) 

说明启动时emacs中的以下警告显示在缓冲区的警告中。

Symbol's value as variable is void: org-modules 

我使用的组织模式版本 - 这是从git的克隆7.7.291.g37db://orgmode.org/org-mode.git

如何摆脱错误的。

回答

8

org-modulesorg.el中定义。如果你想添加一个元素到列表中,你需要等到变量被定义(使用默认列表)。要做到这一点的方法之一是延迟添加直到后立即org.el加载:

(defun my-after-load-org() 
    (add-to-list 'org-modules 'org-timer)) 
(eval-after-load "org" '(my-after-load-org)) 

注意add-hook可以与尚未定义的变量应付,但add-to-list不能。你可以写(setq org-modules '(org-timer)),但是这会覆盖默认的模块列表,而不是添加到它。