unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#16744: 24.3.50; REGRESSION: C-h v does not show doc for `ediff-highlight-all-diffs'
@ 2014-02-13 19:31 Drew Adams
  2014-02-13 20:29 ` Eli Zaretskii
       [not found] ` <1913911dabee4a1e979c4914631ac676@HUBCAS2.cs.stonybrook.edu>
  0 siblings, 2 replies; 17+ messages in thread
From: Drew Adams @ 2014-02-13 19:31 UTC (permalink / raw)
  To: 16744

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

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

This regression was introduced in Emacs 24.1.  No problem for releases
before that.



In GNU Emacs 24.3.50.1 (i686-pc-mingw32)
 of 2014-02-11 on ODIEONE
Bzr revision: 116410 lekktu@gmail.com-20140211204823-l9l2s6tktfitq266
Windowing system distributor `Microsoft Corp.', version 6.1.7601
Configured using:
 `configure --prefix=/c/Devel/emacs/binary --enable-checking=yes,glyphs
 'CFLAGS=-O0 -g3' LDFLAGS=-Lc:/Devel/emacs/lib
 CPPFLAGS=-Ic:/Devel/emacs/include'





^ permalink raw reply	[flat|nested] 17+ messages in thread

* bug#16744: 24.3.50; REGRESSION: C-h v does not show doc for `ediff-highlight-all-diffs'
  2014-02-13 19:31 Drew Adams
@ 2014-02-13 20:29 ` Eli Zaretskii
       [not found] ` <1913911dabee4a1e979c4914631ac676@HUBCAS2.cs.stonybrook.edu>
  1 sibling, 0 replies; 17+ messages in thread
From: Eli Zaretskii @ 2014-02-13 20:29 UTC (permalink / raw)
  To: Drew Adams, Michael Kifer; +Cc: 16744

> Date: Thu, 13 Feb 2014 11:31:58 -0800 (PST)
> From: Drew Adams <drew.adams@oracle.com>
> 
> 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?





^ permalink raw reply	[flat|nested] 17+ messages in thread

* bug#16744: 24.3.50; REGRESSION: C-h v does not show doc for `ediff-highlight-all-diffs'
       [not found] ` <<83txc2dadt.fsf@gnu.org>
@ 2014-02-13 21:01   ` Drew Adams
  0 siblings, 0 replies; 17+ messages in thread
From: Drew Adams @ 2014-02-13 21:01 UTC (permalink / raw)
  To: Eli Zaretskii, Drew Adams, Michael Kifer; +Cc: 16744

> 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.

I see.  Seems like such a macro, if really needed, should at least
reuse the main doc string, in _addition_ to adding any local-binding
doc string.  Or perhaps allow for either adding or replacing.
But it should not require duplicating the literal string as an
argument, just to provide doc for the local var.





^ permalink raw reply	[flat|nested] 17+ messages in thread

* bug#16744: 24.3.50; REGRESSION: C-h v does not show doc for `ediff-highlight-all-diffs'
       [not found] ` <1913911dabee4a1e979c4914631ac676@HUBCAS2.cs.stonybrook.edu>
@ 2014-02-14  7:53   ` Michael Kifer
  2014-02-14  9:22     ` Eli Zaretskii
  2014-02-14 10:43   ` Michael Kifer
  1 sibling, 1 reply; 17+ messages in thread
From: Michael Kifer @ 2014-02-14  7:53 UTC (permalink / raw)
  To: Eli Zaretskii, Drew Adams; +Cc: 16744@debbugs.gnu.org

Strange. When I run it with .emacs, then

M-x describe-variable ediff-highlight-all-diffs

returns

Documentation:
If nil, only the selected differences are highlighted.
Otherwise, all difference regions are highlighted, but the selected 
region is
shown in brighter colors.

But if it is started with emacs -q then the documentation string is not 
shown.

--

        --- michael



