为什么第二个陈述不起作用?

时间:2014-06-14 17:43:24

标签: emacs elisp

你能帮我调试一下这段代码吗? 它应该评估emacs-major-version并相应地设置颜色主题。我测试了第一个语句,第二个语句没有返回任何错误,但主题没有应用。任何线索?

(if (<= emacs-major-version 23)
    ((require 'color-theme)
     (eval-after-load "color-theme"
        '(progn
           (color-theme-initialize)
           (color-theme-classic))))
    (progn
    (setq custom-enabled-themes (quote (tango-dark)))
    (setq custom-safe-themes (quote
         ("16248150e4336572ff4aa21321015d37c3744a9eb243fbd1e934b594ff9cf394"
          "9370aeac615012366188359cb05011aea721c73e1cb194798bc18576025cabeb"
          default))))
) 

1 个答案:

答案 0 :(得分:0)

在处理法律清单提出的progn问题后,您的有条件作品,但您忘记加载主题。在第二个(load-theme 'tango-dark t)的末尾添加progn

(if (<= emacs-major-version 23)
    (progn
      (require 'color-theme)
      (eval-after-load "color-theme"
        '(progn
           (color-theme-initialize)
           (color-theme-classic))))
  (progn
    (setq custom-enabled-themes (quote (tango-dark)))
    (setq custom-safe-themes (quote
                              ("16248150e4336572ff4aa21321015d37c3744a9eb243fbd1e934b594ff9cf394"
                               "9370aeac615012366188359cb05011aea721c73e1cb194798bc18576025cabeb"
                               default)))
    (load-theme 'tango-dark t)))    ; add me here

编辑回复:Phils的评论:抱歉,我错过了初始代码中的require。现在,第一个子句根据需要包含在progn中。