branch: externals/ergoemacs-mode commit fccae9b30e4fbd914e7aded8a994e3c8a4d21a67 Author: Walter Landry <wlan...@caltech.edu> Commit: Walter Landry <wlan...@caltech.edu>
Remove ensure functions --- ergoemacs-component.el | 76 ++------------------------------------------------ ergoemacs-lib.el | 3 -- ergoemacs-macros.el | 23 --------------- ergoemacs-mode.el | 10 ++----- 4 files changed, 5 insertions(+), 107 deletions(-) diff --git a/ergoemacs-component.el b/ergoemacs-component.el index e61a86e..ad4ef11 100644 --- a/ergoemacs-component.el +++ b/ergoemacs-component.el @@ -142,7 +142,6 @@ (variable-prefixes '([apps] [menu] [27]) :read-only t) (package-name nil) (autoloads nil) - (ensure nil) (layout "us" :read-only t) (calculated-layouts (make-hash-table :test 'equal)) (relative-to 'global-map) @@ -150,46 +149,6 @@ (defvar ergoemacs-component-struct--define-key-current nil) -(defvar ergoemacs-component-struct--ensure-refreshed-p t) -(defun ergoemacs-component-struct--ensure (package &optional defer autoloads) - "Ensure PACKAGE is installed. - -When DEFER is non-nil, dont `require' the package, just make sure -it is installed. - -The AUTOLOADS is a list of functions that need to be autoloaded -if the package is deferred." - (when package - (ergoemacs-timing ensure - (ergoemacs-timing (intern (format "ensure-%s" package)) - (let ((package (or (and (symbolp package) package) - (and (stringp package) (intern package))))) - (unless (or defer (featurep package)) - (require package nil t)) - (when (and package (not (featurep package)) (numberp defer)) - (run-with-idle-timer defer nil #'require package ;; `(lambda() - ;; (message ,(format "Defer: %s %s" package defer)) - ;; (require ,package) - ;; (ergoemacs-component-struct--apply-inits)) - ) - ) - (when (and defer autoloads) - (dolist (c autoloads) - (unless (fboundp (car c)) - (autoload (car c) (format "%s" (cdr c)) nil t)))) - (unless (featurep package) - (unless package--initialized - (package-initialize)) - (if (package-installed-p package) t - (unless ergoemacs-component-struct--ensure-refreshed-p - (package-refresh-contents) - (setq ergoemacs-component-struct--ensure-refreshed-p t)) - (unless (progn (ignore-errors (package-install package)) - (package-installed-p package)) - (ergoemacs-warn "ergoemacs-mode could not install %s." package)) - (unless defer - (require package nil t))))))))) - (defun ergoemacs-component-struct--parse-list (list function &rest args) "Handle :bind and :mode LIST and call FUNCTION. @@ -282,7 +241,6 @@ FILE is the file name where the component was created." :variable-modifiers (or (plist-get plist :variable-modifiers) '(meta)) :variable-prefixes (or (plist-get plist :variable-prefixes) '([apps] [menu] [27])) :package-name (plist-get plist :package-name) - :ensure (plist-get plist :ensure) :layout (or (plist-get plist :layout) "us") :defer (plist-get plist :defer))) (let* ((tmp (plist-get plist :bind-keymap)) @@ -1069,7 +1027,6 @@ OBJECT is the `ergoemacs-component-struct' object being changed." (defvar ergoemacs-component-struct--deferred-functions '()) (defvar ergoemacs-component-struct--apply-inits-first-p t) -(defvar ergoemacs-component-struct--apply-ensure-p nil) (defvar ergoemacs-component-struct--applied-plists nil) (defvar ergoemacs-component-echo-loaded-file-p nil) @@ -1094,10 +1051,9 @@ to prevent infinite recursion." (when (eq ergoemacs-component-struct--refresh-variables t) (setq ergoemacs-component-struct--refresh-variables ergoemacs-component-struct--applied-inits)) (let* ((obj (or obj (ergoemacs-theme-components))) - package-name ensure defer comp tmp autoloads) + package-name defer comp tmp autoloads) (when ergoemacs-component-struct--apply-inits-first-p - (setq ergoemacs-component-struct--apply-inits-first-p nil - ergoemacs-component-struct--apply-ensure-p t) + (setq ergoemacs-component-struct--apply-inits-first-p nil) (if (not ergoemacs-mode--fast-p) (setq ergoemacs--start-emacs-state-2 (ergoemacs--emacs-state)) ;; Check to see if emacs state has changed. @@ -1115,33 +1071,6 @@ to prevent infinite recursion." 'ergoemacs--last-start-emacs-state-2 ergoemacs--last-start-emacs-state-2)) (ergoemacs-mode-clear-cache t) (ergoemacs-warn "ergoemacs-mode cache reset AFTER loading; Keys may be slightly inconsistent until emacs restart."))))) - (when ergoemacs-component-struct--apply-ensure-p - (setq ergoemacs-component-struct--apply-ensure-p nil) - ;; Ensure packages - (dolist (elt obj) - (setq comp (ergoemacs-component-struct--lookup-hash elt) - package-name (ergoemacs-component-struct-package-name comp) - ensure (ergoemacs-component-struct-ensure comp) - autoloads (ergoemacs-component-struct-autoloads comp) - defer (ergoemacs-component-struct-defer comp)) - (cond - ((eq ensure t) - (ergoemacs-component-struct--ensure package-name defer autoloads)) - ((and ensure (symbolp ensure)) - (ergoemacs-component-struct--ensure ensure defer autoloads)) - ((and (consp ensure) (memq (car ensure) '(memq member and or if when = string= not string< eq equal))) - (when (ignore-errors (eval ensure)) - (ergoemacs-component-struct--ensure package-name defer autoloads))) - ((consp ensure) - (dolist (elt ensure) - (cond - ((and elt (symbolp elt)) - (ergoemacs-component-struct--ensure elt defer autoloads)) - ((stringp elt) - (ergoemacs-component-struct--ensure (intern elt) defer autoloads))) - (setq autoloads nil))) - ((stringp ensure) - (ergoemacs-component-struct--ensure (intern ensure) defer autoloads))))) ;; Turn on plist options (like :diminish) (dolist (elt obj) (unless (memq elt ergoemacs-component-struct--applied-plists) @@ -1733,7 +1662,6 @@ lists. It can also be the symbol name of the package. uu When TYPE is non-nil, the function turns off the diminish modifications with `diminish-undo'" - (ignore-errors (ergoemacs-component-struct--ensure 'diminish)) (require 'diminish nil t) (if (not (featurep 'diminish)) (message "Error installing diminish package.") diff --git a/ergoemacs-lib.el b/ergoemacs-lib.el index 9453c12..8142aff 100644 --- a/ergoemacs-lib.el +++ b/ergoemacs-lib.el @@ -44,7 +44,6 @@ (defvar ergoemacs-require) (defvar ergoemacs-theme-hash) (defvar ergoemacs-timing-hash) -(defvar ergoemacs-component-struct--apply-ensure-p) (defvar package-archives) @@ -247,7 +246,6 @@ When TYPE is nil, assume the type is 'required-hidden REMOVE represents when you would remove the OPTION from the ergoemacs THEME." - (setq ergoemacs-component-struct--apply-ensure-p t) (unless (member (list option theme type remove) ergoemacs-require) (push (list option theme type remove) ergoemacs-require)) (if ergoemacs-require--ini-p @@ -669,7 +667,6 @@ EVENT is used when this is called from a mouse event." (let ((sym (format "%s" symname))) (unless (catch 'found (dolist (lst '(("initialize-\\(.*\\)\\'" "Initialize ") - ("ensure-\\(.*\\)\\'" "Ensure ") ("create-component-\\(.*\\)\\'" "Create Component ") ("translate-keymap-\\(.*\\)\\'" "Translate Keymap "))) (when (string-match (nth 0 lst) sym) diff --git a/ergoemacs-macros.el b/ergoemacs-macros.el index e50c1c9..1f37478 100644 --- a/ergoemacs-macros.el +++ b/ergoemacs-macros.el @@ -257,7 +257,6 @@ macro." :defer :demand :diminish - :ensure :package-name :ergoemacs-require :no-load @@ -365,11 +364,6 @@ or a list of modes: Borrowed from `use-package'. -:ensure -- If the package should be installed by `package' if not present. - -This can be t to install the :package-name symbol. Otherwise -it can be a list of symbols or single symbol. - :package-name -- Name of package to load. When non-nil any key defition to a single command will create an autoload for that command. @@ -442,23 +436,6 @@ on the definition: (defvar ergoemacs-theme-components--modified-plist nil "Modified plist.") -(fset 'ergoemacs-theme-component--add-ensure - #'(lambda (plist pkg) - "Add PKG to the :ensure keyword." - (let ((cur-ensure (plist-get plist :ensure)) - (cur-pkg (intern (format "%s" (plist-get plist :package-name))))) - (cond - ((eq cur-ensure t) - (setq ergoemacs-theme-components--modified-plist - (plist-put plist :ensure (list pkg cur-pkg)))) - ((not cur-ensure) - (setq ergoemacs-theme-components--modified-plist - (plist-put plist :ensure pkg))) - ((not (memq pkg cur-ensure)) - (push pkg cur-ensure) - (setq ergoemacs-theme-components--modified-plist - (plist-put plist :ensure cur-ensure))))))) - (fset 'ergoemacs-theme-component--parse-keys-and-body #'(lambda (keys-and-body &optional parse-function skip-first) "Split KEYS-AND-BODY into keyword-and-value pairs and the remaining body. diff --git a/ergoemacs-mode.el b/ergoemacs-mode.el index f5c68e5..50fc851 100644 --- a/ergoemacs-mode.el +++ b/ergoemacs-mode.el @@ -74,7 +74,6 @@ (defvar ergoemacs-require--ini-p) (defvar ergoemacs-require) (defvar pcache-directory) -(defvar ergoemacs-component-struct--apply-ensure-p) (require 'package) @@ -314,8 +313,7 @@ The `execute-extended-command' is now \\[execute-extended-command]. (add-hook 'pre-command-hook #'ergoemacs-pre-command-hook) (add-hook 'post-command-hook #'ergoemacs-post-command-hook) (add-hook 'after-load-functions #'ergoemacs-after-load-functions) - (setq ergoemacs-require--ini-p t - ergoemacs-component-struct--apply-ensure-p t) + (setq ergoemacs-require--ini-p t) (ergoemacs-setup-override-keymap) (if refresh-p (message "Ergoemacs-mode keys refreshed (%s:%s)" @@ -324,8 +322,7 @@ The `execute-extended-command' is now \\[execute-extended-command]. (modify-all-frames-parameters ergoemacs-mode--default-frame-alist) (unless (assoc 'cursor-type ergoemacs-mode--default-frame-alist) (modify-all-frames-parameters (list (cons 'cursor-type 'box)))) - (setq ergoemacs-mode--default-frame-alist nil - ergoemacs-component-struct--apply-ensure-p t) + (setq ergoemacs-mode--default-frame-alist nil) (run-hooks 'ergoemacs-mode-shutdown-hook) (remove-hook 'post-command-hook #'ergoemacs-post-command-hook) (remove-hook 'pre-command-hook #'ergoemacs-pre-command-hook) @@ -424,8 +421,7 @@ This is structured by valid keyboard layouts for "Hash table of `ergoemacs-mode' timing.") (defvar ergoemacs-timing--locations - '((ensure . "ergoemacs-component.el") - (remove-global-map-map-keymap . "ergoemacs-component.el") + '((remove-global-map-map-keymap . "ergoemacs-component.el") (remove-local-keymap-map-keymap . "ergoemacs-component.el") (translate-keymap . "ergoemacs-component.el") (describe-keymap . "ergoemacs-key-description.el")