branch: externals/ivy commit 83d7035b34bac83825a737a11aa1e3199feea17e Merge: bb7ea81a03 a38bc60eb7 Author: Basil L. Contovounesios <ba...@contovou.net> Commit: Basil L. Contovounesios <ba...@contovou.net>
Merge branch 'master' into externals/ivy --- Makefile | 49 +++++++++++++++------ ivy-test.el | 144 ++++++++++++++++++++++++++---------------------------------- 2 files changed, 99 insertions(+), 94 deletions(-) diff --git a/Makefile b/Makefile index a6f884d535..a823ddeea6 100644 --- a/Makefile +++ b/Makefile @@ -1,30 +1,53 @@ emacs ?= emacs - -LOAD = -l elpa.el -l colir.el -l ivy-overlay.el -l ivy.el -l swiper.el -l counsel.el RM ?= rm -f -all: test +src-elcs = \ + colir.elc \ + ivy-faces.elc \ + ivy-overlay.elc \ + ivy.elc \ + ivy-avy.elc \ + ivy-hydra.elc \ + swiper.elc \ + counsel.elc + +test-elcs = ivy-test.elc +.PHONY: all +all: compile + +.PHONY: deps deps: - $(emacs) -batch -l targets/install-deps.el + $(emacs) -Q -batch -l targets/install-deps.el -test: - $(emacs) -batch $(LOAD) -l ivy-test.el -f ivy-test-run-tests +.PHONY: test +test: compile $(test-elcs) + $(emacs) -Q -batch -l elpa.el -L . -l ivy-test -f ivy-test-run-tests +.PHONY: checkdoc checkdoc: $(emacs) -batch -l targets/checkdoc.el -compile: - $(emacs) -batch -l elpa.el -L . -f batch-byte-compile colir.el ivy-faces.el ivy-overlay.el ivy.el ivy-avy.el ivy-hydra.el swiper.el counsel.el +.PHONY: compile +compile: $(src-elcs) -plain: - $(emacs) --version - $(emacs) -Q -l elpa.el -l targets/plain.el +.PHONY: plain +plain: compile + $(emacs) -version + $(emacs) -Q -l elpa.el -L . -l targets/plain.el +.PHONY: obsolete obsolete: $(emacs) -batch -l targets/obsolete-config.el +.PHONY: clean clean: - $(RM) *.elc + $(RM) $(src-elcs) $(test-elcs) + +%.elc: %.el + $(emacs) -Q -batch -L . -f batch-byte-compile $< -.PHONY: all test checkdoc compile plain obsolete update-issues clean +ivy-avy.elc: ivy-avy.el +ivy-hydra.elc: ivy-hydra.el +ivy-avy.elc ivy-hydra.elc: + $(emacs) -Q -batch -l elpa.el -L . -f batch-byte-compile $< diff --git a/ivy-test.el b/ivy-test.el index 2929593a7a..dc89c217ba 100644 --- a/ivy-test.el +++ b/ivy-test.el @@ -81,6 +81,9 @@ Since `execute-kbd-macro' doesn't pick up a let-bound `default-directory'.") (defvar ivy-test-inhibit-message t) +;; New in Emacs 25. +(defvar inhibit-message) + (cl-defun ivy-with (expr keys &key dir) "Evaluate EXPR followed by KEYS." (let ((ivy-expr expr) @@ -292,6 +295,8 @@ Since `execute-kbd-macro' doesn't pick up a let-bound `default-directory'.") :expected-result (if (>= emacs-major-version 25) :passed :failed) + ;; New in Emacs 25. + (defvar search-default-mode) (let ((search-default-mode 'char-fold-to-regexp)) (should (string= (swiper--re-builder "f b") "\\(\\(?:ḟ\\|[fᶠḟⓕf𝐟𝑓𝒇𝒻𝓯𝔣𝕗𝖋𝖿𝗳𝘧𝙛𝚏]\\)\\).*?\\(\\(?:b[̣̱̇]\\|[bᵇḃḅḇⓑb𝐛𝑏𝒃𝒷𝓫𝔟𝕓𝖇𝖻𝗯𝘣𝙗𝚋]\\)\\)")) @@ -785,80 +790,55 @@ Since `execute-kbd-macro' doesn't pick up a let-bound `default-directory'.") "default"))) (ert-deftest ivy-read-prompt () - (setq prompt "pattern: ") - (setq collection '("blue" "yellow")) - (should (equal - (ivy-with - '(let ((ivy-use-selectable-prompt nil)) - (ivy-read prompt collection)) - "bl C-m") - "blue")) - (should (equal - (ivy-with - '(let ((ivy-use-selectable-prompt nil)) - (ivy-read prompt collection)) - "bl C-p C-m") - "blue")) - (should (equal - (ivy-with - '(let ((ivy-use-selectable-prompt nil)) - (ivy-read prompt collection)) - "bl C-j") - "blue")) - (should (equal - (ivy-with - '(let ((ivy-use-selectable-prompt nil)) - (ivy-read prompt collection)) - "bl C-p C-j") - "blue")) - (should (equal - (ivy-with - '(let ((ivy-use-selectable-prompt nil)) - (ivy-read prompt collection)) - "bl C-M-j") - "bl")) - (should (equal - (ivy-with - '(let ((ivy-use-selectable-prompt nil)) - (ivy-read prompt collection)) - "bl C-p C-M-j") - "bl")) - (should (equal - (ivy-with - '(let ((ivy-use-selectable-prompt t)) - (ivy-read prompt collection)) - "bl C-m") - "blue")) - (should (equal - (ivy-with - '(let ((ivy-use-selectable-prompt t)) - (ivy-read prompt collection)) - "bl C-p C-m") - "bl")) - (should (equal - (ivy-with - '(let ((ivy-use-selectable-prompt t)) - (ivy-read prompt collection)) - "bl C-j") - "blue")) - (should (equal - (ivy-with - '(let ((ivy-use-selectable-prompt t)) - (ivy-read prompt collection)) - "bl C-p C-j") - "bl")) - (should (equal - (ivy-with - '(let ((ivy-use-selectable-prompt t)) - (ivy-read prompt collection)) - "bl C-M-j") - "bl")) - (should (equal - (ivy-with - '(let ((ivy-use-selectable-prompt t)) - (ivy-read prompt collection)) - "bl C-p C-M-j") - "bl"))) + (let ((read '(ivy-read "pattern: " '("blue" "yellow")))) + (should (equal (ivy-with + `(let ((ivy-use-selectable-prompt nil)) ,read) + "bl C-m") + "blue")) + (should (equal (ivy-with + `(let ((ivy-use-selectable-prompt nil)) ,read) + "bl C-p C-m") + "blue")) + (should (equal (ivy-with + `(let ((ivy-use-selectable-prompt nil)) ,read) + "bl C-j") + "blue")) + (should (equal (ivy-with + `(let ((ivy-use-selectable-prompt nil)) ,read) + "bl C-p C-j") + "blue")) + (should (equal (ivy-with + `(let ((ivy-use-selectable-prompt nil)) ,read) + "bl C-M-j") + "bl")) + (should (equal (ivy-with + `(let ((ivy-use-selectable-prompt nil)) ,read) + "bl C-p C-M-j") + "bl")) + (should (equal (ivy-with + `(let ((ivy-use-selectable-prompt t)) ,read) + "bl C-m") + "blue")) + (should (equal (ivy-with + `(let ((ivy-use-selectable-prompt t)) ,read) + "bl C-p C-m") + "bl")) + (should (equal (ivy-with + `(let ((ivy-use-selectable-prompt t)) ,read) + "bl C-j") + "blue")) + (should (equal (ivy-with + `(let ((ivy-use-selectable-prompt t)) ,read) + "bl C-p C-j") + "bl")) + (should (equal (ivy-with + `(let ((ivy-use-selectable-prompt t)) ,read) + "bl C-M-j") + "bl")) + (should (equal (ivy-with + `(let ((ivy-use-selectable-prompt t)) ,read) + "bl C-p C-M-j") + "bl")))) (defmacro ivy-with-r (expr &rest keys) `(with-output-to-string @@ -995,7 +975,8 @@ Since `execute-kbd-macro' doesn't pick up a let-bound `default-directory'.") ;; Handler = `completing-read-default'; make sure ivy-read ;; is never called (cl-letf (((symbol-function 'ivy-read) - (lambda (&rest args) (error "`ivy-read' should not be called")))) + (lambda (&rest _) + (error "`ivy-read' should not be called")))) (should (equal "" @@ -1140,13 +1121,14 @@ Since `execute-kbd-macro' doesn't pick up a let-bound `default-directory'.") (let (dir) (unwind-protect (let ((ivy-minibuffer-map - ;; Avoid modifying global `ivy-minibuffer-map'. - (easy-mmode-define-keymap - '(("\t" . ivy-partial) - ;; Allow quitting during `execute-kbd-macro'. + (let ((map (make-sparse-keymap))) + ;; Avoid modifying global `ivy-minibuffer-map'. + (set-keymap-parent map ivy-minibuffer-map) + (define-key map "\t" #'ivy-partial) + ;; Allow quitting during `execute-kbd-macro'. ;; See issue #2906 and URL `https://bugs.gnu.org/48603'. - ("\C-g" . abort-recursive-edit)) - nil nil `(:inherit ,ivy-minibuffer-map))) + (define-key map "\C-g" #'abort-recursive-edit) + map)) (subdirs '("test1/" "test2/"))) (setq dir (file-name-as-directory (make-temp-file "ivy-test-" t))) (dolist (subdir subdirs)