Subject: 24.0.50; compilation-mode still has annoying issues with standard error msgs

From: Miles Bader <[email-masked]>
Date: Sat, 09 Oct 2010 12:12:00 +0900

[In the following example, the compiler is "clang++" (I was trying out
clang) but both recent and old versions of "g++" show exactly the same
problem, so it's nothing to do with clang in particular.]

The following is some compiler output:

----------------
clang++ -DHAVE_CONFIG_H -I.  -I/usr/include/libpng12   -pthread -I/usr/include/OpenEXR      -I/usr/include/lua5.1    -O3 -fomit-frame-pointer -ffast-math -march=native -mfpmath=sse -g -std=c++98 -Wall -Wextra -pedantic-errors  -fno-finite-math-only -MT envmap-light.o -MD -MP -MF .deps/envmap-light.Tpo -c -o envmap-light.o envmap-light.cc
In file included from envmap-light.cc:13:
In file included from ./scene.h:18:
./surface.h:75:55: error: extra ';' inside a struct or union [-pedantic]
  virtual Sampler *make_sampler () const { return 0; };
                                                      ^
----------------

When I hit next-error, it should jump directly to the real error
("./surface.h:..."), but instead it positions the cursor on the first
"error context line", ("In file included from envmap-light.cc:13:"),
and then apparently gets confused, because it prompts for a file to
find the "error" in.  So my typical pattern when stepping through such
output is "C-x ` C-g C-x ` C-g ..." until I hit an actual error
(actually I have my own more binding for "C-x `", but same
difference).

gcc has used this sort of error-context output for ages, so I assume
this is a recent regression in emacs, probably related to the recent
problems caused by adding ruby error patterns...  [previously it used
to simply ignore such context lines, I think]

Thanks,

-Miles

In GNU Emacs 24.0.50.2 (x86_64-unknown-linux-gnu, GTK+ Version 2.20.1)
 of 2010-10-08 on catnip
Windowing system distributor `The X.Org Foundation', version 11.0.10707000
Important settings:
  value of $LC_ALL: nil
  value of $LC_COLLATE: nil
  value of $LC_CTYPE: nil
  value of $LC_MESSAGES: nil
  value of $LC_MONETARY: nil
  value of $LC_NUMERIC: nil
  value of $LC_TIME: nil
  value of $LANG: ja_JP.UTF-8
  value of $XMODIFIERS: @im=SCIM
  locale-coding-system: utf-8-unix
  default enable-multibyte-characters: t

Major mode: Message

Minor modes in effect:
  diff-auto-refine-mode: t
  flyspell-mode: t
  rcirc-track-minor-mode: t
  minibuffer-electric-default-mode: t
  mml-mode: t
  tooltip-mode: t
  mouse-wheel-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-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 input:
o SPC i t ' s SPC n o t SPC r e a l t e <escape> h 
r e l a t e d SPC t <escape> h <escape> h <escape> 
h n o t h i g n SPC t o SPC d o SPC w i t h SPC c l 
a n g SPC i n SPC p a r t i c u l a r M-b M-b M-b M-b 
M-b M-b M-b M-f C-t C-a C-n C-n C-n C-n C-n C-n C-n 
C-n C-n C-n C-n C-n C-n C-n C-n C-n C-p C-p C-k <escape> 
< C-n C-h f C-g C-x C-g M-f M-f - m o d e C-x C-b C-n 
<return> C-h C-g <escape> <escape> m a j o r - m o 
d e <return> C-x b <return> <escape> f <escape> f <escape> 
f <escape> f <escape> d M-f M-f M-f M-d SPC [ g c c 
] C-M-b C-M-k s t a n d a r d C-e <escape> > C-u C-p 
<return> T h a n k s , <return> <return> - M i l e 
s C-o C-h v c o m p i l a SPC ? e r SPC ? - l i SPC 
<return> C-h v M-p C-e <escape> h r SPC <return> C-h 
v c o m p i SPC SPC a SPC - <backspace> r e SPC <escape> 
h <escape> h p a SPC <escape> h e r SPC ? - r SPC - 
SPC <return> C-x 1 C-q C-q C-q C-q C-q C-q C-q C-q 
C-q C-q C-q C-q C-q C-q C-q C-q C-n C-SPC <escape> 
< C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n <escape> 
x r e p o r t - e m a SPC <return>

Recent messages:
xding
Updating buffer list...done
Commands: m, u, t, RET, g, k, S, D, Q; q to quit; h for help
xding
compilation-mode
Mark set
Making completion list... [2 times]
Type C-x 1 to delete the help window.
Making completion list... [3 times]
Mark set

Load-path shadows:
/usr/share/emacs23/site-lisp/magit hides /usr/share/emacs/site-lisp/magit
/usr/share/emacs23/site-lisp/debian-startup hides /usr/share/emacs/site-lisp/debian-startup

Features:
(shadow emacsbug warnings log-view vc vc-dispatcher jka-compr info shr
ibuf-ext ibuffer make-mode autoconf autoconf-mode compile comint dabbrev
cc-mode cc-fonts cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars
cc-defs help-mode view vc-git dired magit diff-mode log-edit pcvs-util
add-log cl skeleton multi-isearch sh-script executable copyright time
crm thingatpt cus-edit newcomment flyspell ispell gnus-fun pp gnus-html
browse-url xml url-cache mm-url url url-proxy url-privacy url-expand
url-methods url-history url-cookie url-util url-parse url-vars flow-fill
sort gnus-cite smiley ansi-color mail-extr gnus-async gnus-bcklg
face-remap gnus-dup qp gnus-ml disp-table gnus-topic parse-time byte-opt
bytecomp byte-compile nnml auth-source netrc gnus-delay gnus-draft
gnus-agent gnus-srvr gnus-score score-mode nnvirtual nntp gnus-cache
gnus-msg gnus-art mm-uu mml2015 epg-config mm-view smime password-cache
dig mailcap gnus-sum gnus-group gnus-undo nndraft nnmh nnoo nnmail
mail-source format-spec gnus-start gnus-spec gnus-int gnus-range
gnus-win lua-mode-autoloads package reporter server uniquify rcirc
time-date ring minibuf-eldef gnus gnus-ems nnheader gnus-util wid-edit
cus-start cus-load derived advice help-fns advice-preload easy-mmode
message sendmail regexp-opt rfc822 mml easymenu mml-sec mm-decode
mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045 ietf-drums
mm-util mail-prsvr mailabbrev mail-utils gmm-utils mailheader japan-util
tooltip ediff-hook vc-hooks lisp-float-type mwheel x-win x-dnd tool-bar
dnd fontset image fringe lisp-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 loaddefs button minibuffer faces
cus-face files text-properties overlay md5 base64 format env code-pages
mule custom widget hashtable-print-readable backquote
make-network-process dbusbind dynamic-setting font-render-setting
move-toolbar gtk x-toolkit x multi-tty emacs)

-- 
Omochiroi!