Subject: bug#22378: 24.5; hide-ifdef wrongly handles "#if defined X"

From: [email-masked]
Date: Fri, 15 Jan 2016 22:56:58 +0100 (CET)

> De: "Eli Zaretskii" <[email-masked]>
> À: [email-masked]
> Cc: [email-masked]
> Envoyé: Vendredi 15 Janvier 2016 19:30:09
> Objet: Re: bug#22378: 24.5; hide-ifdef wrongly handles "#if defined X"
> 
> > Date: Fri, 15 Jan 2016 09:55:01 +0100 (CET)
> > From: [email-masked]
> > 
> > With the following text in buffer, with "hide some ifdefs"
> > activated,
> > when I define/undef A (and whether B is defined or not) the first
> > block
> > properly switches between "yes" and "no", whereas all ther others
> > consistently stay at "yes"
> > 
> > ---->8----
> > #ifdef A
> > yes
> > #else
> > no
> > #endif
> > 
> > #if defined A
> > yes
> > #else
> > no
> > #endif
> 
> I cannot reproduce this.  I tried both Emacs 24.5 and the current
> emacs-25 branch, and both show the expected behavior.
> 
> Can you provide a step by step recipe, starting with "emacs -Q", to
> reproduce the problem?

foo.txt having the contents in original report:

* emacs -Q foo.txt
* M-x hide-ifdef-mode
* C-c @ h
  => OK, everywhere "no"
* C-c @ d A
  => OK, everywhere "yes" except the "B && !A"
* C-c @ u A
  => only "#ifdef A" switches back