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

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

[elpa] externals/leaf 2d210be 24/46: expand :leaf-path keyword anytime b


From: Stefan Monnier
Subject: [elpa] externals/leaf 2d210be 24/46: expand :leaf-path keyword anytime but set suppress-keywords
Date: Mon, 15 Mar 2021 22:20:45 -0400 (EDT)

branch: externals/leaf
commit 2d210bef3a221077a3c8e409e528dd142bbbaf0f
Author: Naoya Yamashita <conao3@gmail.com>
Commit: Naoya Yamashita <conao3@gmail.com>

    expand :leaf-path keyword anytime but set suppress-keywords
---
 leaf.el | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/leaf.el b/leaf.el
index 21ac969..4f2b57e 100644
--- a/leaf.el
+++ b/leaf.el
@@ -67,7 +67,7 @@ Same as `list' but this macro does not evaluate any 
arguments."
 (defvar leaf-keywords
   (leaf-list
    :disabled          (unless (eval (car leaf--value)) `(,@leaf--body))
-   :leaf-path         (progn (when (and load-in-progress (eval (car 
leaf--value))) (add-to-list 'leaf--paths `(,leaf--name . ,load-file-name))) 
`(,@leaf--body))
+   :leaf-path         (if (and leaf--body (eval (car leaf--value))) 
`((leaf-handler-leaf-path ,leaf--name) ,@leaf--body) `(,@leaf--body))
    :leaf-protect      (if (and leaf--body (eval (car leaf--value))) 
`((leaf-handler-leaf-protect ,leaf--name ,@leaf--body)) `(,@leaf--body))
    :load-path         `(,@(mapcar (lambda (elm) `(add-to-list 'load-path 
,elm)) leaf--value) ,@leaf--body)
    :load-path*        `(,@(mapcar (lambda (elm) `(add-to-list 'load-path 
(locate-user-emacs-file ,elm))) leaf--value) ,@leaf--body)
@@ -382,7 +382,7 @@ If non-nil, disabled keywords of 
`leaf-expand-minimally-suppress-keywords'."
   :type 'boolean
   :group 'leaf)
 
-(defcustom leaf-expand-minimally-suppress-keywords '(:leaf-protect :leaf-defun 
:leaf-defvar)
+(defcustom leaf-expand-minimally-suppress-keywords '(:leaf-protect :leaf-defun 
:leaf-defvar :leaf-path)
   "Suppress keywords when `leaf-expand-minimally' is non-nil."
   :type 'sexp
   :group 'leaf)
@@ -942,6 +942,11 @@ FN also accept list of FN."
       (display-warning 'leaf (format ,(format "Error in `%s' block.  Error 
msg: %%s" name)
                                      (error-message-string err))))))
 
+(defmacro leaf-handler-leaf-path (name)
+  "Meta handler for :leaf-path for NAME."
+  `(when load-in-progress
+     (add-to-list 'leaf--paths (cons ',name load-file-name))))
+
 (defmacro leaf-handler-package (name pkg _pin)
   "Handler ensure PKG via PIN in NAME leaf block."
   `(unless (package-installed-p ',pkg)



reply via email to

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