emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] externals/emms dd1ee74db3 3/3: Save the cache after tag editing.


From: ELPA Syncer
Subject: [elpa] externals/emms dd1ee74db3 3/3: Save the cache after tag editing.
Date: Tue, 15 Mar 2022 13:57:33 -0400 (EDT)

branch: externals/emms
commit dd1ee74db3325d6a27e14df7ae882b5cbd84989a
Author: Yoni Rabkin <yoni@rabkins.net>
Commit: Yoni Rabkin <yoni@rabkins.net>

    Save the cache after tag editing.
---
 emms-cache.el      | 36 +++++++++++++++++-------------------
 emms-tag-editor.el |  3 ++-
 2 files changed, 19 insertions(+), 20 deletions(-)

diff --git a/emms-cache.el b/emms-cache.el
index 35b851c5e5..0b52bbbce2 100644
--- a/emms-cache.el
+++ b/emms-cache.el
@@ -1,8 +1,8 @@
 ;;; emms-cache.el --- persistence for emms-track  -*- lexical-binding: t; -*-
 
-;; Copyright (C) 2006, 2007, 2008, 2009  Free Software Foundation, Inc.
+;; Copyright (C) 2006, 2007, 2008, 2009, 2022  Free Software Foundation, Inc.
 
-;; Author: Damien Elmes <emacs@repose.cx>
+;; Author: Damien Elmes <emacs@repose.cx>, Yoni Rabkin <yrk@gnu.org>
 ;; Keywords: emms, mp3, mpeg, multimedia
 
 ;; This file is part of EMMS.
@@ -130,23 +130,21 @@ This is used to cache over emacs sessions.")
   (interactive)
   (when emms-cache-dirty
     (message "Saving emms track cache...")
-    (set-buffer (get-buffer-create " emms-cache "))
-    (erase-buffer)
-    (insert
-     (concat ";;; .emms-cache -*- mode: emacs-lisp; coding: "
-             (symbol-name emms-cache-file-coding-system)
-             "; -*-\n"))
-    (maphash (lambda (k v)
-               (insert (format
-                        "(puthash %S '%S emms-cache-db)\n" k v)))
-             emms-cache-db)
-    (when (fboundp 'set-buffer-file-coding-system)
-      (set-buffer-file-coding-system emms-cache-file-coding-system))
-    (unless (file-directory-p (file-name-directory emms-cache-file))
-      (make-directory (file-name-directory emms-cache-file)))
-    (write-region (point-min) (point-max) emms-cache-file)
-    (kill-buffer (current-buffer))
-    (message "Saving emms track cache...done")
+    (with-temp-buffer
+      (insert
+       (concat ";;; .emms-cache -*- mode: emacs-lisp; coding: "
+               (symbol-name emms-cache-file-coding-system)
+               "; -*-\n"))
+      (maphash (lambda (k v)
+                (insert (format
+                          "(puthash %S '%S emms-cache-db)\n" k v)))
+               emms-cache-db)
+      (when (fboundp 'set-buffer-file-coding-system)
+       (set-buffer-file-coding-system emms-cache-file-coding-system))
+      (unless (file-directory-p (file-name-directory emms-cache-file))
+       (make-directory (file-name-directory emms-cache-file)))
+      (write-region (point-min) (point-max) emms-cache-file)
+      (message "Saving emms track cache...done"))
     (setq emms-cache-dirty nil)))
 
 (defun emms-cache-restore ()
diff --git a/emms-tag-editor.el b/emms-tag-editor.el
index 70338ef7b1..4595bf6ef0 100644
--- a/emms-tag-editor.el
+++ b/emms-tag-editor.el
@@ -632,7 +632,8 @@ With prefix argument, bury the tag edit buffer."
     (if (not (and tracks (y-or-n-p "Submit changes? ")))
         (message "No tags were modified")
       (emms-tag-editor-erase-buffer emms-tag-editor-log-buffer)
-      (emms-tag-editor-apply tracks)))
+      (emms-tag-editor-apply tracks)
+      (emms-cache-save)))
   (when arg (bury-buffer)))
 
 (defun emms-tag-editor-apply (tracks)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]