Fixed bug which only allowed <=3 operands.
authorplugd <plugd@thelambdalab.xyz>
Fri, 19 Nov 2021 14:38:42 +0000 (15:38 +0100)
committerplugd <plugd@thelambdalab.xyz>
Fri, 19 Nov 2021 14:38:42 +0000 (15:38 +0100)
ez.el

diff --git a/ez.el b/ez.el
index 9dcfdee..95547d1 100644 (file)
--- a/ez.el
+++ b/ez.el
                   (if (= type1 #b11)
                       nil
                     (cons type1
-                          (let ((type2 (lsh (logand #b110000 type-byte) -4)))
+                          (let ((type2 (mod (lsh type-byte -4) 4)))
                             (if (= type2 #b11)
                                 nil
                               (cons type2
-                                    (let ((type3 (lsh (logand #b1100 type-byte) -2)))
+                                    (let ((type3 (mod (lsh type-byte -2) 4)))
                                       (if (= type3 #b11)
                                           nil
                                         (cons type3
-                                              (let ((type4 (logand #b11)))
+                                              (let ((type4 (mod type-byte 4)))
                                                 (if (= type4 #b11)
                                                     nil
                                                   (list type4))))))))))))))