On 02/13/2014 03:29 PM, Eli Zaretskii wrote:
>> Date: Thu, 13 Feb 2014 11:31:58 -0800 (PST)
>> From: Drew Adams <drew.adams@oracle.com>
>>
>> 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?






^ permalink raw reply	[flat|nested] 17+ messages in thread

* bug#16744: 24.3.50; REGRESSION: C-h v does not show doc for `ediff-highlight-all-diffs'
  2014-02-14  7:53   ` Michael Kifer
@ 2014-02-14  9:22     ` Eli Zaretskii
  2014-02-14 10:20       ` Michael Kifer
  0 siblings, 1 reply; 17+ messages in thread
From: Eli Zaretskii @ 2014-02-14  9:22 UTC (permalink / raw)
  To: Michael Kifer; +Cc: 16744

> Date: Fri, 14 Feb 2014 02:53:31 -0500
> From: Michael Kifer <michael.kifer@stonybrook.edu>
> CC: "16744@debbugs.gnu.org" <16744@debbugs.gnu.org>
> 
> Strange. When I run it with .emacs, then
> 
> M-x describe-variable ediff-highlight-all-diffs
> 
> returns
> 
> Documentation:
> If nil, only the selected differences are highlighted.
> Otherwise, all difference regions are highlighted, but the selected 
> region is
> shown in brighter colors.
> 
> But if it is started with emacs -q then the documentation string is not 
> shown.

What is in your .emacs?

Anyway, can you explain why do we need _both_ defcustom and
ediff-defvar-local for the same variable?





^ permalink raw reply	[flat|nested] 17+ messages in thread

* bug#16744: 24.3.50; REGRESSION: C-h v does not show doc for `ediff-highlight-all-diffs'
  2014-02-14  9:22     ` Eli Zaretskii
@ 2014-02-14 10:20       ` Michael Kifer
  0 siblings, 0 replies; 17+ messages in thread
From: Michael Kifer @ 2014-02-14 10:20 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 16744

