GNU bug report logs - #22425
24.5; hide-ifdef-mode does not consider #elif defined

Previous Next

Package: emacs;

Reported by: quintus <at> quintilianus.eu

Date: Thu, 21 Jan 2016 11:07:02 UTC

Severity: normal

Found in version 24.5

Done: Eli Zaretskii <eliz <at> gnu.org>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 22425 in the body.
You can then email your comments to 22425 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-gnu-emacs <at> gnu.org:
bug#22425; Package emacs. (Thu, 21 Jan 2016 11:07:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to quintus <at> quintilianus.eu:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Thu, 21 Jan 2016 11:07:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: quintus <at> quintilianus.eu
To: bug-gnu-emacs <at> gnu.org
Subject: 24.5; hide-ifdef-mode does not consider #elif defined
Date: Thu, 21 Jan 2016 11:26:45 +0100
Hi,

the hide-ifdef-mode minor mode does not consider "#elif defined"
lines. Example program demonstrating the issue:

    #include <stdio.h>
    
    int main()
    {
    #if defined(_WIN32)
      printf("Windows\n");
    #elif defined(__unix__)
      printf("Unixish\n");
    #else
    #error unsupported system
    #endif
      return 0;
    }

Trying to collapse only the "#if defined(_WIN32)" part or only the
"#elif defined(__unix__)" part will not work. hide-ifdef-mode should
allow that.

In GNU Emacs 24.5.1 (x86_64-unknown-linux-gnu, GTK+ Version 3.16.6)
 of 2015-09-10 on foutrelis
Configured using:
 `configure --prefix=/usr --sysconfdir=/etc --libexecdir=/usr/lib
 --localstatedir=/var --with-x-toolkit=gtk3 --with-xft
 'CFLAGS=-march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong
 --param=ssp-buffer-size=4' CPPFLAGS=-D_FORTIFY_SOURCE=2
 LDFLAGS=-Wl,-O1,--sort-common,--as-needed,-z,relro'

Important settings:
  value of $LANG: de_DE.UTF-8
  locale-coding-system: utf-8-unix

Major mode: C/l

Minor modes in effect:
  hide-ifdef-mode: t
  tooltip-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  tool-bar-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t
  transient-mark-mode: t
  abbrev-mode: t

Recent messages:
For information about GNU Emacs and the GNU system, type C-h C-a.
Hide-Ifdef mode enabled
Hiding...
Hiding done

Load-path shadows:
None found.

Features:
(shadow sort gnus-util mail-extr emacsbug message format-spec rfc822 mml
mml-sec mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev
gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums mm-util
help-fns mail-prsvr mail-utils hideif cc-langs cl-loaddefs cl-lib
cc-mode cc-fonts easymenu cc-guess cc-menus cc-cmds cc-styles cc-align
cc-engine cc-vars cc-defs time-date tooltip electric uniquify ediff-hook
vc-hooks lisp-float-type mwheel x-win x-dnd tool-bar dnd fontset image
regexp-opt fringe tabulated-list newcomment lisp-mode prog-mode register
page menu-bar rfn-eshadow timer select scroll-bar mouse jit-lock
font-lock syntax facemenu font-core frame cham georgian utf-8-lang
misc-lang vietnamese tibetan thai tai-viet lao korean japanese hebrew
greek romanian slovak czech european ethiopic indian cyrillic chinese
case-table epa-hook jka-cmpr-hook help simple abbrev minibuffer nadvice
loaddefs button faces cus-face macroexp files text-properties overlay
sha1 md5 base64 format env code-pages mule custom widget
hashtable-print-readable backquote make-network-process dbusbind
gfilenotify dynamic-setting system-font-setting font-render-setting
move-toolbar gtk x-toolkit x multi-tty emacs)

Memory information:
((conses 16 105462 3848)
 (symbols 48 20132 0)
 (miscs 40 39 110)
 (strings 32 16768 4033)
 (string-bytes 1 565621)
 (vectors 16 9374)
 (vector-slots 8 369105 11156)
 (floats 8 65 359)
 (intervals 56 230 0)
 (buffers 960 12)
 (heap 1024 26161 812))




Reply sent to Eli Zaretskii <eliz <at> gnu.org>:
You have taken responsibility. (Thu, 21 Jan 2016 16:12:02 GMT) Full text and rfc822 format available.

Notification sent to quintus <at> quintilianus.eu:
bug acknowledged by developer. (Thu, 21 Jan 2016 16:12:02 GMT) Full text and rfc822 format available.

Message #10 received at 22425-done <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: quintus <at> quintilianus.eu
Cc: 22425-done <at> debbugs.gnu.org
Subject: Re: bug#22425: 24.5; hide-ifdef-mode does not consider #elif defined
Date: Thu, 21 Jan 2016 18:11:31 +0200
> From: quintus <at> quintilianus.eu
> Date: Thu, 21 Jan 2016 11:26:45 +0100
> 
> the hide-ifdef-mode minor mode does not consider "#elif defined"
> lines. Example program demonstrating the issue:
> 
>     #include <stdio.h>
>     
>     int main()
>     {
>     #if defined(_WIN32)
>       printf("Windows\n");
>     #elif defined(__unix__)
>       printf("Unixish\n");
>     #else
>     #error unsupported system
>     #endif
>       return 0;
>     }
> 
> Trying to collapse only the "#if defined(_WIN32)" part or only the
> "#elif defined(__unix__)" part will not work. hide-ifdef-mode should
> allow that.

Thank you for taking time and effort to report this.

I can reproduce this in Emacs 24.5, but not in the current emacs-25
branch that will become Emacs 25.1.  So I guess this deficiency was
already fixed, and I'm therefore marking this bug done.




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Fri, 19 Feb 2016 12:24:03 GMT) Full text and rfc822 format available.

This bug report was last modified 9 years and 121 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.