проблема с цветовой темой в emacs - PullRequest
0 голосов
/ 29 июля 2010

Я создал свою собственную цветовую тему, используя этот веб-сайт . Я добавил новый файл .el в мой каталог ./site-lisp/color-theme/themes со следующим кодом:

(defun your-config-name-here ()
  (interactive)
  (color-theme-install
   '(your-config-name-here
      ((background-color . "#ffffff")
      (background-mode . light)
      (border-color . "#000000")
      (cursor-color . "#333333")
      (foreground-color . "#000000")
      (mouse-color . "black"))
     (fringe ((t (:background "#000000"))))
     (mode-line ((t (:foreground "#000000" :background "#666666"))))
     (region ((t (:background "#999999"))))
     (font-lock-builtin-face ((t (:foreground "#000000"))))
     (font-lock-comment-face ((t (:foreground "#000000"))))
     (font-lock-function-name-face ((t (:foreground "#000000"))))
     (font-lock-keyword-face ((t (:foreground "#000000"))))
     (font-lock-string-face ((t (:foreground "#000000"))))
     (font-lock-type-face ((t (:foreground"#000000"))))
     (font-lock-variable-name-face ((t (:foreground "#000000"))))
     (minibuffer-prompt ((t (:foreground "#7299ff" :bold t))))
     (font-lock-warning-face ((t (:foreground "Red" :bold t))))
     )))
  (provide 'your-config-name-here)

И это в моем файле .emacs:

  (add-to-list 'load-path "~/../site-lisp/color-theme/")
  (add-to-list 'load-path "~/../site-lisp/color-theme/themes")

  (require 'color-theme)
  (require 'your-config-name-here)
  (eval-after-load "color-theme"
    '(progn
      (color-theme-initialize)
      (your-config-name-here)))

Проблема в том, что я заметил, что когда я изменяю настройки в your-config-name-here.el и выхожу из emacs и перезагружаю его, изменения не вступают в силу, пока я не сделаю это:

M-x load-file ~/../site-lisp/color-theme/themes/your-config-name-here.el
M-x your-config-name-here

Такое ощущение, что цветовая тема где-то кеширует настройки и не перезагружается при запуске. Чего мне не хватает?

1 Ответ

2 голосов
/ 29 июля 2010

В вашем коде у вас есть вызов 'color-theme-initialize, который не существует как функция в пакете color-theme.el .

(eval-after-load "color-theme"
  '(progn
     ;; remove this call (color-theme-initialize)
     (your-config-name-here)))

И тогда ваш код работает.

...