diff options
Diffstat (limited to 'emms.el')
| -rw-r--r-- | emms.el | 13 | 
1 files changed, 10 insertions, 3 deletions
| @@ -218,6 +218,11 @@ seconds the player did seek."  (defvar emms-player-paused-p nil    "Whether the current player is paused or not.") +(defvar emms-source-old-buffer nil +  "The active buffer before a source was invoked. +This can be used if the source depends on the current buffer not +being the playlist buffer.") +  ;;; User Interface @@ -446,9 +451,11 @@ This also disables any read-onliness of the current buffer."       (when (or (not emms-playlist-buffer)                 (not (buffer-live-p emms-playlist-buffer)))         (emms-playlist-current-clear)) -     (with-current-buffer emms-playlist-buffer -       (let ((inhibit-read-only t)) -         ,@body)))) +     (let ((emms-source-old-buffer (or emms-source-old-buffer +                                       (current-buffer)))) +      (with-current-buffer emms-playlist-buffer +        (let ((inhibit-read-only t)) +          ,@body)))))  (put 'with-current-emms-playlist 'lisp-indent-function 0)  (put 'with-current-emms-playlist 'edebug-form-spec '(body)) | 
