From cfb8a866dc6181889b0c056abf4fdd3f34fb144b Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Fri, 8 Jan 2021 23:56:27 -0500 Subject: [PATCH] Bump :core Fuco1/smartparens@7f5825d -> Fuco1/smartparens@63695c6 bbatsov/projectile@d1cfad0 -> bbatsov/projectile@c31bd41 domtronn/all-the-icons.el@6917b08 -> domtronn/all-the-icons.el@9aa16ae iqbalansari/restart-emacs@e570749 -> iqbalansari/restart-emacs@1607da2 jscheid/dtrt-indent@a7ade6d -> jscheid/dtrt-indent@854b9a1 justbur/emacs-which-key@ca268fd -> justbur/emacs-which-key@428aedf jwiegley/use-package@caa92f1 -> jwiegley/use-package@365c73d raxod502/straight.el@3277e1c -> raxod502/straight.el@a32c97c + Closes #4513 + Fixes (wrong-number-of-arguments (3 . 4) 2) error for users on Emacs HEAD (see bbatsov/projectile#1635). + package! :build semantics have changed due to upstream changes. What was :build is now :pre-build. What was :no-build is now :build nil. + Now we must be careful not to auto-disable the "use-package" psuedo theme. It is used as a place to store :custom assignments without them being saved to custom.el. --- core/autoload/packages.el | 18 ++++++++++++------ core/cli/packages.el | 25 +++++++++++++++++-------- core/core-packages.el | 19 +++++++++++++++---- core/core-ui.el | 4 ++-- core/packages.el | 16 ++++++++-------- modules/lang/org/packages.el | 9 +++++---- 6 files changed, 59 insertions(+), 32 deletions(-) diff --git a/core/autoload/packages.el b/core/autoload/packages.el index 3b77d2278..8355da24d 100644 --- a/core/autoload/packages.el +++ b/core/autoload/packages.el @@ -13,18 +13,24 @@ ;; ;;; Bump commands -(defun doom--package-full-recipe (package plist) +(defun doom--package-merge-recipes (package plist) (require 'straight) (doom-plist-merge (plist-get plist :recipe) - (or (cdr (straight-recipes-retrieve package)) - (plist-get (cdr (assq package doom-packages)) - :recipe)))) + (if-let (recipe (straight-recipes-retrieve package)) + (cdr (if (memq (car recipe) '(quote \`)) + (eval recipe t) + recipe)) + (let ((recipe (plist-get (cdr (assq package doom-packages)) + :recipe))) + (if (keywordp (car recipe)) + recipe + (cdr recipe)))))) (defun doom--package-to-bump-string (package plist) "Return a PACKAGE and its PLIST in 'username/repo@commit' format." (format "%s@%s" - (plist-get (doom--package-full-recipe package plist) :repo) + (plist-get (doom--package-merge-recipes package plist) :repo) (substring-no-properties (plist-get plist :pin) 0 7))) (defun doom--package-at-point (&optional point) @@ -78,7 +84,7 @@ Grabs the latest commit id of the package using 'git'." (cl-destructuring-bind (&key package plist beg end) (or (doom--package-at-point) (user-error "Not on a `package!' call")) - (let* ((recipe (doom--package-full-recipe package plist)) + (let* ((recipe (doom--package-merge-recipes package plist)) (branch (plist-get recipe :branch)) (oldid (or (plist-get plist :pin) (doom-package-get package :pin))) diff --git a/core/cli/packages.el b/core/cli/packages.el index 0bd47ee93..bccd3f07a 100644 --- a/core/cli/packages.el +++ b/core/cli/packages.el @@ -335,17 +335,26 @@ declaration) or dependency thereof that hasn't already been." (doom--with-package-recipes recipes (package local-repo recipe) (unless force-p ;; Ensure packages with outdated files/bytecode are rebuilt - (let ((build-dir (straight--build-dir package)) - (repo-dir (straight--repos-dir local-repo))) - (and (not (plist-get recipe :no-build)) + (let* ((build-dir (straight--build-dir package)) + (repo-dir (straight--repos-dir local-repo)) + (build (plist-get recipe :build)) + (want-byte-compile + (or (eq build t) + (memq 'compile build))) + (want-native-compile + (and (or (eq build t) + (memq 'native-compile build)) + (require 'comp nil t)))) + (when (eq (car build) :not) + (setq want-byte-compile (not want-byte-compile) + want-native-compile (not want-native-compile))) + (and (or want-byte-compile want-native-compile) (or (file-newer-than-file-p repo-dir build-dir) (file-exists-p (straight--modified-dir (or local-repo package))) - (cl-loop with want-byte = (straight--byte-compile-package-p recipe) - with want-native = (if (require 'comp nil t) (straight--native-compile-package-p recipe)) - with outdated = nil + (cl-loop with outdated = nil for file in (doom-files-in build-dir :match "\\.el$" :full t) - if (or (if want-byte (doom--elc-file-outdated-p file)) - (if want-native (doom--eln-file-outdated-p file))) + if (or (if want-byte-compile (doom--elc-file-outdated-p file)) + (if want-native-compile (doom--eln-file-outdated-p file))) do (setq outdated t) (when want-native (push file doom--eln-output-expected)) diff --git a/core/core-packages.el b/core/core-packages.el index 40b0e73f4..3f984c601 100644 --- a/core/core-packages.el +++ b/core/core-packages.el @@ -235,7 +235,12 @@ processed." (defun doom-package-recipe (package &optional prop nil-value) "Returns the `straight' recipe PACKAGE was registered with." - (let ((plist (gethash (symbol-name package) straight--recipe-cache))) + (let* ((recipe (straight-recipes-retrieve package)) + (plist (doom-plist-merge + (plist-get (alist-get package doom-packages) :recipe) + (cdr (if (memq (car recipe) '(quote \`)) + (eval recipe t) + recipe))))) (if prop (if (plist-member plist prop) (plist-get plist prop) @@ -244,8 +249,14 @@ processed." (defun doom-package-recipe-repo (package) "Resolve and return PACKAGE's (symbol) local-repo property." - (if-let* ((recipe (cdr (straight-recipes-retrieve package))) - (repo (straight-vc-local-repo-name recipe))) + (if-let* ((recipe (copy-sequence (doom-package-recipe package))) + (recipe (if (and (not (plist-member recipe :type)) + (memq (plist-get recipe :host) '(github gitlab bitbucket))) + (plist-put recipe :type 'git) + recipe)) + (repo (if-let (local-repo (plist-get recipe :local-repo)) + (file-name-nondirectory (directory-file-name local-repo)) + (ignore-errors (straight-vc-local-repo-name recipe))))) repo (symbol-name package))) @@ -482,7 +493,7 @@ elsewhere." (when-let (recipe (plist-get plist :recipe)) (cl-destructuring-bind (&key local-repo _files _flavor - _no-build _build _post-build _no-byte-compile + _build _pre-build _post-build _no-byte-compile _no-native-compile _no-autoloads _type _repo _host _branch _remote _nonrecursive _fork _depth) recipe diff --git a/core/core-ui.el b/core/core-ui.el index 0ea3085d5..d6b354d66 100644 --- a/core/core-ui.el +++ b/core/core-ui.el @@ -629,7 +629,7 @@ behavior). Do not set this directly, this is let-bound in `doom-init-theme-h'.") ;; `load-theme' doesn't disable previously enabled themes, which seems ;; like what you'd want. You could always use `enable-theme' to activate ;; multiple themes instead. - (mapc #'disable-theme (remq theme custom-enabled-themes)) + (mapc #'disable-theme (remq theme (remq 'use-package custom-enabled-themes))) (run-hooks 'doom-load-theme-hook)) result))) @@ -641,7 +641,7 @@ behavior). Do not set this directly, this is let-bound in `doom-init-theme-h'.") "Disable other themes when loading a new one." :before #'load-theme (unless no-enable - (mapc #'disable-theme custom-enabled-themes))) + (mapc #'disable-theme (remq 'use-package custom-enabled-themes)))) ;; DEPRECATED Not needed in Emacs 27 (defadvice! doom--prefer-compiled-theme-a (orig-fn &rest args) diff --git a/core/packages.el b/core/packages.el index 8ba3389dc..4dacca6d9 100644 --- a/core/packages.el +++ b/core/packages.el @@ -17,26 +17,26 @@ :branch ,straight-repository-branch :local-repo "straight.el" :files ("straight*.el")) - :pin "3277e1c9648b41dd5bfb239c067b8374ed2ec2bb") + :pin "a32c97cb427b7f14dfd066f36a58d1740e20ed69") ;; core-modules.el (package! use-package :type 'core - :pin "caa92f1d64fc25480551757d854b4b49981dfa6b") + :pin "365c73d2618dd0040a32c2601c5456ab5495b812") ;; core-ui.el -(package! all-the-icons :pin "6917b08f64dd8487e23769433d6cb9ba11f4152f") +(package! all-the-icons :pin "9aa16ae198073fe839a0abfa9a7d3a9dc85ef5f9") (package! hide-mode-line :pin "88888825b5b27b300683e662fa3be88d954b1cea") (package! highlight-numbers :pin "8b4744c7f46c72b1d3d599d4fb75ef8183dee307") (package! rainbow-delimiters :pin "f43d48a24602be3ec899345a3326ed0247b960c6") -(package! restart-emacs :pin "e5707491d7ac20879465bb52e282ad1416748378") +(package! restart-emacs :pin "1607da2bc657fe05ae01f7fdf26f716eafead02c") ;; core-editor.el (package! better-jumper :pin "e3a6546aa626b9a79ae451c88f44cf26f9d1a919") -(package! dtrt-indent :pin "a7ade6d244eeeda2ada9f7eca565491cea4b622a") +(package! dtrt-indent :pin "854b9a1ce93d9926018a0eb18e6e552769c5407d") (package! helpful :pin "584ecc887bb92133119f93a6716cdf7af0b51dca") (package! pcre2el :pin "0b5b2a2c173aab3fd14aac6cf5e90ad3bf58fa7d") -(package! smartparens :pin "7f5825dd655942c3d56d14acabab1ffab1aa2ae2") +(package! smartparens :pin "63695c64233d215a92bf08e762f643cdb595bdd9") (package! so-long :built-in 'prefer ; included in Emacs 27+ ;; REVIEW so-long is slated to be published to ELPA eventually, but until then @@ -51,8 +51,8 @@ :pin "2bb49d3ee7d2cba133bc7e9cdac416cd1c5e4fe0") ;; core-projects.el -(package! projectile :pin "d1cfad008b1719a6bee17fbe9479db414c0dc5d9") +(package! projectile :pin "c31bd41c0b9d6fba8837ebfd3a31dec0b3cd73c6") ;; core-keybinds.el (package! general :pin "a0b17d207badf462311b2eef7c065b884462cb7c") -(package! which-key :pin "ca268fd313d3fb2bd03a8b5e4bdcca675ce58ca7") +(package! which-key :pin "428aedfce0157920814fbb2ae5d00b4aea89df88") diff --git a/modules/lang/org/packages.el b/modules/lang/org/packages.el index d5d2a5926..a1fcf744d 100644 --- a/modules/lang/org/packages.el +++ b/modules/lang/org/packages.el @@ -14,10 +14,11 @@ ;; root. Of course, this command won't work in a sparse clone, ;; and more than that, initiating these compilation step is a ;; hassle, so... - :build (with-temp-file (expand-file-name "org-version.el" (straight--repos-dir "org-mode")) - (insert "(fset 'org-release (lambda () \"9.5\"))\n" - "(fset 'org-git-version #'ignore)\n" - "(provide 'org-version)\n"))) + :pre-build + (with-temp-file (expand-file-name "org-version.el" (straight--repos-dir "org-mode")) + (insert "(fset 'org-release (lambda () \"9.5\"))\n" + "(fset 'org-git-version #'ignore)\n" + "(provide 'org-version)\n"))) :pin "7c8dce72bd5d86157dd1dda2ba0a21ac86084426" ;; Prevents built-in Org from sneaking into the byte-compilation of ;; `org-plus-contrib', and inform other packages that `org-mode' satisfies the