[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [emms-help] emms-shuffle error
From: |
Yoni Rabkin Katzenell |
Subject: |
Re: [emms-help] emms-shuffle error |
Date: |
Sun, 24 Sep 2006 12:31:09 +0300 |
User-agent: |
Gnus/5.110006 (No Gnus v0.6) Emacs/22.0.50 (gnu/linux) |
Leon <address@hidden> writes:
> Hi,
>
> emms-shuffle as in emms 2.1 will generate such an error:
>
> ,----
> | Debugger entered--Lisp error: (invalid-function (macro . #[(&rest body)
> "ÁÂÃÄÅÆÃÇBBEEE." [body progn (when (or (not emms-playlist-buffer) (not
> (buffer-live-p emms-playlist-buffer))) (emms-playlist-current-clear)) let
> ((emms-source-old-buffer (or emms-source-old-buffer (current-buffer))))
> with-current-buffer emms-playlist-buffer ((inhibit-read-only t))] 9
> ("/opt/share/emacs/site-lisp/emms/emms.elc" . 18826)]))
> | with-current-emms-playlist(289)
> | emms-shuffle()
> | call-interactively(emms-shuffle)
> | execute-extended-command(nil)
> | call-interactively(execute-extended-command)
> `----
>
> Any fix?
This error will happen only when Emms is byte-compiled. In emms.el,
functions like `emms-shuffle' call the macro
`with-current-emms-playlist' before it is defined.
Indeed section 13.3 of the Elisp manual says:
"In order for compilation of macro calls to work, the macros must
already be defined in Lisp when the calls to them are compiled."
I won't send a patch in quite yet because I don't wish to make a salad
out of Jorgen's core Emms file, and there are other ways to solve this.
--
"Cut your own wood and it will warm you twice"