GNU bug report logs -
#15415
24.3.50; c++-mode fontification for constructors is inconsistent
Previous Next
Reported by: Ivan Andrus <darthandrus <at> gmail.com>
Date: Thu, 19 Sep 2013 02:46:01 UTC
Severity: normal
Found in version 24.3.50
Done: Alan Mackenzie <acm <at> muc.de>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
Your message dated Sat, 19 Oct 2013 15:18:30 +0000
with message-id <20131019151830.GB2991 <at> acm.acm>
and subject line Re: bug#15415: 24.3.50; c++-mode fontification for constructors is inconsistent
has caused the debbugs.gnu.org bug report #15415,
regarding 24.3.50; c++-mode fontification for constructors is inconsistent
to be marked as done.
(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)
--
15415: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=15415
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
[Message part 3 (text/plain, inline)]
Font locking of C++ constructors is somewhat inconsistent. This is no
doubt complicated by the fact that unlike other function declarations
they "don't have a return type".
When a single argument is not used but named, the constructor is not
fontified (normally it's fontified with `font-lock-function-name-face').
If the keyword explicit is used, then the argument type is fontified as
a variable, and the constructor name is fontified as a type. Perhaps
interestingly, naming the parameter or adding another parameter causes
fontification to work correctly (with or without explicit).
I have included a sample file below with comments on what I see in `emacs -q`
class Bob
{
// string is `font-lock-type-face', Bob is `font-lock-function-name-face'
Bob( string bob );
// string and Bob are not fontified (though I sometimes see string fontified as a type)
Bob( string );
// string is `font-lock-variable-name-face', Bob is `font-lock-type-face'
explicit Bob( string );
// string is `font-lock-type-face', Bob is `font-lock-function-name-face'
explicit Bob( string, string );
};
[constructors.pdf (application/pdf, inline)]
[Message part 5 (text/plain, inline)]
Thanks,
Ivan
In GNU Emacs 24.3.50.1 (i386-apple-darwin12.5.0, NS apple-appkit-1187.39)
of 2013-09-16 on ivanandres-MacBookPro
Bzr revision: 114309 rgm <at> gnu.org-20130916192145-tr5qrfdmhcq3a563
Windowing system distributor `Apple', version 10.3.1187
Configured using:
`configure --with-ns --with-xml2'
Important settings:
locale-coding-system: nil
default enable-multibyte-characters: t
Major mode: C++/lah
Minor modes in effect:
diff-auto-refine-mode: t
eldoc-mode: t
highlight-parentheses-mode: t
hl-sexp-mode: t
highlight-symbol-mode: t
which-function-mode: t
show-paren-mode: t
msb-mode: t
minibuffer-depth-indicate-mode: t
global-hl-line-mode: t
delete-selection-mode: t
auto-image-file-mode: t
auto-insert-mode: t
yas-global-mode: t
yas-minor-mode: t
shell-dirtrack-mode: t
ido-everywhere: t
global-visible-mark-mode: t
visible-mark-mode: t
gvol-mode: t
recentf-mode: t
desktop-save-mode: t
drag-stuff-global-mode: t
drag-stuff-mode: t
tooltip-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
blink-cursor-mode: t
auto-composition-mode: t
auto-encryption-mode: t
auto-compression-mode: t
column-number-mode: t
line-number-mode: t
transient-mark-mode: t
abbrev-mode: t
[Message part 6 (message/rfc822, inline)]
Bug fixed.
--
Alan Mackenzie (Nuremberg, Germany).
This bug report was last modified 11 years and 221 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.