emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

feature/native-comp 3a31fca 2/2: * Fix some comp-vec logic


From: Andrea Corallo
Subject: feature/native-comp 3a31fca 2/2: * Fix some comp-vec logic
Date: Thu, 25 Feb 2021 16:19:09 -0500 (EST)

branch: feature/native-comp
commit 3a31fca5dba41e9905b1293fc73dd1d44abc3138
Author: Andrea Corallo <akrl@sdf.org>
Commit: Andrea Corallo <akrl@sdf.org>

    * 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.
---
 lisp/emacs-lisp/comp.el | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/lisp/emacs-lisp/comp.el b/lisp/emacs-lisp/comp.el
index 40c1dfd..ddf3f04 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)
 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]