So, Glen's reply confirms it. Short of fixing defcustom, the right solution would be to tell defvar to not zap defcustom's doc-string with an empty string, as it was before the change. Not sure when this change in behavior of defvar happened, but probably within the last year or so.Date: Fri, 14 Feb 2014 14:14:22 -0500 From: Michael Kifer <michael.kifer@stonybrook.edu> CC: drew.adams@oracle.com, 16744@debbugs.gnu.org But why do we need both the defcustom and the defvar in the macro? First, this was written a few years before defcustom came about. Second, I haven't followed things for a number of years. Is it possible to define permanent local vars using defcustom now?I don't know. Anyone?