diff options
-rw-r--r-- | emms-cache.el | 2 | ||||
-rw-r--r-- | emms-info.el | 6 | ||||
-rw-r--r-- | emms-later-do.el (renamed from later-do.el) | 67 |
3 files changed, 39 insertions, 36 deletions
diff --git a/emms-cache.el b/emms-cache.el index 792b1b8..939f0f0 100644 --- a/emms-cache.el +++ b/emms-cache.el @@ -29,7 +29,7 @@ ;; does not differentiate between file or uri tracks. ;; Because cache lookups are much faster than disk access, this works -;; much better with a later-do-interval of something like 0.001. Also +;; much better with a emms-later-do-interval of something like 0.001. Also ;; consider using synchronous mode, as it's quite fast now. ;; This code is activated by (emms-standard) and above. diff --git a/emms-info.el b/emms-info.el index 5e8fae2..382a324 100644 --- a/emms-info.el +++ b/emms-info.el @@ -44,7 +44,7 @@ ;;; Code: (require 'emms) -(require 'later-do) +(require 'emms-later-do) (defgroup emms-info nil "*Track information. ID3, OGG, etc." @@ -59,7 +59,7 @@ too annoying for you, set this variable to nil." (defcustom emms-info-asynchronously t "*Non-nil when track information should be loaded asynchronously. -This requires `later-do', which should come with EMMS." +This requires `emms-later-do', which should come with EMMS." :type 'boolean :group 'emms-info) @@ -85,7 +85,7 @@ This is a suitable value for `emms-track-initialize-functions'." (if (not emms-info-asynchronously) (emms-info-really-initialize-track track) (setq emms-info-asynchronous-tracks (1+ emms-info-asynchronous-tracks)) - (later-do 'emms-info-really-initialize-track track))) + (emms-later-do 'emms-info-really-initialize-track track))) (defun emms-info-really-initialize-track (track) "Really initialize TRACK. diff --git a/later-do.el b/emms-later-do.el index 5908ac5..e2729ab 100644 --- a/later-do.el +++ b/emms-later-do.el @@ -1,4 +1,4 @@ -;;; later-do.el --- execute lisp code ... later +;;; emms-later-do.el --- execute lisp code ... later ;; Copyright (C) 2004, 2005, 2006, 2007, 2008, ;; 2009, 2018 Free Software Foundation, Inc. @@ -26,61 +26,64 @@ ;; possible to work while elisp does some longer calculations, if you ;; can convert those calculations into a sequence of function calls. +;; 2020-09-22: Name changed from later-do to emms-later-do in order to +;; avoid polluting the namespace. + ;;; Code: -(defvar later-do-version "0.2emms4 (2018-04-07)" - "Version string of later-do.") +(defvar emms-later-do-version "0.2emms4 (2018-04-07)" + "Version string of emms-later-do.") -(defgroup later-do nil +(defgroup emms-later-do nil "*Running functions ... later!" - :prefix "later-do-" + :prefix "emms-later-do-" :group 'development) -(defcustom later-do-interval 0.5 +(defcustom emms-later-do-interval 0.5 "How many seconds to wait between running events." - :group 'later-do + :group 'emms-later-do :type 'number) -(defcustom later-do-batch 20 - "How many functions to process before waiting `later-do-interval'. -The functions are processed from `later-do-list'. Must be 1 or +(defcustom emms-later-do-batch 20 + "How many functions to process before waiting `emms-later-do-interval'. +The functions are processed from `emms-later-do-list'. Must be 1 or greater. Too high a value might make Emacs slower while the list is being processed." - :group 'later-do + :group 'emms-later-do :type 'number) -(defvar later-do-list nil +(defvar emms-later-do-list nil "A list of functions to be called later on.") -(defvar later-do-timer nil - "The timer that later-do uses.") +(defvar emms-later-do-timer nil + "The timer that emms-later-do uses.") -(defun later-do (function &rest args) +(defun emms-later-do (function &rest args) "Apply FUNCTION to ARGS later on. This is an unspecified amount of time after this call, and definitely not while lisp is -still executing. Code added using `later-do' is guaranteed to be +still executing. Code added using `emms-later-do' is guaranteed to be executed in the sequence it was added." - (setq later-do-list (nconc later-do-list + (setq emms-later-do-list (nconc emms-later-do-list (list (cons function args)))) - (unless later-do-timer - (setq later-do-timer - (run-with-timer later-do-interval nil 'later-do-timer)))) + (unless emms-later-do-timer + (setq emms-later-do-timer + (run-with-timer emms-later-do-interval nil 'emms-later-do-timer)))) -(defun later-do-timer () - "Run the next element in `later-do-list', or do nothing if it's +(defun emms-later-do-timer () + "Run the next element in `emms-later-do-list', or do nothing if it's empty." - (if (null later-do-list) - (setq later-do-timer nil) + (if (null emms-later-do-list) + (setq emms-later-do-timer nil) (let (res) (unwind-protect - (dotimes (b (min later-do-batch (length later-do-list)) res) - (let ((fun (caar later-do-list)) - (args (cdar later-do-list))) - (setq later-do-list (cdr later-do-list)) + (dotimes (b (min emms-later-do-batch (length emms-later-do-list)) res) + (let ((fun (caar emms-later-do-list)) + (args (cdar emms-later-do-list))) + (setq emms-later-do-list (cdr emms-later-do-list)) (setq res (apply fun args))))) - (setq later-do-timer (run-with-timer later-do-interval + (setq emms-later-do-timer (run-with-timer emms-later-do-interval nil - 'later-do-timer))))) + 'emms-later-do-timer))))) -(provide 'later-do) -;;; later-do.el ends here +(provide 'emms-later-do) +;;; emms-later-do.el ends here |