From f43dbe65ce14921aee2f45d21eb5f294ec8b92c1 Mon Sep 17 00:00:00 2001 From: Andrea Corallo Date: Sat, 3 Oct 2020 16:12:19 +0200 Subject: [PATCH] Add a test for primitive redefinition * test/src/comp-tests.el (primitive-redefine): New test. * test/src/comp-test-funcs.el (comp-test-primitive-redefine-f): New function. --- test/src/comp-test-funcs.el | 4 ++++ test/src/comp-tests.el | 11 +++++++++++ 2 files changed, 15 insertions(+) diff --git a/test/src/comp-test-funcs.el b/test/src/comp-test-funcs.el index 19acec2716e..9285ed62c2a 100644 --- a/test/src/comp-test-funcs.el +++ b/test/src/comp-test-funcs.el @@ -341,6 +341,10 @@ (declare (speed 2)) (+ x y)) +(defun comp-test-primitive-redefine-f (x y) + (declare (speed 2)) + (- x y)) + ;;;;;;;;;;;;;;;;;;;; ;; Tromey's tests ;; diff --git a/test/src/comp-tests.el b/test/src/comp-tests.el index f954ae6a9dd..317a6113af2 100644 --- a/test/src/comp-tests.el +++ b/test/src/comp-tests.el @@ -398,6 +398,17 @@ https://lists.gnu.org/archive/html/bug-gnu-emacs/2020-03/msg00914.html." (should (equal comp-test-primitive-advice '(3 4)))) (advice-remove #'+ f)))) +(defvar comp-test-primitive-redefine-args) +(comp-deftest primitive-redefine () + "Test effectiveness of primitve redefinition." + (cl-letf ((comp-test-primitive-redefine-args nil) + ((symbol-function #'-) + (lambda (&rest args) + (setq comp-test-primitive-redefine-args args) + 'xxx))) + (should (eq (comp-test-primitive-redefine-f 10 2) 'xxx)) + (should (equal comp-test-primitive-redefine-args '(10 2))))) + ;;;;;;;;;;;;;;;;;;;;; ;; Tromey's tests. ;; -- 2.39.5