summaryrefslogtreecommitdiff
path: root/lisp
diff options
context:
space:
mode:
authorAndrea Corallo <akrl@sdf.org>2021-02-25 20:46:27 +0100
committerAndrea Corallo <akrl@sdf.org>2021-02-25 21:00:07 +0100
commit3a31fca5dba41e9905b1293fc73dd1d44abc3138 (patch)
tree6ebb073890b78b4c450efbc1b469ba9fb5cc7734 /lisp
parent9ae48ae714b03e102957a1e9f9d6430f82c7adaa (diff)
downloademacs-3a31fca5dba41e9905b1293fc73dd1d44abc3138.tar.gz
emacs-3a31fca5dba41e9905b1293fc73dd1d44abc3138.tar.bz2
emacs-3a31fca5dba41e9905b1293fc73dd1d44abc3138.zip
* Fix some comp-vec logic
* lisp/emacs-lisp/comp.el (comp-vec-length, comp-vec-append) (comp-vec-prepend): Fix logic. (comp-vec-aref): Fix indentation.
Diffstat (limited to 'lisp')
-rw-r--r--lisp/emacs-lisp/comp.el8
1 files changed, 4 insertions, 4 deletions
diff --git a/lisp/emacs-lisp/comp.el b/lisp/emacs-lisp/comp.el
index 40c1dfd831b..ddf3f049e8c 100644
--- a/lisp/emacs-lisp/comp.el
+++ b/lisp/emacs-lisp/comp.el
@@ -617,7 +617,7 @@ Useful to hook into pass checkers.")
(defsubst comp-vec-length (vec)
"Return the number of elements of VEC."
- (+ (comp-vec-beg vec) (comp-vec-end vec)))
+ (- (comp-vec-end vec) (comp-vec-beg vec)))
(defsubst comp-vec--verify-idx (vec idx)
"Check idx is in bounds for VEC."
@@ -628,21 +628,21 @@ Useful to hook into pass checkers.")
"Return the element of VEC at index IDX."
(declare (gv-setter (lambda (val)
`(comp-vec--verify-idx ,vec ,idx)
- `(puthash ,idx ,val (comp-vec-data ,vec)))))
+ `(puthash ,idx ,val (comp-vec-data ,vec)))))
(comp-vec--verify-idx vec idx)
(gethash idx (comp-vec-data vec)))
(defsubst comp-vec-append (vec elt)
"Append ELT into VEC.
ELT is returned."
- (puthash (comp-vec-end vec) elt (comp-vec-aref vec))
+ (puthash (comp-vec-end vec) elt (comp-vec-data vec))
(cl-incf (comp-vec-end vec))
elt)
(defsubst comp-vec-prepend (vec elt)
"Prepend ELT into VEC.
ELT is returned."
- (puthash (comp-vec-beg vec) elt (comp-vec-aref vec))
+ (puthash (1- (comp-vec-beg vec)) elt (comp-vec-data vec))
(cl-decf (comp-vec-beg vec))
elt)