On 2018-06-05 18:53, Noam Postavsky wrote: > Both SBCL and CLisp throw an error for (let ((x 1) (y nil)) (incf x y)), > although I can't see anything in the Common Lisp spec to decide either > way. E.g., cltl2 says: > > If delta is not supplied, then the number in place is changed by 1. > > https://www.cs.cmu.edu/Groups/AI/html/cltl/clm/node125.html Thanks for looking up the spec and testing other implementations. I'm not sure what to make of the result with SBCL and CLisp, since (incf x nil) also fails in both of them (whereas it works for us, since we can't distinguish nil and unspecified). >> In the rest of Emacs there are lots of other examples. Many of them >> (for example semantic-find-tags-by-name or calendar-increment-month) >> seem to work when passed a nil-valued variable, but many others behave >> like cl-incf (for example gnus-summary-article-score). > > I don't think those are great examples of macros to emulate. Agreed, I was just collecting other examples, both in support and against my point. Clément.