qitab / cl-protobufs

Common Lisp protocol buffer implementation.
MIT License
84 stars 18 forks source link

Fix maps using incorrect :test function. #161

Closed bkuehnert closed 4 years ago

bkuehnert commented 4 years ago

Now, the underlying lisp hash-table will use 'eq' if the key type is integral, or 'equal' if the key type is string. This is more efficient in the integral case, and works properly in the string case (eql doesn't work for string equality).

Due to some weirdness in the definer macros, this requires the clear-* function to be defined in the make-map-accessors defun. Admittedly, this is also due to me doing a poor job when implementing map types, but I plan to fix this.