diff options
author | Andrea Corallo <akrl@sdf.org> | 2020-09-14 22:02:36 +0200 |
---|---|---|
committer | Andrea Corallo <akrl@sdf.org> | 2020-09-14 23:06:42 +0200 |
commit | 82171a8f0de6e88566aa0d80388dab135dbc260f (patch) | |
tree | 394cbdc5fa56f9636efba563f9e1c951896402db /lisp/emacs-lisp | |
parent | 2da2ad29b83090950749f26a7375be4a67964438 (diff) | |
download | emacs-82171a8f0de6e88566aa0d80388dab135dbc260f.tar.gz emacs-82171a8f0de6e88566aa0d80388dab135dbc260f.tar.bz2 emacs-82171a8f0de6e88566aa0d80388dab135dbc260f.zip |
* Add gv-setters for compiler hints
* lisp/emacs-lisp/comp.el (comp-hint-fixnum, comp-hint-cons): Add
gv-setters so type hinted expressions can be used as places.
Read we can now have like: '(cl-incf (cl-the fixnum x))'.
Diffstat (limited to 'lisp/emacs-lisp')
-rw-r--r-- | lisp/emacs-lisp/comp.el | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/lisp/emacs-lisp/comp.el b/lisp/emacs-lisp/comp.el index eceba777fa7..f1689808eea 100644 --- a/lisp/emacs-lisp/comp.el +++ b/lisp/emacs-lisp/comp.el @@ -2495,9 +2495,11 @@ Prepare every function for final compilation and drive the C back-end." ;; are assumed just to be true. Use with extreme caution... (defun comp-hint-fixnum (x) + (declare (gv-setter (lambda (val) `(setf ,x ,val)))) x) (defun comp-hint-cons (x) + (declare (gv-setter (lambda (val) `(setf ,x ,val)))) x) |