tsgates/git-emacs

if: Symbol's function definition is void: case

marstein opened this issue · 1 comments

On a project on github that I can control well on the command line, emacs-git fails when I try to commit:

if: Symbol's function definition is void: case

I am using GNU Emacs 22.3.1 (i386-mingw-nt6.0.6002)

Entering the debugger on the error shows:


Debugger entered--Lisp error: (void-function case)
  (case (git--status-file filename) ((quote modified) (git-commit-all)) ((quote staged) (git-commit-all)) ((quote unknown) (git--add filename)) ((quote unmerged) (git--add filename)) (t (git--add filename)))
  (if on-git\? (case (git--status-file filename) (... ...) (... ...) (... ...) (... ...) (t ...)) (setq ad-return-value (ad-Orig-vc-next-action verbose)))
  (let ((on-git\? ...) (filename "")) (when buffer-file-name (setq filename ...)) (if on-git\? (case ... ... ... ... ... ...) (setq ad-return-value ...)))
  (let (ad-return-value) (let (... ...) (when buffer-file-name ...) (if on-git\? ... ...)) ad-return-value)
  vc-next-action(nil)
  call-interactively(vc-next-action)

My lisp is very rusty, I don't see anything wrong with case. Apparently it is a void function?

Let me know if you need anything else!

ovy commented

Can you try replacing the line:

(eval-when-compile (require 'cl))

with just

(require 'cl)

, then reloading everything? I'm thinking there might be something different about library loading on windows. case comes from the library cl-emacs, which is loaded by "cl"