branch: externals/leaf commit af0d4d8daaa323c34502d3cbea85ec8f70b06c00 Merge: bf870b1 0bd023a Author: Naoya Yamashita <con...@gmail.com> Commit: GitHub <nore...@github.com>
Merge pull request #496 from Z572/fix-leaf-find-in-embedded-leaf-block-2 Fix leaf find in embedded leaf block 2 --- Makefile | 2 +- leaf-tests.el | 1 - leaf.el | 18 +++++++----------- 3 files changed, 8 insertions(+), 13 deletions(-) diff --git a/Makefile b/Makefile index 76758c6..a6181ba 100644 --- a/Makefile +++ b/Makefile @@ -8,7 +8,7 @@ TOP := $(dir $(lastword $(MAKEFILE_LIST))) UUID := $(shell ((uuidgen > /dev/null 2>&1 && uuidgen) || echo $$) | cut -c -7) -UBUNTU_EMACS := 23.4 24.1 24.5 25.1 +UBUNTU_EMACS := 24.1 24.5 25.1 ALPINE_EMACS := 25.3 26.1 26.2 DOCKER_EMACS := $(UBUNTU_EMACS:%=ubuntu-min-%) $(ALPINE_EMACS:%=alpine-min-%) diff --git a/leaf-tests.el b/leaf-tests.el index bf87adf..3fb5534 100644 --- a/leaf-tests.el +++ b/leaf-tests.el @@ -156,7 +156,6 @@ Example: (setq leaf-expand-leaf-defun nil) (setq leaf-expand-leaf-defvar nil) (setq leaf-expand-leaf-path nil) -(setq leaf-expand-leaf-defer-let nil) (cort-deftest-with-macroexpand leaf/none '(((leaf leaf) diff --git a/leaf.el b/leaf.el index 9bec14d..5c9a62a 100644 --- a/leaf.el +++ b/leaf.el @@ -152,14 +152,10 @@ Same as `list' but this macro does not evaluate any arguments." :global-minor-mode (progn (mapc (lambda (elm) (leaf-register-autoload (car elm) (cdr elm))) leaf--value) `(,@(mapcar (lambda (elm) `(,(car elm) 1)) leaf--value) ,@leaf--body)) - - :leaf-defer-let (if (and leaf--body (eval (car leaf--value)) - (let ((defer--value (plist-get leaf--raw :leaf-defer))) (eval (car defer--value))) - (leaf-list-memq leaf-defer-keywords (leaf-plist-keys leaf--raw))) - `((let ((leaf--load-file-name ,load-file-name)) ,(print leaf-expand-minimally) ,@leaf--body)) `(,@leaf--body)) - :leaf-defer (if (and leaf--body (eval (car leaf--value)) (leaf-list-memq leaf-defer-keywords (leaf-plist-keys leaf--raw))) - `((eval-after-load ',leaf--name '(progn ,@leaf--body))) `(,@leaf--body)) - + :leaf-defer (let* ((eval-after-p (and leaf--body (eval (car leaf--value)) (leaf-list-memq leaf-defer-keywords (leaf-plist-keys leaf--raw)))) + (file (leaf-this-file)) + (let-or-progn (if file `(let ((leaf--load-file-name ,file))) '(progn)))) + (if eval-after-p `((eval-after-load ',leaf--name '(,@let-or-progn ,@leaf--body))) `(,@leaf--body))) :setq `(,@(mapcar (lambda (elm) `(setq ,(car elm) ,(cdr elm))) leaf--value) ,@leaf--body) :setq-default `(,@(mapcar (lambda (elm) `(setq-default ,(car elm) ,(cdr elm))) leaf--value) ,@leaf--body) :setf `(,@(mapcar (lambda (elm) `(setf ,(car elm) ,(cdr elm))) leaf--value) ,@leaf--body) @@ -378,8 +374,8 @@ Sort by `leaf-sort-leaf--values-plist' in this order.") :group 'leaf) (defvar leaf-system-defaults (list - :leaf-autoload t :leaf-defer-let t :leaf-defer t - :leaf-protect t :leaf-defun t :leaf-defvar t :leaf-path t) + :leaf-autoload t :leaf-defer t :leaf-protect t + :leaf-defun t :leaf-defvar t :leaf-path t) "The value for all `leaf' blocks for leaf system.") (defcustom leaf-defer-keywords (list @@ -403,7 +399,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 :leaf-path :leaf-defer-let) +(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)