[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/leaf 7d5e17e41d 09/28: Merge pull request #517 from con
From: |
ELPA Syncer |
Subject: |
[elpa] externals/leaf 7d5e17e41d 09/28: Merge pull request #517 from conao3/fix-custom |
Date: |
Wed, 19 Jan 2022 18:58:38 -0500 (EST) |
branch: externals/leaf
commit 7d5e17e41de9147805711a7119bd42bfa47e8445
Merge: 8b5bbac137 749593adae
Author: Naoya Yamashita <conao3@gmail.com>
Commit: GitHub <noreply@github.com>
Merge pull request #517 from conao3/fix-custom
Use just push instead of using package--save-selected-packages
---
leaf-tests.el | 30 +++++++++++++++---------------
leaf.el | 54 +++++++++++++++++++++++++++++-------------------------
2 files changed, 44 insertions(+), 40 deletions(-)
diff --git a/leaf-tests.el b/leaf-tests.el
index 86bf79fdec..97b4654742 100644
--- a/leaf-tests.el
+++ b/leaf-tests.el
@@ -2390,21 +2390,21 @@ Example:
;; otherwise try to install it.
;; If installation fails, update local cache and retry to install.
((leaf-handler-package macrostep macrostep nil)
- (if (package-installed-p 'macrostep)
- (package--update-selected-packages '(macrostep) nil)
- (unless (assoc 'macrostep package-archive-contents)
- (package-refresh-contents))
- (condition-case _err
- (package-install 'macrostep)
- (error
- (condition-case err
- (progn
- (package-refresh-contents)
- (package-install 'macrostep))
- (error
- (display-warning 'leaf
- (format "In `macrostep' block, failed to
:package of `macrostep'. Error msg: %s"
- (error-message-string err)))))))))))
+ (progn
+ (leaf-safe-push 'macrostep package-selected-packages 'no-dup)
+ (unless (package-installed-p 'macrostep)
+ (unless (assoc 'macrostep package-archive-contents)
+ (package-refresh-contents))
+ (condition-case _err
+ (package-install 'macrostep)
+ (error
+ (package-refresh-contents)
+ (condition-case err
+ (package-install 'macrostep)
+ (error
+ (display-warning 'leaf
+ (format "In `macrostep' block, failed to
:package of `macrostep'. Error msg: %s"
+ (error-message-string err))))))))))))
(when (version< "24.0" emacs-version)
(cort-deftest-with-macroexpand leaf/leaf-key
diff --git a/leaf.el b/leaf.el
index 7339302978..19a5f3246b 100644
--- a/leaf.el
+++ b/leaf.el
@@ -5,7 +5,7 @@
;; Author: Naoya Yamashita <conao3@gmail.com>
;; Maintainer: Naoya Yamashita <conao3@gmail.com>
;; Keywords: lisp settings
-;; Version: 4.5.2
+;; Version: 4.5.3
;; URL: https://github.com/conao3/leaf.el
;; Package-Requires: ((emacs "24.1"))
@@ -775,12 +775,16 @@ see `alist-get'."
(indent-region (point-min) (point-max))
(display-buffer buf))))
-(defmacro leaf-safe-push (newelt place)
+(defmacro leaf-safe-push (newelt place &optional no-dup)
"Safely add NEWELT to the list stored in the generalized variable PLACE.
This is equivalent to `push' if PLACE is bound, otherwise, `setq'
-is used to define a new list."
+is used to define a new list.
+If NO-DUP is non-nil, do not `push' if the element already exists."
`(if (boundp ',place)
- (push ,newelt ,place)
+ ,(if (not no-dup)
+ `(push ,newelt ,place)
+ `(unless (memq ,newelt ,place)
+ (push ,newelt ,place)))
(setq ,place (list ,newelt))))
@@ -1076,27 +1080,27 @@ FN also accept list of FN."
(defmacro leaf-handler-package (name pkg _pin)
"Handler for ensuring the installation of PKG with package.el
via PIN in the leaf block NAME."
- `(if (package-installed-p ',pkg)
- (package--update-selected-packages '(,pkg) nil)
- (unless (assoc ',pkg package-archive-contents)
- (package-refresh-contents))
- (condition-case _err
- (package-install ',pkg)
- (error
- (condition-case err
- (progn
- (package-refresh-contents)
- (package-install ',pkg))
- (error
- (display-warning 'leaf
- (format
- ,(concat
- (format "In `%s' block" name)
- (when load-file-name
- (format " at `%s'" load-file-name))
- (format ", failed to :package of `%s'." pkg)
- " Error msg: %s")
- (error-message-string err)))))))))
+ `(progn
+ (leaf-safe-push ',pkg package-selected-packages 'no-dup)
+ (unless (package-installed-p ',pkg)
+ (unless (assoc ',pkg package-archive-contents)
+ (package-refresh-contents))
+ (condition-case _err
+ (package-install ',pkg)
+ (error
+ (package-refresh-contents)
+ (condition-case err
+ (package-install ',pkg)
+ (error
+ (display-warning 'leaf
+ (format
+ ,(concat
+ (format "In `%s' block" name)
+ (when load-file-name
+ (format " at `%s'" load-file-name))
+ (format ", failed to :package of `%s'." pkg)
+ " Error msg: %s")
+ (error-message-string err))))))))))
(defmacro leaf-handler-auth (name sym store)
"Handler auth-* to set SYM of NAME from STORE."
- [elpa] externals/leaf d732e4b88c 07/28: use just `push` instead of using `package--update-selected-packages`, (continued)
- [elpa] externals/leaf d732e4b88c 07/28: use just `push` instead of using `package--update-selected-packages`, ELPA Syncer, 2022/01/19
- [elpa] externals/leaf e800a2288e 16/28: transform nil into (), ELPA Syncer, 2022/01/19
- [elpa] externals/leaf 61365188be 02/28: Merge pull request #505 from gksato/feature#504-package-save-selected, ELPA Syncer, 2022/01/19
- [elpa] externals/leaf 3a6b31f737 10/28: run test also on Emacs-27.2, ELPA Syncer, 2022/01/19
- [elpa] externals/leaf 8418473614 14/28: transform nil to (), ELPA Syncer, 2022/01/19
- [elpa] externals/leaf 8b5bbac137 06/28: Merge pull request #512 from meziberry/p/leaf-keys, ELPA Syncer, 2022/01/19
- [elpa] externals/leaf 91f7ba756c 18/28: tagged v4.5.4, ELPA Syncer, 2022/01/19
- [elpa] externals/leaf 097cb1d2fd 25/28: Remove extra quote before (lambda) generated by `leaf-key`., ELPA Syncer, 2022/01/19
- [elpa] externals/leaf 81ba02fb43 17/28: add lambda bind pattern to README, ELPA Syncer, 2022/01/19
- [elpa] externals/leaf 9eb18e8c9c 28/28: Merge pull request #526 from lorniu/minor-mode, ELPA Syncer, 2022/01/19
- [elpa] externals/leaf 7d5e17e41d 09/28: Merge pull request #517 from conao3/fix-custom,
ELPA Syncer <=
- [elpa] externals/leaf 0a698d240e 21/28: Merge pull request #519 from Nyoho/fix/typo, ELPA Syncer, 2022/01/19