On 02/14/2014 06:14 AM, Eli Zaretskii wrote:
Date: Fri, 14 Feb 2014 05:43:45 -0500
From: Michael Kifer <michael.kifer@stonybrook.edu>
CC: "16744@debbugs.gnu.org" <16744@debbugs.gnu.org>

    This problem is caused by some change in the emacs compiler.
    The reason I was not seeing it is because I was using .elc files of
    my development copy of ediff, which were compiled with an older
    version of emacs. With those .elc's the documentation string was
    being shown.

    Perhaps the empty doc-string in defvar now zaps the doc-string
    specified in the preceding defcustom while previously it didn't? If
    so, the previous behavior was smarter.
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? At the time defcustom was added to ediff, this wasn't possible as far as I remember.