Eli Zaretskii writes: >> From: Yuan Fu >> Date: Mon, 9 Jan 2023 21:56:19 -0800 >> Cc: 60659@debbugs.gnu.org >> >> Eli, does this look right to you? In particular, I’m not sure if >> it’s ok to call a lisp function (Ftreesit_node_eq) inside >> internal_equal, even though it never signals. > > It is better to make a C function from most of the body of > Ftreesit_node_eq, but without the CHECK_NODE parts, and make both > Fequal and Ftreesit_node_eq call that. Because CHECK_NODE can signal, > right? Also, you should make sure up front that _both_ o1 and o2 are > treesit nodes, otherwise they cannot be 'equal'. I should’ve included some context. There is code that checks whether o1 and o2 have the same (pseudo vector) type and size[1], and returns early if not, so I only need to check the type of o1. And since I checked the type of o1, CHECK_NODE will always succeed. But still, using a C functions is more correct. How about this?