Subject: bug#16744: 24.3.50; REGRESSION: C-h v does not show doc for `ediff-highlight-all-diffs'

From: Michael Kifer <[email-masked]>
Date: Fri, 14 Feb 2014 05:43:45 -0500

On 02/13/2014 03:29 PM, Eli Zaretskii wrote:

Date: Thu, 13 Feb 2014 11:31:58 -0800 (PST)
From: Drew Adams <[email-masked]>

emacs -Q
M-x load-library ediff
C-h v ediff-highlight-all-diffs

No doc shown, just an empty "Documentation:".

That's because of the ediff-defvar-local macro:

(defcustom ediff-highlight-all-diffs t
"If nil, only the selected differences are highlighted.
Otherwise, all difference regions are highlighted, but the selected region is
shown in brighter colors."
:type 'boolean
:group 'ediff-highlighting)
(ediff-defvar-local ediff-highlight-all-diffs t "")

It is invoked (here and elsewhere) with an empty string as the doc, so
that's what you get.

Michael, what's the purpose here?

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.