On Sun, Oct 18, 2020 at 08:19:24PM -0400, Douglas Lewan wrote: > I see the following: > > ELISP> (= (lsh -1 (lognot 0)) (lsh -2 (lognot 0))) > > t > > ELISP> (= (lsh -1 (lognot 0)) (lsh -3 (lognot 0))) > > nil > > The first seems odd to me. Is it really what's expected? The manual for lsh talks about "quirky behaviour" of lsh when both arguments are negative, in the name of backward-compatibility and suggests resorting to ash. Cf. the Emacs lisp manual "3.8 Bitwise Operations on Integers" Cheers - t