[-- Attachment #1: Type: text/html, Size: 1787 bytes --]

^ permalink raw reply	[flat|nested] 17+ messages in thread

* bug#16744: 24.3.50; REGRESSION: C-h v does not show doc for `ediff-highlight-all-diffs'
       [not found] ` <1913911dabee4a1e979c4914631ac676@HUBCAS2.cs.stonybrook.edu>
  2014-02-14  7:53   ` Michael Kifer
@ 2014-02-14 10:43   ` Michael Kifer
  2014-02-14 11:14     ` Eli Zaretskii
  1 sibling, 1 reply; 17+ messages in thread
From: Michael Kifer @ 2014-02-14 10:43 UTC (permalink / raw)
  To: Eli Zaretskii, Drew Adams; +Cc: 16744@debbugs.gnu.org

[-- Attachment #1: Type: text/html, Size: 1969 bytes --]

^ permalink raw reply	[flat|nested] 17+ messages in thread

* bug#16744: 24.3.50; REGRESSION: C-h v does not show doc for `ediff-highlight-all-diffs'
  2014-02-14 10:43   ` Michael Kifer
@ 2014-02-14 11:14     ` Eli Zaretskii
  2014-02-14 19:14       ` Michael Kifer
  0 siblings, 1 reply; 17+ messages in thread
From: Eli Zaretskii @ 2014-02-14 11:14 UTC (permalink / raw)
  To: Michael Kifer; +Cc: 16744

> 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?





^ permalink raw reply	[flat|nested] 17+ messages in thread

* bug#16744: 24.3.50; REGRESSION: C-h v does not show doc for `ediff-highlight-all-diffs'
  2014-02-14 11:14     ` Eli Zaretskii
@ 2014-02-14 19:14       ` Michael Kifer
  2014-02-14 20:58         ` Eli Zaretskii
  0 siblings, 1 reply; 17+ messages in thread
From: Michael Kifer @ 2014-02-14 19:14 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 16744

[-- Attachment #1: Type: text/html, Size: 1896 bytes --]

^ permalink raw reply	[flat|nested] 17+ messages in thread

* bug#16744: 24.3.50; REGRESSION: C-h v does not show doc for `ediff-highlight-all-diffs'
  2014-02-14 19:14       ` Michael Kifer
@ 2014-02-14 20:58         ` Eli Zaretskii
  2014-02-14 21:08           ` Glenn Morris
  2014-02-14 21:52           ` Michael Kifer
  0 siblings, 2 replies; 17+ messages in thread
From: Eli Zaretskii @ 2014-02-14 20:58 UTC (permalink / raw)
  To: Michael Kifer; +Cc: 16744

> 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?





^ permalink raw reply	[flat|nested] 17+ messages in thread

* bug#16744: 24.3.50; REGRESSION: C-h v does not show doc for `ediff-highlight-all-diffs'
  2014-02-14 20:58         ` Eli Zaretskii
@ 2014-02-14 21:08           ` Glenn Morris
  2014-02-14 21:52           ` Michael Kifer
  1 sibling, 0 replies; 17+ messages in thread
From: Glenn Morris @ 2014-02-14 21:08 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: Michael Kifer, 16744

Eli Zaretskii wrote:

>>     Is it possible to define permanent local vars using defcustom now?
>
> I don't know.  Anyone?

No. (Buffer-local defcustoms generally don't work very well.)
http://debbugs.gnu.org/cgi/bugreport.cgi?bug=14591





^ permalink raw reply	[flat|nested] 17+ messages in thread

* bug#16744: 24.3.50; REGRESSION: C-h v does not show doc for `ediff-highlight-all-diffs'
  2014-02-14 20:58         ` Eli Zaretskii
  2014-02-14 21:08           ` Glenn Morris
@ 2014-02-14 21:52           ` Michael Kifer
  2014-02-14 22:22             ` Glenn Morris
  2014-02-15 10:02             ` Andreas Schwab
  1 sibling, 2 replies; 17+ messages in thread
From: Michael Kifer @ 2014-02-14 21:52 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 16744

[-- Attachment #1: Type: text/html, Size: 1643 bytes --]

^ permalink raw reply	[flat|nested] 17+ messages in thread

* bug#16744: 24.3.50; REGRESSION: C-h v does not show doc for `ediff-highlight-all-diffs'
  2014-02-14 21:52           ` Michael Kifer
@ 2014-02-14 22:22             ` Glenn Morris
  2014-02-14 22:35               ` Michael Kifer
                                 ` (2 more replies)
  2014-02-15 10:02             ` Andreas Schwab
  1 sibling, 3 replies; 17+ messages in thread
From: Glenn Morris @ 2014-02-14 22:22 UTC (permalink / raw)
  To: Michael Kifer; +Cc: 16744

Michael Kifer wrote:

>  Short of fixing defcustom,

defcustom does not need fixing IMO.

> the right solution would be to tell defvar to not zap defcustom's
> doc-string with an empty string,

What?
Why not just don't use ediff-defvar-local with defcustoms?
Just write the two extra lines by hand?

AFAICS, it's precisely two variables that seem to be affected:
ediff-use-faces, ediff-highlight-all-diffs

So this email is longer than the change that will be needed.

>  as it was before the change.  Not sure when this change in behavior
>  of defvar happened, but probably within the last year or so.

Pretty sure it's this three-year old change:

http://debbugs.gnu.org/1821

rather than something to do with the byte-compiler or defcustom or whatever.





^ permalink raw reply	[flat|nested] 17+ messages in thread

* bug#16744: 24.3.50; REGRESSION: C-h v does not show doc for `ediff-highlight-all-diffs'
  2014-02-14 22:22             ` Glenn Morris
@ 2014-02-14 22:35               ` Michael Kifer
  2014-02-14 23:24               ` Michael Kifer
  2014-02-16  3:34               ` Glenn Morris
  2 siblings, 0 replies; 17+ messages in thread
From: Michael Kifer @ 2014-02-14 22:35 UTC (permalink / raw)
  To: Glenn Morris; +Cc: 16744

[-- Attachment #1: Type: text/html, Size: 1450 bytes --]

^ permalink raw reply	[flat|nested] 17+ messages in thread

* bug#16744: 24.3.50; REGRESSION: C-h v does not show doc for `ediff-highlight-all-diffs'
  2014-02-14 22:22             ` Glenn Morris
  2014-02-14 22:35               ` Michael Kifer
@ 2014-02-14 23:24               ` Michael Kifer
  2014-02-16  3:34               ` Glenn Morris
  2 siblings, 0 replies; 17+ messages in thread
From: Michael Kifer @ 2014-02-14 23:24 UTC (permalink / raw)
  To: Glenn Morris; +Cc: 16744

[-- Attachment #1: Type: text/html, Size: 1319 bytes --]

^ permalink raw reply	[flat|nested] 17+ messages in thread

* bug#16744: 24.3.50; REGRESSION: C-h v does not show doc for `ediff-highlight-all-diffs'
  2014-02-14 21:52           ` Michael Kifer
  2014-02-14 22:22             ` Glenn Morris
@ 2014-02-15 10:02             ` Andreas Schwab
  1 sibling, 0 replies; 17+ messages in thread
From: Andreas Schwab @ 2014-02-15 10:02 UTC (permalink / raw)
  To: Michael Kifer; +Cc: 16744

Michael Kifer <michael.kifer@stonybrook.edu> writes:

> <html style="direction: ltr;">

Please fix your mailer.

Andreas.

-- 
Andreas Schwab, schwab@linux-m68k.org
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."





^ permalink raw reply	[flat|nested] 17+ messages in thread

* bug#16744: 24.3.50; REGRESSION: C-h v does not show doc for `ediff-highlight-all-diffs'
  2014-02-14 22:22             ` Glenn Morris
  2014-02-14 22:35               ` Michael Kifer
  2014-02-14 23:24               ` Michael Kifer
@ 2014-02-16  3:34               ` Glenn Morris
  2 siblings, 0 replies; 17+ messages in thread
From: Glenn Morris @ 2014-02-16  3:34 UTC (permalink / raw)
  To: 16744-done; +Cc: Michael Kifer

Version: 24.4

Fixed.

http://lists.gnu.org/archive/html/emacs-diffs/2014-02/msg00221.html





^ permalink raw reply	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2014-02-16  3:34 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <<4d0cbf1a-914e-493c-bb2f-186229902418@default>
     [not found] ` <<83txc2dadt.fsf@gnu.org>
2014-02-13 21:01   ` bug#16744: 24.3.50; REGRESSION: C-h v does not show doc for `ediff-highlight-all-diffs' Drew Adams
2014-02-13 19:31 Drew Adams
2014-02-13 20:29 ` Eli Zaretskii
     [not found] ` <1913911dabee4a1e979c4914631ac676@HUBCAS2.cs.stonybrook.edu>
2014-02-14  7:53   ` Michael Kifer
2014-02-14  9:22     ` Eli Zaretskii
2014-02-14 10:20       ` Michael Kifer
2014-02-14 10:43   ` Michael Kifer
2014-02-14 11:14     ` Eli Zaretskii
2014-02-14 19:14       ` Michael Kifer
2014-02-14 20:58         ` Eli Zaretskii
2014-02-14 21:08           ` Glenn Morris
2014-02-14 21:52           ` Michael Kifer
2014-02-14 22:22             ` Glenn Morris
2014-02-14 22:35               ` Michael Kifer
2014-02-14 23:24               ` Michael Kifer
2014-02-16  3:34               ` Glenn Morris
2014-02-15 10:02             ` Andreas Schwab

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).