Kierin Bell <[email protected]> writes:

> lisp/emms-mark.el (emms-mark-mode): Do not set
> `emms-playlist-buffer-p' to t before calling `emms-playlist-mode' in
> `emms-mark-mode'.  Otherwise, when `emms-mark-mode' is called in an
> empty buffer, `emms-playlist-mode-startup' will erroneously call
> `emms-playlist-select-first', causing the error "No first track".
> Specifically, this error happens when
> `emms-playlist-default-major-mode' is set to `emms-mark-mode' in an
> Emacs startup file, as per the Emms manual, and then the user runs a
> command like `emms-add-directory'.
> ---
> This patch fixes a bug that causes an error when following instructions in 
> the Emms manual to set `emms-playlist-default-major-mode' to 
> `emms-mark-mode'. To reproduce:
>
> Run emacs -Q
>
> (require 'emms-setup)
> (emms-all)
> (setq emms-playlist-default-major-mode 'emms-mark-mode)
>
> Run command `emms-add-directory-tree' as normal to get error.
>
> The use of `emms-playlist-buffer-p' looks to be a bit inconsistent and 
> confusing in the code, but as far as I can tell, my patch hasn't broken 
> anything!
>
>  emms-mark.el | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/emms-mark.el b/emms-mark.el
> index b640e12..a32760b 100644
> --- a/emms-mark.el
> +++ b/emms-mark.el
> @@ -260,9 +260,9 @@ this function collects the result of FUNC."
>        nil
>  
>      ;; start emms-playlist-mode exactly once
> -    (setq emms-playlist-buffer-p t)
>      (unless (eq major-mode 'emms-playlist-mode)
>        (emms-playlist-mode))
> +    (setq emms-playlist-buffer-p t)
>  
>      ;; use inherited keymap
>      (set-keymap-parent emms-mark-mode-map (current-local-map))

Patched; thank you

-- 
   "Cut your own wood and it will warm you twice"

Reply via email to