From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Ivan Andrus Newsgroups: gmane.emacs.bugs Subject: bug#15211: 24.3.50; Incorrect fontification in c++-mode Date: Thu, 29 Aug 2013 14:48:22 -0600 Message-ID: NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 (Mac OS X Mail 6.5 \(1508\)) Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable X-Trace: ger.gmane.org 1377810138 24862 80.91.229.3 (29 Aug 2013 21:02:18 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Thu, 29 Aug 2013 21:02:18 +0000 (UTC) To: 15211@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Thu Aug 29 23:02:20 2013 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1VF9MB-0006Lg-UT for geb-bug-gnu-emacs@m.gmane.org; Thu, 29 Aug 2013 23:02:20 +0200 Original-Received: from localhost ([::1]:45752 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VF9MB-0000ej-FM for geb-bug-gnu-emacs@m.gmane.org; Thu, 29 Aug 2013 17:02:19 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:40488) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VF9M1-0000eO-JP for bug-gnu-emacs@gnu.org; Thu, 29 Aug 2013 17:02:16 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VF9Lv-0007Dy-Jn for bug-gnu-emacs@gnu.org; Thu, 29 Aug 2013 17:02:09 -0400 Original-Received: from debbugs.gnu.org ([140.186.70.43]:49412) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VF9Lv-0007Dt-Fb for bug-gnu-emacs@gnu.org; Thu, 29 Aug 2013 17:02:03 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.80) (envelope-from ) id 1VF9Lu-0001rv-KJ for bug-gnu-emacs@gnu.org; Thu, 29 Aug 2013 17:02:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Ivan Andrus Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 29 Aug 2013 21:02:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 15211 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Original-Received: via spool by submit@debbugs.gnu.org id=B.13778100807106 (code B ref -1); Thu, 29 Aug 2013 21:02:02 +0000 Original-Received: (at submit) by debbugs.gnu.org; 29 Aug 2013 21:01:20 +0000 Original-Received: from localhost ([127.0.0.1]:57703 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VF9LC-0001qR-Jz for submit@debbugs.gnu.org; Thu, 29 Aug 2013 17:01:20 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:38627) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VF9L8-0001qC-Vh for submit@debbugs.gnu.org; Thu, 29 Aug 2013 17:01:16 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VF9Kx-00077K-MT for submit@debbugs.gnu.org; Thu, 29 Aug 2013 17:01:09 -0400 Original-Received: from lists.gnu.org ([2001:4830:134:3::11]:43171) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VF9Kx-00077G-Iu for submit@debbugs.gnu.org; Thu, 29 Aug 2013 17:01:03 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:40282) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VF9Kr-0000Nt-Jm for bug-gnu-emacs@gnu.org; Thu, 29 Aug 2013 17:01:03 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VF9Kl-00075o-IH for bug-gnu-emacs@gnu.org; Thu, 29 Aug 2013 17:00:57 -0400 Original-Received: from mail-pb0-x229.google.com ([2607:f8b0:400e:c01::229]:55432) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VF9Kl-00075Z-4y for bug-gnu-emacs@gnu.org; Thu, 29 Aug 2013 17:00:51 -0400 Original-Received: by mail-pb0-f41.google.com with SMTP id rp2so970519pbb.14 for ; Thu, 29 Aug 2013 14:00:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:content-type:content-transfer-encoding:subject:message-id:date :to:mime-version; bh=16TqZakEe1trmqEgGXj4eTTxJXxAjzx6hW+CxDw5fds=; b=WrI+H5af4PEgztCpXzwBlCk10+qCJ3PeKT+5rAdsWLzN8GzyV22bubl3nVBKx3Stcp qD0LWW6tQ+0HcA2WVdoQaLkLhqSmaB/1OCZlItS1X5Yk1m3qTV4Y3YdVTJUDgpqH5jZd ElLkoWJnYBlgFOl7GYwX6VyEt9srcB9XpUXATBtdPuzvCBnjWgvx4Qs98gHd6E8lFLTw j/DatVxTOM+k9xJte5JT6U2b2jKkue4pF0NwTIxYEc9QPTqVC3z79f3jR4knWW7kmbTq PdRtuNXQbz/Urp4TmYqqdXNofD+QjIPs1Utvai2TShFKSW9sm1jYBkf4ABerAs8ur7cC d4RA== X-Received: by 10.66.228.234 with SMTP id sl10mr6555705pac.149.1377810049420; Thu, 29 Aug 2013 14:00:49 -0700 (PDT) Original-Received: from [10.0.2.30] (host-174-45-235-168.bln-mt.client.bresnan.net. [174.45.235.168]) by mx.google.com with ESMTPSA id lm2sm43040204pab.2.1969.12.31.16.00.00 (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Thu, 29 Aug 2013 14:00:48 -0700 (PDT) X-Mailer: Apple Mail (2.1508) X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 140.186.70.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:77803 Archived-At: In C and C++ it is legal to place the const to the right of the type as = below: Json parseJson( string const &json ); However, this results in "string" not being fontified as a type (i.e. with `font-lock-type-face'). It seems to work some times, but the minimal example above does not when starting from `emacs -q`. Although this is fairly uncommon, there are valid reasons for doing this (see = http://www.dansaks.com/articles/1999-02%20const%20T%20vs%20T%20const.pdf for example), and at work it's ubiquitous. The lack of fontification is annoying since it gives me vi envy. :-) Thanks for the overall excellent cc-mode(s)! -Ivan In GNU Emacs 24.3.50.5 (i386-apple-darwin12.4.0, NS = apple-appkit-1187.39) of 2013-08-23 on ivanandres-MacBookPro Bzr revision: 113987 eggert@cs.ucla.edu-20130824022334-kloqiv3hqimcrnmg 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: jabber-activity-mode: t semantic-minor-modes-format: ((:eval (if (or = semantic-highlight-edits-mode semantic-show-unmatched-syntax-mode = semantic-idle-scheduler-mode) S))) doxymacs-mode: t diff-auto-refine-mode: t eldoc-mode: t highlight-parentheses-mode: t hl-sexp-mode: t highlight-symbol-mode: t TeX-PDF-mode: t which-function-mode: t show-paren-mode: t global-semantic-stickyfunc-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 command-frequency-autosave-mode: t command-frequency-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 Recent input: TAB TAB TAB TAB C-k C-c C-f TAB TAB TAB TAB TAB C-x r j o C-x r j n G e t SPC u s SPC o f f TAB TAB C-e SPC o f SPC t h e SPC a l a r m SPC s y s t e m C-x C-s C-e ? C-x C-s e C-/ C-e C-x C-s C-a M-c C-x C-s s-h M-W M-W C-k C-k C-k C-k C-k TAB TAB TAB TAB TAB TAB TAB TAB TAB M-k M-k M-k M-k C-y j s r l : : J s o n SPC p a r s e J s o n , , SPC c o n s t SPC s t r i n g C-M-j C-M-t SPC & SPC j s o n SPC C-e { C-y } TAB TAB TAB C-o C-o C-o C-u C-M-k C-/ C-M-l C-M-k C-l C-M-k C-/ C-l C-d C-e C-SPC TAB C-e C-SPC C-e t m p C-k C-l C-a C-M-l C-M-k C-M-l t m p C-e r e t u r n SPC t m p ; C-x C-s } C-M-j C-M-u C-M-l C-SPC C-SPC C-M-j C-M-SPC C-M-l TAB C-M-SPC C-x C-s TAB TAB TAB TAB TAB C-e C-M-j C-a M-k C-y TAB M-k C-/ C-3 C-x b C-y TAB C-e C-u C-SPC C-x C-s C-g C-a C-M-k C-d C-d C-k TAB M-k C-y C-SPC C-SPC ) ; C-x C-s C-g TAB M-k C-/ M-x r e Recent messages: Error during redisplay: (eval (let ((glob-str (mapconcat (function eval) = global-mode-string "")) (global-string (mapconcat (function eval) = global-mode-string " "))) (when (> (length glob-str) 0) (concat = (propertize " " (quote display) (\` ((space :align-to (- right-fringe = (\, (+ (length global-string) 5)))))) (quote help-echo) "mouse-1: Select = (drag to resize) mouse-2: Make current window occupy the whole frame mouse-3: Remove current window from display") (propertize " " (quote = display) arrow-right-3) (propertize global-string (quote face) (quote = mode-line-buffer-id)) #(" " 0 1 (help-echo "mouse-1: Select (drag to = resize) mouse-2: Make current window occupy the whole frame mouse-3: Remove current window from display" face mode-line-buffer-id)) = (propertize " " (quote display) arrow-right-4))))) signaled = (void-function t) Error during redisplay: (eval (let ((glob-str (mapconcat (function eval) = global-mode-string "")) (global-string (mapconcat (function eval) = global-mode-string " "))) (when (> (length glob-str) 0) (concat = (propertize " " (quote display) (\` ((space :align-to (- right-fringe = (\, (+ (length global-string) 5)))))) (quote help-echo) "mouse-1: Select = (drag to resize) mouse-2: Make current window occupy the whole frame mouse-3: Remove current window from display") (propertize " " (quote = display) arrow-right-3) (propertize global-string (quote face) (quote = mode-line-buffer-id)) #(" " 0 1 (help-echo "mouse-1: Select (drag to = resize) mouse-2: Make current window occupy the whole frame mouse-3: Remove current window from display" face mode-line-buffer-id)) = (propertize " " (quote display) arrow-right-4))))) signaled = (void-function t) Load-path shadows: /Users/ivanandres/.emacs.d/elpa/magit-20130828.1540/.dir-locals hides = /Users/ivanandres/vcs/sage-mode/emacs/.dir-locals ~/vcs/emacs-clang-complete-async/auto-complete-clang-async hides = /Users/ivanandres/.emacs.d/elpa/auto-complete-clang-async-20130526.2314/au= to-complete-clang-async /Users/ivanandres/.emacs.d/elpa/confluence-20130814.735/confluence-edit = hides = /Users/ivanandres/.emacs.d/elpa/confluence-edit-20130804.2241/confluence-e= dit /Users/ivanandres/.emacs.d/elpa/magit-20130828.1540/.dir-locals hides = /Users/ivanandres/.emacs.d/elpa/highlight-parentheses-20130523.1752/.dir-l= ocals /Users/ivanandres/.emacs.d/elpa/magit-20130828.1540/.dir-locals hides = /Users/ivanandres/.emacs.d/elpa/highlight-symbol-20130628.1552/.dir-locals= /Users/ivanandres/.emacs.d/elpa/php+-mode-20121129.1452/string-utils = hides = /Users/ivanandres/.emacs.d/elpa/string-utils-20121108.1917/string-utils /Users/ivanandres/.emacs.d/elpa/jira-20091012.2123/jira hides = ~/.emacs.d/local/jira /Users/ivanandres/.emacs.d/elpa/magit-20130828.1540/.dir-locals hides = /Users/ivanandres/vcs/emacs/local/nextstep/Emacs.app/Contents/Resources/li= sp/gnus/.dir-locals Features: (shadow emacsbug message rfc822 mml mml-sec mm-decode mm-bodies mm-encode mailabbrev gmm-utils mailheader sendmail compare-w pcase jabber-libnotify jabber-awesome jabber-osd jabber-wmii jabber-xmessage jabber-festival jabber-sawfish jabber-ratpoison jabber-tmux jabber-screen jabber-socks5 jabber-ft-server jabber-ft-client jabber-truncate jabber-time jabber-vcard-avatars jabber-chatstates jabber-events jabber-vcard jabber-activity jabber-watch jabber-modeline jabber-ahc-presence jabber-version jabber-browse jabber-search jabber-roster jabber-ourversion jabber-avatar jabber-autoaway jabber-register jabber-presence dbus jabber-ping jabber-si-server jabber-ft-common jabber-si-client jabber-si-common jabber-feature-neg jabber-private jabber-ahc jabber-muc-nick-completion hippie-exp jabber-muc jabber-muc-nick-coloring hexrgb jabber-newdisco jabber-widget jabber-disco jabber-iq jabber-chat jabber-menu jabber-history jabber-chatbuffer jabber-alert jabber-core jabber-console sgml-mode jabber-keymap jabber-sasl sasl sasl-anonymous sasl-login sasl-plain fsm jabber-conn srv dns gnutls jabber-logon jabber-xml jabber-util ecb-symboldef ecb-analyse ecb-compatibility ecb-winman-support ecb-autogen ecb-tod ecb-cycle ecb-eshell ecb-help ecb-jde ecb-upgrade ecb-file-browser ecb-method-browser ecb-semantic-wrapper ecb-semantic ecb-speedbar ecb-layout ecb-create-layout ecb-compilation ecb-common-browser ecb-navigate ecb-cedet-wrapper semantic/analyze semantic/scope semantic/analyze/fcn ecb-mode-line ecb-face tree-buffer ecb-util silentcomp find-lisp magit-cherry magit-bisect magit-key-mode magit iswitchb esh-var esh-io esh-cmd esh-opt esh-ext esh-proc esh-arg esh-groups eshell esh-module esh-mode esh-util ediff-merg ediff-wind ediff-diff ediff-mult ediff-help ediff-init ediff-util ediff magit-compat mc-separate-operations rectangular-region-mode mc-mark-pop mc-mark-more mc-cycle-cursors css-eldoc-hash-table autoload lisp-mnt tar-mode finder-inf mark-more-like-this mark-multiple mc-edit-lines multiple-cursors-core warnings shell-toggle sql view rot13 disp-table mail-extr org-colview yaml-mode json-mode sort mail-utils network-stream starttls url-cache find-file phi-search vcursor repeat js json goto-last-change debug browse-url url-handlers url-http tls url-auth mail-parse rfc2231 rfc2047 rfc2045 ietf-drums url-gw calc-aent calc-yank calc-misc calc-alg calc-menu calc-ext calc calc-loaddefs calc-macs org-table epa-file epa derived conf-mode vc-annotate log-view wgrep-ack wgrep ack-and-a-half grep ibuf-ext ibuffer git-rebase-mode ruler-mode hexl dired+ dired-x dired-aux dired ruby-mode git-commit-mode skeleton etags-select etags ffap tramp-cache tramp-sh dabbrev vc-bzr vc-svn vc-cvs vc-dir ewoc smerge-mode epg epg-config mule-util cal-move parse-time superword subword artist picture reporter rect org-element diff-mode diff nxml-uchnm rng-xsd xsd-regexp rng-cmpct rng-nxml rng-valid rng-loc rng-uri rng-parse nxml-parse rng-match rng-dt rng-util rng-pttrn nxml-ns nxml-mode nxml-outln nxml-rap nxml-util nxml-glyph nxml-enc xmltok misearch multi-isearch semantic/imenu semantic/sb semantic/sort semantic/db-file data-debug cedet-files semantic/wisent/python semantic/db-mode semantic/decorate/include semantic/db-find semantic/db-ref semantic/decorate/mode semantic/decorate pulse sage-view semantic/dep semantic/wisent/python-wy semantic/wisent semantic/wisent/wisent sage-mode apropos sage-compat hideshow python sh-script smie executable elide-head ede/cpp-root ede/generic ede/shell eieio-opt ede/speedbar ede/files ede ede/base ede/auto ede/source eieio-speedbar speedbar sb-image dframe eieio-custom semantic/db eieio-base vc-git c-eldoc tempo url url-proxy url-privacy url-expand url-methods url-history url-cookie url-domsuf url-util url-parse url-vars mailcap xml-parse doxymacs cc-langs info-look cc-mode cc-fonts cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs eldoc highlight-parentheses greedy-delete hl-sexp highlight-symbol thingatpt gvol-light-theme tabify cal-iso org-mobile reveal org-mouse org-irc org-habit org-jsinfo org-infojs org-html org-info org-gnus org-docview org-ctags org-bibtex bibtex org-bbdb org-archive org-id vc-hg tex-fold reftex-dcr reftex-auc reftex reftex-vars tex-bar toolbar-x font-latex latex edmacro kmacro tex-style sage-latex org-latex org-export-latex org-beamer footnote org-crypt ob-python org-clock org-exp ob-exp org-exp-blocks org-agenda org ob-tangle ob-ref ob-lob ob-table org-footnote org-src ob-comint ob-keys org-pcomplete org-list org-faces org-entities noutline outline org-version ob-emacs-lisp ob org-compat org-macs ob-eval org-loaddefs find-func tex-buf tex crm time uniquify saveplace semantic/idle semantic/format ezimage semantic/tag-ls semantic/find semantic/ctxt which-func imenu paren semantic/util-modes semantic/util semantic semantic/tag semantic/lex semantic/fw mode-local cedet msb mb-depth icomplete hl-line delsel image-file cus-start cus-load diary-lib diary-loaddefs cal-menu calendar cal-loaddefs autoinsert yasnippet help-mode tramp tramp-compat auth-source eieio byte-opt bytecomp byte-compile cconv eieio-core gnus-util mm-util mail-prsvr password-cache tramp-loaddefs trampver shell pcomplete format-spec smex ido visible-mark parenface fold commit-patch-buffer log-edit pcvs-util add-log vc vc-dispatcher sage sage-load jka-compr recentf tree-widget wid-edit rx xml flymake compile comint ansi-color ring tex-site desktop frameset drag-stuff browse-kill-ring backtr command-frequency uptimes pp server easy-mmode assoc advice windmove ac-math-autoloads auto-complete-clang-autoloads c-eldoc-autoloads command-frequency-autoloads etags-select-autoloads gap-mode-autoloads goto-last-change-autoloads hl-sexp-autoloads jabber-autoloads json-mode-autoloads info easymenu mainline-autoloads mark-multiple-autoloads php+-mode-autoloads php-eldoc-autoloads popup-autoloads help-fns cl-macs gv cl cl-loaddefs cl-lib visible-mark-autoloads yaml-mode-autoloads package time-date tooltip ediff-hook vc-hooks lisp-float-type mwheel ns-win 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 ns multi-tty emacs)