sellout / emacs-color-theme-solarized

Emacs highlighting using Ethan Schoonover’s Solarized color scheme
http://ethanschoonover.com/solarized
MIT License
1.15k stars 201 forks source link

Symbol's function definition is void: cl-copy-list #145

Closed cubranic closed 9 years ago

cubranic commented 9 years ago

Installing from Melpa in Emacs installed using the stable recipe with Homebrew (Emacs-version: "GNU Emacs 24.4.50.1 (x86_64-apple-darwin13.2.0, NS appkit-1265.20 Version 10.9.3 (Build 13D65))") also pulls in color-theme (I thought it's only needed on pre-24??), with quite a few warnings. For example:

color-theme-solarized.el:36:17:Warning: reference to free variable
    `solarized-description'
color-theme-solarized.el:52:1:Warning: the function
    `solarized-color-definitions' is not known to be defined.
...
solarized-definitions.el:169:55:Warning: reference to free variable `base3'
solarized-definitions.el:178:36:Warning: reference to free variable `base00'

Then, when I try to load the theme, I get the following error:

Debugger entered--Lisp error: (void-function cl-copy-list)
  cl-copy-list((:foreground base0 :background back))
  solarized-face-for-index((:foreground base0 :background back) 1)
  create-face-spec(default (:foreground base0 :background back))
  apply(create-face-spec (default (:foreground base0 :background back)))
  #[(face) "\301\302^H\"\207" [face apply create-face-spec] 3]((default (:foreg$
  mapcar(#[(face) "\301\302^H\"\207" [face apply create-face-spec] 3] ((default$
  solarized-color-definitions()

Installing by cloning from Github, adding to the custom-theme-load-path, and loading the theme works fine. So the problem seems to be in the package installation process.

pyr commented 9 years ago

Hi @cubranic, the alias is defined at compile time, your best bet is to remove the .elc files generated and restart.

cubranic commented 9 years ago

Removing .elc files does let me use the theme, but it’s just treating the symptom, not fixing the problem.

I think you’re referring to the alias definition in the first few lines of ‘solarized-definitions.el’. FWIW, on my machine the aliasing doesn’t happen, because executing "(require 'cl-lib nil t)” returns "cl-lib”, so the whole ‘unless’ body should be skipped. In this case, cl-copy-list is defined in cl-lib.

At any rate, when I run 'byte-compile-file’ on solarized-definitions.el, I get the following warning:

In end of data: solarized-definitions.el:599:1:Warning: the function `cl-copy-list' might not be defined at runtime.

Davor

On Feb 28, 2015, at 12:53 AM, Pierre-Yves Ritschard notifications@github.com wrote:

Hi @cubranic https://github.com/cubranic, the alias is defined at compile time, your best bet is to remove the .elc files generated and restart.

— Reply to this email directly or view it on GitHub https://github.com/sellout/emacs-color-theme-solarized/issues/145#issuecomment-76517734.

JP-Ellis commented 9 years ago

I have the same issue on a new install (today) from MELPA; admittedly that is version 20150110.

If someone else encounters the issue, it could be resolved by deleting all *.elc files within the elpa package.

Error message:

Debugger entered--Lisp error: (void-function cl-copy-list)
  cl-copy-list((:foreground base0 :background back))
  solarized-face-for-index((:foreground base0 :background back) 1)
  create-face-spec(default (:foreground base0 :background back))
  apply(create-face-spec (default (:foreground base0 :background back)))
  #[(face) "\301\302\"\207" [face apply create-face-spec] 3]((default (:foreground base0 :background back)))
  mapcar(#[(face) "\301\302\"\207" [face apply create-face-spec] 3] ((default (:foreground base0 :background back)) (cursor (:foreground base03 :background base0)) (error (:weight bold :slant normal :underline nil :inverse-video nil :foreground red)) (escape-glyph-face (:foreground red)) (fringe (:foreground base01 :background base02)) (linum (:weight normal :slant normal :underline nil :inverse-video nil :foreground base01 :background base02)) (header-line (:foreground base0 :background base02 :weight normal :slant normal :underline nil :inverse-video t)) (highlight (:background base02)) (hl-line (:underline nil :background base02)) (isearch (:weight normal :slant normal :underline nil :inverse-video t :foreground orange :background back)) (isearch-fail (:weight normal :slant normal :underline nil :inverse-video t :foreground orange :background back)) (lazy-highlight (:weight normal :slant normal :underline nil :inverse-video t :foreground yellow :background back)) (link (:weight normal :slant normal :underline t :inverse-video nil :foreground violet)) (link-visited (:weight normal :slant normal :underline t :inverse-video nil :foreground magenta)) (match ((t (:weight normal :slant normal :underline nil :inverse-video t :foreground yellow :background back)))) (menu (:foreground base0 :background base02)) (minibuffer-prompt (:weight bold :slant normal :underline nil :inverse-video nil :foreground cyan)) (mode-line (:foreground base1 :background base02 :weight normal :slant normal :underline nil :inverse-video t :box nil)) (mode-line-inactive (:foreground base00 :background base02 :weight normal :slant normal :underline nil :inverse-video t :box nil)) (region (:foreground base01 :background base03 :weight normal :slant normal :underline nil :inverse-video t)) (secondary-selection (:background base02)) (shadow (:foreground base01)) (trailing-whitespace (:weight normal :slant normal :underline nil :inverse-video t :foreground red)) (vertical-border (:foreground base0)) (comint-highlight-prompt (:foreground blue)) (compilation-info (:weight bold :slant normal :underline nil :inverse-video nil :foreground green)) (compilation-warning (:weight bold :slant normal :underline nil :inverse-video nil :foreground orange)) (custom-button (:foreground base1 :background base02 :box (:line-width 2 :style released-button))) (custom-button-mouse (:weight normal :slant normal :underline nil :inverse-video t :foreground base1 :background base02 :inherit custom-button)) (custom-button-pressed (:weight normal :slant normal :underline nil :inverse-video t :foreground base1 :background base02 :box (:line-width 2 :style pressed-button) :inherit custom-button-mouse)) (custom-changed (:weight normal :slant normal :underline nil :inverse-video t :foreground blue :background base3)) (custom-comment (:foreground base1 :background base02)) (custom-comment-tag (:foreground base1 :background base02)) (custom-documentation (:inherit default)) (custom-group-tag (:foreground base1)) (custom-group-tag-1 (:weight bold :slant normal :underline nil :inverse-video nil :foreground base1)) (custom-invalid (:weight normal :slant normal :underline nil :inverse-video t :foreground red :background back)) (custom-link (:foreground violet)) (custom-state (:foreground green)) (custom-variable-tag (:foreground base1)) (diff-added (:weight bold :slant normal :underline nil :inverse-video nil :foreground green :background base02)) (diff-changed (:weight bold :slant normal :underline nil :inverse-video nil :foreground yellow :background base02)) (diff-removed (:weight bold :slant normal :underline nil :inverse-video nil :foreground red :background base02)) (diff-refine-change (:weight bold :slant normal :underline nil :inverse-video nil :foreground blue :background base02)) (diff-file-header (:background back)) (diff-header (:foreground base1 :background back)) (ido-only-match (:foreground green)) (ido-subdir (:foreground blue)) (ido-first-match (:weight bold :slant normal :underline nil :inverse-video nil :foreground green)) (emacs-wiki-bad-link-face (:weight normal :slant normal :underline t :inverse-video nil :foreground red)) ...))
  solarized-color-definitions()
  (apply (quote custom-theme-set-faces) (quote solarized) (solarized-color-definitions))
  (progn (custom-declare-theme (quote solarized) (quote solarized-theme) solarized-description) (apply (quote custom-theme-set-faces) (quote solarized) (solarized-color-definitions)) (provide-theme (quote solarized)))
  eval-buffer()  ; Reading at buffer position 250
  load-theme(solarized t)
sellout commented 9 years ago

Ok, this should be fixed by @schuster’s PR #149. Reopen if it’s still an issue.