diff options
-rw-r--r-- | test/src/comp-test-funcs.el | 4 | ||||
-rw-r--r-- | test/src/comp-tests.el | 11 |
2 files changed, 15 insertions, 0 deletions
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. ;; |