From unknown Sun Jun 22 07:54:45 2025 X-Loop: help-debbugs@gnu.org Subject: bug#36801: CC Mode 5.34 (C/*l); Weird fontification in brackets in C++ Mode Resent-From: Richard Copley Original-Sender: "Debbugs-submit" Resent-CC: bug-cc-mode@gnu.org Resent-Date: Wed, 24 Jul 2019 19:53:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 36801 X-GNU-PR-Package: cc-mode X-GNU-PR-Keywords: To: 36801@debbugs.gnu.org X-Debbugs-Original-To: submit@debbugs.gnu.org Received: via spool by submit@debbugs.gnu.org id=B.156399794316315 (code B ref -1); Wed, 24 Jul 2019 19:53:01 +0000 Received: (at submit) by debbugs.gnu.org; 24 Jul 2019 19:52:23 +0000 Received: from localhost ([127.0.0.1]:38090 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hqNJG-0004F5-Dk for submit@debbugs.gnu.org; Wed, 24 Jul 2019 15:52:22 -0400 Received: from mail-oi1-f177.google.com ([209.85.167.177]:40951) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hqNJE-0004Es-UJ for submit@debbugs.gnu.org; Wed, 24 Jul 2019 15:52:21 -0400 Received: by mail-oi1-f177.google.com with SMTP id w196so14579999oie.7 for ; Wed, 24 Jul 2019 12:52:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=1Qx+oJdypMOB8QYqMlmE7fj0bkCYbHsPZdVBNQIajWE=; b=iAAtmgozzWYcfP3C7zr80rSWHPfUJZMpaYN9BuE2+4bP0OrtKjK81ev152is7YBAXu GNaXBxscjCBVBpderCTEgO2MZnatbwSg/drXdRFE68fASIxiW5cB4Dstm86SYoTCdn9c aaf6sQzE3pVwHcSGElITIoSyRkep7F/21axby+2CF8KEBL4taKbHTUk90DbKkDo87rWg 67rAvhJYUT1uIvLezGN5RrbKxpWs1SHvbCy4Kj9dRTvl4dtutb1kiy+qSv2dSBmclBZE OTACSwUDa0/v4KCbXC4RvTi26BLUotpwtZ+JT82quLdgzU7h9MIafDHA+Z4OjE6VkUpt ksQg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=1Qx+oJdypMOB8QYqMlmE7fj0bkCYbHsPZdVBNQIajWE=; b=DL8GrAjPezvAgY5y+sAj42au0pWxJzxNFgzQrpI0DD0MP/W7RYXyRlkyQAArd3arxW /YMVJPe0shdY5NBeSzYBF9qiGFr8xJ1TfVhs5qdKP0LzVsk4pOYsrHTyV41VrMH3fu2Z aY7D/VWBIzDtK/Mmr/lEUnQpRFy3zKq2Z1WOuwPy7Q0Vr74U93EvUISiUfoAk2Fpq/fO lFa3+wZ+LRGXs3w2J/h2ZkqX8bygx2qw2EotLVqJHzMLx45Dg1oGsChrWmSYIy7Aclf8 6a8Ly10l55OJPHst1o2yLz9xkkSmjiIy9VogMu7t9asq3AvYJwmEbfinvT+eCjdV3EUz BRcg== X-Gm-Message-State: APjAAAUyf1wapp9+8nXDkj5bU5T53tlpv27kRUSFf7oLGKdD4fdwG9jN mi7gBxbQ3stniZwftG0C7TcV6GJjlfWeLng5tGSKZo0o4nk= X-Google-Smtp-Source: APXvYqz2quxFp6EO1h7WJaMFFMotr4/QS73+uZHCkWE2vAdd7NlgJukPEfSAE8Q1OzeD3ArN7mo5oW6Ara68i7TTQzI= X-Received: by 2002:aca:4e84:: with SMTP id c126mr36995378oib.153.1563997934870; Wed, 24 Jul 2019 12:52:14 -0700 (PDT) MIME-Version: 1.0 From: Richard Copley Date: Wed, 24 Jul 2019 20:51:47 +0100 Message-ID: Content-Type: multipart/alternative; boundary="0000000000005664f5058e72a5e6" X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --0000000000005664f5058e72a5e6 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Package: cc-mode With these buffer contents: order[x]; origin[y]; counterpane[z]; ... "x" and "y" are highlighted as types [EDIT: keywords], and "z" is not. Reproduced below is the story so far, which comes after a discussion of unrelated matters at bug#36397. On Tue, 23 Jul 2019 at 11:40, Alan Mackenzie wrote: Hello again, Richard. On Mon, Jul 22, 2019 at 20:47:22 +0100, Richard Copley wrote: [ .... ] > 3. (This one's reproducible and 'stable' -- it's dependent only > on the current buffer contents, and not on the path that got us > there.) With these buffer contents: > order[x]; > origin[y]; > counterpane[z]; > ... "x" and "y" are highlighted as types, and "z" is not > (expected: none of the three subscripts are > highlighted). There's apparently something special about the > identifiers "order" and "origin". OK, I've tracked this one down to a regexp not testing for end of word. I'm pretty sure the following patch fixes it, but would you please do the usual with it anyway. As this changes a Lisp macro, the entire CC Mode needs to be rebuilt after patching. Thanks! Package: cc-mode Emacs : GNU Emacs 27.0.50 (build 1, x86_64-w64-mingw32) of 2019-07-23 Package: CC Mode 5.34 (C/*l) Buffer Style: gnu c-emacs-features: (pps-extended-state col-0-paren posix-char-classes gen-string-delim gen-comment-delim syntax-properties 1-bit) current state: =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D (setq c-basic-offset 2 c-comment-only-line-offset '(0 . 0) c-indent-comment-alist '((anchored-comment column . 0) (end-block space . 1) (cpp-end-block space . 2)) c-indent-comments-syntactically-p nil c-block-comment-prefix "" c-comment-prefix-regexp '((pike-mode . "//+!?\\|\\**") (awk-mode . "#+") (other . "//+\\|\\**")) c-doc-comment-style '((java-mode . javadoc) (pike-mode . autodoc) (c-mode . gtkdoc) (c++-mode . gtkdoc)) c-cleanup-list '(scope-operator) c-hanging-braces-alist '((substatement-open before after) (arglist-cont-nonempty)) c-hanging-colons-alist nil c-hanging-semi&comma-criteria '(c-semi&comma-inside-parenlist) c-backslash-column 48 c-backslash-max-column 72 c-special-indent-hook '(c-gnu-impose-minimum) c-label-minimum-indentation 1 c-offsets-alist '((inexpr-class . +) (inexpr-statement . +) (lambda-intro-cont . +) (inlambda . 0) (template-args-cont c-lineup-template-args +) (incomposition . +) (inmodule . +) (innamespace . +) (inextern-lang . +) (composition-close . 0) (module-close . 0) (namespace-close . 0) (extern-lang-close . 0) (composition-open . 0) (module-open . 0) (namespace-open . 0) (extern-lang-open . 0) (objc-method-call-cont c-lineup-ObjC-method-call-colons c-lineup-ObjC-method-call + ) (objc-method-args-cont . c-lineup-ObjC-method-args) (objc-method-intro . [0]) (friend . 0) (cpp-define-intro c-lineup-cpp-define +) (cpp-macro-cont . +) (cpp-macro . [0]) (inclass . +) (stream-op . c-lineup-streamop) (arglist-cont-nonempty c-lineup-gcc-asm-reg c-lineup-arglist ) (arglist-cont c-lineup-gcc-asm-reg 0) (comment-intro c-lineup-knr-region-comment c-lineup-comment ) (catch-clause . 0) (else-clause . 0) (do-while-closure . 0) (access-label . -) (case-label . 0) (substatement . +) (statement-case-intro . +) (statement . 0) (brace-entry-open . 0) (brace-list-entry . 0) (brace-list-close . 0) (block-close . 0) (block-open . 0) (inher-cont . c-lineup-multi-inher) (inher-intro . +) (member-init-cont . c-lineup-multi-inher) (member-init-intro . +) (annotation-var-cont . +) (annotation-top-cont . 0) (topmost-intro . 0) (knr-argdecl . 0) (func-decl-cont . +) (inline-close . 0) (class-close . 0) (class-open . 0) (defun-block-intro . +) (defun-close . 0) (defun-open . 0) (c . c-lineup-C-comments) (string . c-lineup-dont-change) (topmost-intro-cont first c-lineup-topmost-intro-cont c-lineup-gnu-DEFUN-intro-cont ) (brace-list-intro first c-lineup-2nd-brace-entry-in-arglist c-lineup-class-decl-init-+ + ) (brace-list-open . +) (inline-open . 0) (arglist-close . c-lineup-arglist) (arglist-intro . c-lineup-arglist-intro-after-paren) (statement-cont . +) (statement-case-open . +) (label . 0) (substatement-label . 0) (substatement-open . +) (knr-argdecl-intro . 5) (statement-block-intro . +) ) c-buffer-is-cc-mode 'c-mode c-tab-always-indent t c-syntactic-indentation t c-syntactic-indentation-in-macros t c-ignore-auto-fill '(string cpp code) c-auto-align-backslashes t c-backspace-function 'backward-delete-char-untabify c-delete-function 'delete-char c-electric-pound-behavior nil c-default-style '((java-mode . "java") (awk-mode . "awk") (other . "gnu")) c-enable-xemacs-performance-kludge-p nil c-old-style-variable-behavior nil defun-prompt-regexp nil tab-width 8 comment-column 32 parse-sexp-ignore-comments t parse-sexp-lookup-properties t auto-fill-function nil comment-multi-line t comment-start-skip "\\(//+\\|/\\*+\\)\\s *" fill-prefix nil fill-column 70 paragraph-start "[ ]*\\(//+\\|\\**\\)[ ]*$\\|^\f" adaptive-fill-mode t adaptive-fill-regexp "[ ]*\\(//+\\|\\**\\)[ ]*\\([ ]*\\([-=E2=80=93!|#%;>*= =C2=B7=E2=80=A2=E2=80=A3=E2=81=83=E2=97=A6]+[ ]*\\)*\\)" ) --0000000000005664f5058e72a5e6 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Package: cc-mode


With these buffer contents:
order[x];
origin[y];
counterpane[z];

... "x" an= d "y" are highlighted as types [EDIT: keywords],
and "z&q= uot; is not.

Reproduced below is the story so far, which comes after= a discussion
of unrelated matters at bug#36397.

On Tue, 23 Jul 2= 019 at 11:40, Alan Mackenzie <acm@muc.de> wrote:

=C2=A0 =C2=A0 Hello again, Richard.

=C2=A0 =C2= =A0 On Mon, Jul 22, 2019 at 20:47:22 +0100, Richard Copley wrote:

= =C2=A0 =C2=A0 [ .... ]

=C2=A0 =C2=A0 > 3. (This one's reprodu= cible and 'stable' -- it's dependent only
=C2=A0 =C2=A0 >= on the current buffer contents, and not on the path that got us
=C2=A0 = =C2=A0 > there.) With these buffer contents:

=C2=A0 =C2=A0 > o= rder[x];
=C2=A0 =C2=A0 > origin[y];
=C2=A0 =C2=A0 > counterpane= [z];

=C2=A0 =C2=A0 > ... "x" and "y" are high= lighted as types, and "z" is not
=C2=A0 =C2=A0 > (expected:= none of the three subscripts are
=C2=A0 =C2=A0 > highlighted). There= 's apparently something special about the
=C2=A0 =C2=A0 > identif= iers "order" and "origin".

=C2=A0 =C2=A0 OK, I&#= 39;ve tracked this one down to a regexp not testing for end of
=C2=A0 = =C2=A0 word.

=C2=A0 =C2=A0 I'm pretty sure the following patch f= ixes it, but would you please
=C2=A0 =C2=A0 do the usual with it anyway.= =C2=A0 As this changes a Lisp macro, the
=C2=A0 =C2=A0 entire CC Mode ne= eds to be rebuilt after patching.

=C2=A0 =C2=A0 Thanks!
=C2=A0Package: cc-mode

Emacs =C2=A0: GNU Emacs 27.0.50 (build 1, x86_64-w= 64-mingw32)
=C2=A0of 2019-07-23
Package: CC Mode 5.34 (C/*l)
Buffe= r Style: gnu
c-emacs-features: (pps-extended-state col-0-paren posix-cha= r-classes gen-string-delim gen-comment-delim syntax-properties 1-bit)
current state:
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
(setq
= =C2=A0c-basic-offset 2
=C2=A0c-comment-only-line-offset '(0 . 0)
= =C2=A0c-indent-comment-alist '((anchored-comment column . 0) (end-block= space . 1)
=C2=A0(cpp-end-block space . 2))
=C2=A0c-indent-comme= nts-syntactically-p nil
=C2=A0c-block-comment-prefix ""
=C2= =A0c-comment-prefix-regexp '((pike-mode . "//+!?\\|\\**") (aw= k-mode . "#+")
=C2=A0 (other . "//+\\|\\**"))=C2=A0c-doc-comment-style '((java-mode . javadoc) (pike-mode . autodoc= )
=C2=A0 =C2=A0 =C2=A0 (c-mode . gtkdoc) (c++-mode . gtkdoc))
=C2= =A0c-cleanup-list '(scope-operator)
=C2=A0c-hanging-braces-alist = 9;((substatement-open before after)
=C2=A0(arglist-cont-nonempty))=C2=A0c-hanging-colons-alist nil
=C2=A0c-hanging-semi&comma-criter= ia '(c-semi&comma-inside-parenlist)
=C2=A0c-backslash-column 48<= br>=C2=A0c-backslash-max-column 72
=C2=A0c-special-indent-hook '(c-g= nu-impose-minimum)
=C2=A0c-label-minimum-indentation 1
=C2=A0c-offset= s-alist '((inexpr-class . +)
=C2=A0 (inexpr-statement . +)
= =C2=A0 (lambda-intro-cont . +)
=C2=A0 (inlambda . 0)
=C2=A0 (te= mplate-args-cont c-lineup-template-args +)
=C2=A0 (incomposition . +)=
=C2=A0 (inmodule . +)
=C2=A0 (innamespace . +)
=C2=A0 (i= nextern-lang . +)
=C2=A0 (composition-close . 0)
=C2=A0 (module= -close . 0)
=C2=A0 (namespace-close . 0)
=C2=A0 (extern-lang-cl= ose . 0)
=C2=A0 (composition-open . 0)
=C2=A0 (module-open . 0)=
=C2=A0 (namespace-open . 0)
=C2=A0 (extern-lang-open . 0)
= =C2=A0 (objc-method-call-cont
=C2=A0 =C2=A0c-lineup-ObjC-method-cal= l-colons
=C2=A0 =C2=A0c-lineup-ObjC-method-call
=C2=A0 =C2=A0+<= br> =C2=A0 =C2=A0)
=C2=A0 (objc-method-args-cont . c-lineup-ObjC-me= thod-args)
=C2=A0 (objc-method-intro . [0])
=C2=A0 (friend . 0)=
=C2=A0 (cpp-define-intro c-lineup-cpp-define +)
=C2=A0 (cpp-ma= cro-cont . +)
=C2=A0 (cpp-macro . [0])
=C2=A0 (inclass . +)
= =C2=A0 (stream-op . c-lineup-streamop)
=C2=A0 (arglist-cont-nonemp= ty
=C2=A0 =C2=A0c-lineup-gcc-asm-reg
=C2=A0 =C2=A0c-lineup-argl= ist
=C2=A0 =C2=A0)
=C2=A0 (arglist-cont c-lineup-gcc-asm-reg 0)=
=C2=A0 (comment-intro
=C2=A0 =C2=A0c-lineup-knr-region-comment=
=C2=A0 =C2=A0c-lineup-comment
=C2=A0 =C2=A0)
=C2=A0 (cat= ch-clause . 0)
=C2=A0 (else-clause . 0)
=C2=A0 (do-while-closur= e . 0)
=C2=A0 (access-label . -)
=C2=A0 (case-label . 0)
= =C2=A0 (substatement . +)
=C2=A0 (statement-case-intro . +)
=C2= =A0 (statement . 0)
=C2=A0 (brace-entry-open . 0)
=C2=A0 (brace= -list-entry . 0)
=C2=A0 (brace-list-close . 0)
=C2=A0 (block-cl= ose . 0)
=C2=A0 (block-open . 0)
=C2=A0 (inher-cont . c-lineup-= multi-inher)
=C2=A0 (inher-intro . +)
=C2=A0 (member-init-cont = . c-lineup-multi-inher)
=C2=A0 (member-init-intro . +)
=C2=A0 (= annotation-var-cont . +)
=C2=A0 (annotation-top-cont . 0)
=C2= =A0 (topmost-intro . 0)
=C2=A0 (knr-argdecl . 0)
=C2=A0 (func-d= ecl-cont . +)
=C2=A0 (inline-close . 0)
=C2=A0 (class-close . 0= )
=C2=A0 (class-open . 0)
=C2=A0 (defun-block-intro . +)
= =C2=A0 (defun-close . 0)
=C2=A0 (defun-open . 0)
=C2=A0 (c . c-= lineup-C-comments)
=C2=A0 (string . c-lineup-dont-change)
=C2= =A0 (topmost-intro-cont
=C2=A0 =C2=A0first
=C2=A0 =C2=A0c-lineu= p-topmost-intro-cont
=C2=A0 =C2=A0c-lineup-gnu-DEFUN-intro-cont
= =C2=A0 =C2=A0)
=C2=A0 (brace-list-intro
=C2=A0 =C2=A0first
= =C2=A0 =C2=A0c-lineup-2nd-brace-entry-in-arglist
=C2=A0 =C2=A0c-li= neup-class-decl-init-+
=C2=A0 =C2=A0+
=C2=A0 =C2=A0)
=C2= =A0 (brace-list-open . +)
=C2=A0 (inline-open . 0)
=C2=A0 (argl= ist-close . c-lineup-arglist)
=C2=A0 (arglist-intro . c-lineup-arglis= t-intro-after-paren)
=C2=A0 (statement-cont . +)
=C2=A0 (statem= ent-case-open . +)
=C2=A0 (label . 0)
=C2=A0 (substatement-labe= l . 0)
=C2=A0 (substatement-open . +)
=C2=A0 (knr-argdecl-intro= . 5)
=C2=A0 (statement-block-intro . +)
=C2=A0 )
=C2=A0c-bu= ffer-is-cc-mode 'c-mode
=C2=A0c-tab-always-indent t
=C2=A0c-synta= ctic-indentation t
=C2=A0c-syntactic-indentation-in-macros t
=C2=A0c-= ignore-auto-fill '(string cpp code)
=C2=A0c-auto-align-backslashes t=
=C2=A0c-backspace-function 'backward-delete-char-untabify
=C2=A0= c-delete-function 'delete-char
=C2=A0c-electric-pound-behavior nil=C2=A0c-default-style '((java-mode . "java") (awk-mode . &q= uot;awk") (other . "gnu"))
=C2=A0c-enable-xemacs-performa= nce-kludge-p nil
=C2=A0c-old-style-variable-behavior nil
=C2=A0defun-= prompt-regexp nil
=C2=A0tab-width 8
=C2=A0comment-column 32
=C2=A0= parse-sexp-ignore-comments t
=C2=A0parse-sexp-lookup-properties t
=C2= =A0auto-fill-function nil
=C2=A0comment-multi-line t
=C2=A0comment-st= art-skip "\\(//+\\|/\\*+\\)\\s *"
=C2=A0fill-prefix nil
=C2= =A0fill-column 70
=C2=A0paragraph-start "[ ]*\\(//+\\|\\**\\)[ ]*= $\\|^\f"
=C2=A0adaptive-fill-mode t
=C2=A0adaptive-fill-regexp &= quot;[ ]*\\(//+\\|\\**\\)[ ]*\\([ ]*\\([-=E2=80=93!|#%;>*=C2=B7=E2=80= =A2=E2=80=A3=E2=81=83=E2=97=A6]+[ ]*\\)*\\)"
=C2=A0)
--0000000000005664f5058e72a5e6-- From unknown Sun Jun 22 07:54:45 2025 X-Loop: help-debbugs@gnu.org Subject: bug#36801: CC Mode 5.34 (C/*l); Weird fontification in brackets in C++ Mode Resent-From: Alan Mackenzie Original-Sender: "Debbugs-submit" Resent-CC: bug-cc-mode@gnu.org Resent-Date: Thu, 25 Jul 2019 10:37:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 36801 X-GNU-PR-Package: cc-mode X-GNU-PR-Keywords: To: Richard Copley Cc: 36801@debbugs.gnu.org Received: via spool by 36801-submit@debbugs.gnu.org id=B36801.156405099324179 (code B ref 36801); Thu, 25 Jul 2019 10:37:01 +0000 Received: (at 36801) by debbugs.gnu.org; 25 Jul 2019 10:36:33 +0000 Received: from localhost ([127.0.0.1]:38427 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hqb6v-0006Hv-5d for submit@debbugs.gnu.org; Thu, 25 Jul 2019 06:36:33 -0400 Received: from colin.muc.de ([193.149.48.1]:37589 helo=mail.muc.de) by debbugs.gnu.org with smtp (Exim 4.84_2) (envelope-from ) id 1hqb6t-0006Hm-Jm for 36801@debbugs.gnu.org; Thu, 25 Jul 2019 06:36:32 -0400 Received: (qmail 64361 invoked by uid 3782); 25 Jul 2019 09:44:02 -0000 Received: from acm.muc.de (p4FE15B58.dip0.t-ipconnect.de [79.225.91.88]) by colin.muc.de (tmda-ofmipd) with ESMTP; Thu, 25 Jul 2019 11:44:00 +0200 Received: (qmail 6837 invoked by uid 1000); 25 Jul 2019 10:36:27 -0000 Date: Thu, 25 Jul 2019 10:36:27 +0000 Message-ID: <20190725103627.GB6443@ACM> References: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.10.1 (2018-07-13) X-Delivery-Agent: TMDA/1.1.12 (Macallan) From: Alan Mackenzie X-Primary-Address: acm@muc.de X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hello, Richard. Thanks for the bug report. On Wed, Jul 24, 2019 at 20:51:47 +0100, Richard Copley wrote: > Package: cc-mode > With these buffer contents: > order[x]; > origin[y]; > counterpane[z]; > ... "x" and "y" are highlighted as types [EDIT: keywords], > and "z" is not. > Reproduced below is the story so far, which comes after a discussion > of unrelated matters at bug#36397. > On Tue, 23 Jul 2019 at 11:40, Alan Mackenzie wrote: > Hello again, Richard. > On Mon, Jul 22, 2019 at 20:47:22 +0100, Richard Copley wrote: > [ .... ] > > 3. (This one's reproducible and 'stable' -- it's dependent only > > on the current buffer contents, and not on the path that got us > > there.) With these buffer contents: > > order[x]; > > origin[y]; > > counterpane[z]; > > ... "x" and "y" are highlighted as types, and "z" is not > > (expected: none of the three subscripts are > > highlighted). There's apparently something special about the > > identifiers "order" and "origin". > OK, I've tracked this one down to a regexp not testing for end of > word. > I'm pretty sure the following patch fixes it, but would you please > do the usual with it anyway. As this changes a Lisp macro, the > entire CC Mode needs to be rebuilt after patching. And here is that patch. I'm confident that the patch is the right fix for the bug, so I will be committing it and closing the bug, unless I hear anything against it in the next day or two. diff -r 2e20f0567ddf cc-langs.el --- a/cc-langs.el Tue Jul 23 09:45:20 2019 +0000 +++ b/cc-langs.el Tue Jul 23 10:34:14 2019 +0000 @@ -1480,7 +1480,7 @@ (c-lang-defconst c-pre-lambda-tokens-re ;; Regexp matching any token in the list `c-pre-lambda-tokens'. - t (regexp-opt (c-lang-const c-pre-lambda-tokens))) + t (c-make-keywords-re t (c-lang-const c-pre-lambda-tokens))) (c-lang-defvar c-pre-lambda-tokens-re (c-lang-const c-pre-lambda-tokens-re)) ;;; Syntactic whitespace. > Package: cc-mode > Emacs : GNU Emacs 27.0.50 (build 1, x86_64-w64-mingw32) > of 2019-07-23 > Package: CC Mode 5.34 (C/*l) > Buffer Style: gnu > c-emacs-features: (pps-extended-state col-0-paren posix-char-classes > gen-string-delim gen-comment-delim syntax-properties 1-bit) [ .... ] -- Alan Mackenzie (Nuremberg, Germany). From unknown Sun Jun 22 07:54:45 2025 MIME-Version: 1.0 X-Mailer: MIME-tools 5.505 (Entity 5.505) X-Loop: help-debbugs@gnu.org From: help-debbugs@gnu.org (GNU bug Tracking System) To: Richard Copley Subject: bug#36801: closed (Re: bug#36801: CC Mode 5.34 (C/*l); Weird fontification in brackets in C++ Mode) Message-ID: References: <20190802130630.GA11966@ACM> X-Gnu-PR-Message: they-closed 36801 X-Gnu-PR-Package: cc-mode Reply-To: 36801@debbugs.gnu.org Date: Fri, 02 Aug 2019 13:07:02 +0000 Content-Type: multipart/mixed; boundary="----------=_1564751222-13867-1" This is a multi-part message in MIME format... ------------=_1564751222-13867-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Your bug report #36801: CC Mode 5.34 (C/*l); Weird fontification in brackets in C++ Mode which was filed against the cc-mode package, has been closed. The explanation is attached below, along with your original report. If you require more details, please reply to 36801@debbugs.gnu.org. --=20 36801: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D36801 GNU Bug Tracking System Contact help-debbugs@gnu.org with problems ------------=_1564751222-13867-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at 36801-done) by debbugs.gnu.org; 2 Aug 2019 13:06:38 +0000 Received: from localhost ([127.0.0.1]:56070 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1htXGX-0003b6-Sa for submit@debbugs.gnu.org; Fri, 02 Aug 2019 09:06:38 -0400 Received: from colin.muc.de ([193.149.48.1]:50185 helo=mail.muc.de) by debbugs.gnu.org with smtp (Exim 4.84_2) (envelope-from ) id 1htXGW-0003ax-0N for 36801-done@debbugs.gnu.org; Fri, 02 Aug 2019 09:06:36 -0400 Received: (qmail 4930 invoked by uid 3782); 2 Aug 2019 12:14:01 -0000 Received: from acm.muc.de (p4FE15FF0.dip0.t-ipconnect.de [79.225.95.240]) by colin.muc.de (tmda-ofmipd) with ESMTP; Fri, 02 Aug 2019 14:14:00 +0200 Received: (qmail 11985 invoked by uid 1000); 2 Aug 2019 13:06:30 -0000 Date: Fri, 2 Aug 2019 13:06:30 +0000 To: Richard Copley Subject: Re: bug#36801: CC Mode 5.34 (C/*l); Weird fontification in brackets in C++ Mode Message-ID: <20190802130630.GA11966@ACM> References: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.10.1 (2018-07-13) X-Delivery-Agent: TMDA/1.1.12 (Macallan) From: Alan Mackenzie X-Primary-Address: acm@muc.de X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 36801-done Cc: 36801-done@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hello, Richard. I've committed the patch, and I'm closing the bug. On Wed, Jul 24, 2019 at 20:51:47 +0100, Richard Copley wrote: > Package: cc-mode > With these buffer contents: > order[x]; > origin[y]; > counterpane[z]; > ... "x" and "y" are highlighted as types [EDIT: keywords], > and "z" is not. > Reproduced below is the story so far, which comes after a discussion > of unrelated matters at bug#36397. > On Tue, 23 Jul 2019 at 11:40, Alan Mackenzie wrote: > Hello again, Richard. > On Mon, Jul 22, 2019 at 20:47:22 +0100, Richard Copley wrote: > [ .... ] > > 3. (This one's reproducible and 'stable' -- it's dependent only > > on the current buffer contents, and not on the path that got us > > there.) With these buffer contents: > > order[x]; > > origin[y]; > > counterpane[z]; > > ... "x" and "y" are highlighted as types, and "z" is not > > (expected: none of the three subscripts are > > highlighted). There's apparently something special about the > > identifiers "order" and "origin". > OK, I've tracked this one down to a regexp not testing for end of > word. > I'm pretty sure the following patch fixes it, but would you please > do the usual with it anyway. As this changes a Lisp macro, the > entire CC Mode needs to be rebuilt after patching. > Thanks! -- Alan Mackenzie (Nuremberg, Germany). ------------=_1564751222-13867-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at submit) by debbugs.gnu.org; 24 Jul 2019 19:52:23 +0000 Received: from localhost ([127.0.0.1]:38090 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hqNJG-0004F5-Dk for submit@debbugs.gnu.org; Wed, 24 Jul 2019 15:52:22 -0400 Received: from mail-oi1-f177.google.com ([209.85.167.177]:40951) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hqNJE-0004Es-UJ for submit@debbugs.gnu.org; Wed, 24 Jul 2019 15:52:21 -0400 Received: by mail-oi1-f177.google.com with SMTP id w196so14579999oie.7 for ; Wed, 24 Jul 2019 12:52:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=1Qx+oJdypMOB8QYqMlmE7fj0bkCYbHsPZdVBNQIajWE=; b=iAAtmgozzWYcfP3C7zr80rSWHPfUJZMpaYN9BuE2+4bP0OrtKjK81ev152is7YBAXu GNaXBxscjCBVBpderCTEgO2MZnatbwSg/drXdRFE68fASIxiW5cB4Dstm86SYoTCdn9c aaf6sQzE3pVwHcSGElITIoSyRkep7F/21axby+2CF8KEBL4taKbHTUk90DbKkDo87rWg 67rAvhJYUT1uIvLezGN5RrbKxpWs1SHvbCy4Kj9dRTvl4dtutb1kiy+qSv2dSBmclBZE OTACSwUDa0/v4KCbXC4RvTi26BLUotpwtZ+JT82quLdgzU7h9MIafDHA+Z4OjE6VkUpt ksQg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=1Qx+oJdypMOB8QYqMlmE7fj0bkCYbHsPZdVBNQIajWE=; b=DL8GrAjPezvAgY5y+sAj42au0pWxJzxNFgzQrpI0DD0MP/W7RYXyRlkyQAArd3arxW /YMVJPe0shdY5NBeSzYBF9qiGFr8xJ1TfVhs5qdKP0LzVsk4pOYsrHTyV41VrMH3fu2Z aY7D/VWBIzDtK/Mmr/lEUnQpRFy3zKq2Z1WOuwPy7Q0Vr74U93EvUISiUfoAk2Fpq/fO lFa3+wZ+LRGXs3w2J/h2ZkqX8bygx2qw2EotLVqJHzMLx45Dg1oGsChrWmSYIy7Aclf8 6a8Ly10l55OJPHst1o2yLz9xkkSmjiIy9VogMu7t9asq3AvYJwmEbfinvT+eCjdV3EUz BRcg== X-Gm-Message-State: APjAAAUyf1wapp9+8nXDkj5bU5T53tlpv27kRUSFf7oLGKdD4fdwG9jN mi7gBxbQ3stniZwftG0C7TcV6GJjlfWeLng5tGSKZo0o4nk= X-Google-Smtp-Source: APXvYqz2quxFp6EO1h7WJaMFFMotr4/QS73+uZHCkWE2vAdd7NlgJukPEfSAE8Q1OzeD3ArN7mo5oW6Ara68i7TTQzI= X-Received: by 2002:aca:4e84:: with SMTP id c126mr36995378oib.153.1563997934870; Wed, 24 Jul 2019 12:52:14 -0700 (PDT) MIME-Version: 1.0 From: Richard Copley Date: Wed, 24 Jul 2019 20:51:47 +0100 Message-ID: Subject: CC Mode 5.34 (C/*l); Weird fontification in brackets in C++ Mode To: submit@debbugs.gnu.org Content-Type: multipart/alternative; boundary="0000000000005664f5058e72a5e6" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --0000000000005664f5058e72a5e6 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Package: cc-mode With these buffer contents: order[x]; origin[y]; counterpane[z]; ... "x" and "y" are highlighted as types [EDIT: keywords], and "z" is not. Reproduced below is the story so far, which comes after a discussion of unrelated matters at bug#36397. On Tue, 23 Jul 2019 at 11:40, Alan Mackenzie wrote: Hello again, Richard. On Mon, Jul 22, 2019 at 20:47:22 +0100, Richard Copley wrote: [ .... ] > 3. (This one's reproducible and 'stable' -- it's dependent only > on the current buffer contents, and not on the path that got us > there.) With these buffer contents: > order[x]; > origin[y]; > counterpane[z]; > ... "x" and "y" are highlighted as types, and "z" is not > (expected: none of the three subscripts are > highlighted). There's apparently something special about the > identifiers "order" and "origin". OK, I've tracked this one down to a regexp not testing for end of word. I'm pretty sure the following patch fixes it, but would you please do the usual with it anyway. As this changes a Lisp macro, the entire CC Mode needs to be rebuilt after patching. Thanks! Package: cc-mode Emacs : GNU Emacs 27.0.50 (build 1, x86_64-w64-mingw32) of 2019-07-23 Package: CC Mode 5.34 (C/*l) Buffer Style: gnu c-emacs-features: (pps-extended-state col-0-paren posix-char-classes gen-string-delim gen-comment-delim syntax-properties 1-bit) current state: =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D (setq c-basic-offset 2 c-comment-only-line-offset '(0 . 0) c-indent-comment-alist '((anchored-comment column . 0) (end-block space . 1) (cpp-end-block space . 2)) c-indent-comments-syntactically-p nil c-block-comment-prefix "" c-comment-prefix-regexp '((pike-mode . "//+!?\\|\\**") (awk-mode . "#+") (other . "//+\\|\\**")) c-doc-comment-style '((java-mode . javadoc) (pike-mode . autodoc) (c-mode . gtkdoc) (c++-mode . gtkdoc)) c-cleanup-list '(scope-operator) c-hanging-braces-alist '((substatement-open before after) (arglist-cont-nonempty)) c-hanging-colons-alist nil c-hanging-semi&comma-criteria '(c-semi&comma-inside-parenlist) c-backslash-column 48 c-backslash-max-column 72 c-special-indent-hook '(c-gnu-impose-minimum) c-label-minimum-indentation 1 c-offsets-alist '((inexpr-class . +) (inexpr-statement . +) (lambda-intro-cont . +) (inlambda . 0) (template-args-cont c-lineup-template-args +) (incomposition . +) (inmodule . +) (innamespace . +) (inextern-lang . +) (composition-close . 0) (module-close . 0) (namespace-close . 0) (extern-lang-close . 0) (composition-open . 0) (module-open . 0) (namespace-open . 0) (extern-lang-open . 0) (objc-method-call-cont c-lineup-ObjC-method-call-colons c-lineup-ObjC-method-call + ) (objc-method-args-cont . c-lineup-ObjC-method-args) (objc-method-intro . [0]) (friend . 0) (cpp-define-intro c-lineup-cpp-define +) (cpp-macro-cont . +) (cpp-macro . [0]) (inclass . +) (stream-op . c-lineup-streamop) (arglist-cont-nonempty c-lineup-gcc-asm-reg c-lineup-arglist ) (arglist-cont c-lineup-gcc-asm-reg 0) (comment-intro c-lineup-knr-region-comment c-lineup-comment ) (catch-clause . 0) (else-clause . 0) (do-while-closure . 0) (access-label . -) (case-label . 0) (substatement . +) (statement-case-intro . +) (statement . 0) (brace-entry-open . 0) (brace-list-entry . 0) (brace-list-close . 0) (block-close . 0) (block-open . 0) (inher-cont . c-lineup-multi-inher) (inher-intro . +) (member-init-cont . c-lineup-multi-inher) (member-init-intro . +) (annotation-var-cont . +) (annotation-top-cont . 0) (topmost-intro . 0) (knr-argdecl . 0) (func-decl-cont . +) (inline-close . 0) (class-close . 0) (class-open . 0) (defun-block-intro . +) (defun-close . 0) (defun-open . 0) (c . c-lineup-C-comments) (string . c-lineup-dont-change) (topmost-intro-cont first c-lineup-topmost-intro-cont c-lineup-gnu-DEFUN-intro-cont ) (brace-list-intro first c-lineup-2nd-brace-entry-in-arglist c-lineup-class-decl-init-+ + ) (brace-list-open . +) (inline-open . 0) (arglist-close . c-lineup-arglist) (arglist-intro . c-lineup-arglist-intro-after-paren) (statement-cont . +) (statement-case-open . +) (label . 0) (substatement-label . 0) (substatement-open . +) (knr-argdecl-intro . 5) (statement-block-intro . +) ) c-buffer-is-cc-mode 'c-mode c-tab-always-indent t c-syntactic-indentation t c-syntactic-indentation-in-macros t c-ignore-auto-fill '(string cpp code) c-auto-align-backslashes t c-backspace-function 'backward-delete-char-untabify c-delete-function 'delete-char c-electric-pound-behavior nil c-default-style '((java-mode . "java") (awk-mode . "awk") (other . "gnu")) c-enable-xemacs-performance-kludge-p nil c-old-style-variable-behavior nil defun-prompt-regexp nil tab-width 8 comment-column 32 parse-sexp-ignore-comments t parse-sexp-lookup-properties t auto-fill-function nil comment-multi-line t comment-start-skip "\\(//+\\|/\\*+\\)\\s *" fill-prefix nil fill-column 70 paragraph-start "[ ]*\\(//+\\|\\**\\)[ ]*$\\|^\f" adaptive-fill-mode t adaptive-fill-regexp "[ ]*\\(//+\\|\\**\\)[ ]*\\([ ]*\\([-=E2=80=93!|#%;>*= =C2=B7=E2=80=A2=E2=80=A3=E2=81=83=E2=97=A6]+[ ]*\\)*\\)" ) --0000000000005664f5058e72a5e6 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Package: cc-mode


With these buffer contents:
order[x];
origin[y];
counterpane[z];

... "x" an= d "y" are highlighted as types [EDIT: keywords],
and "z&q= uot; is not.

Reproduced below is the story so far, which comes after= a discussion
of unrelated matters at bug#36397.

On Tue, 23 Jul 2= 019 at 11:40, Alan Mackenzie <
acm@muc.de> wrote:

=C2=A0 =C2=A0 Hello again, Richard.

=C2=A0 =C2= =A0 On Mon, Jul 22, 2019 at 20:47:22 +0100, Richard Copley wrote:

= =C2=A0 =C2=A0 [ .... ]

=C2=A0 =C2=A0 > 3. (This one's reprodu= cible and 'stable' -- it's dependent only
=C2=A0 =C2=A0 >= on the current buffer contents, and not on the path that got us
=C2=A0 = =C2=A0 > there.) With these buffer contents:

=C2=A0 =C2=A0 > o= rder[x];
=C2=A0 =C2=A0 > origin[y];
=C2=A0 =C2=A0 > counterpane= [z];

=C2=A0 =C2=A0 > ... "x" and "y" are high= lighted as types, and "z" is not
=C2=A0 =C2=A0 > (expected:= none of the three subscripts are
=C2=A0 =C2=A0 > highlighted). There= 's apparently something special about the
=C2=A0 =C2=A0 > identif= iers "order" and "origin".

=C2=A0 =C2=A0 OK, I&#= 39;ve tracked this one down to a regexp not testing for end of
=C2=A0 = =C2=A0 word.

=C2=A0 =C2=A0 I'm pretty sure the following patch f= ixes it, but would you please
=C2=A0 =C2=A0 do the usual with it anyway.= =C2=A0 As this changes a Lisp macro, the
=C2=A0 =C2=A0 entire CC Mode ne= eds to be rebuilt after patching.

=C2=A0 =C2=A0 Thanks!
=C2=A0Package: cc-mode

Emacs =C2=A0: GNU Emacs 27.0.50 (build 1, x86_64-w= 64-mingw32)
=C2=A0of 2019-07-23
Package: CC Mode 5.34 (C/*l)
Buffe= r Style: gnu
c-emacs-features: (pps-extended-state col-0-paren posix-cha= r-classes gen-string-delim gen-comment-delim syntax-properties 1-bit)
current state:
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
(setq
= =C2=A0c-basic-offset 2
=C2=A0c-comment-only-line-offset '(0 . 0)
= =C2=A0c-indent-comment-alist '((anchored-comment column . 0) (end-block= space . 1)
=C2=A0(cpp-end-block space . 2))
=C2=A0c-indent-comme= nts-syntactically-p nil
=C2=A0c-block-comment-prefix ""
=C2= =A0c-comment-prefix-regexp '((pike-mode . "//+!?\\|\\**") (aw= k-mode . "#+")
=C2=A0 (other . "//+\\|\\**"))=C2=A0c-doc-comment-style '((java-mode . javadoc) (pike-mode . autodoc= )
=C2=A0 =C2=A0 =C2=A0 (c-mode . gtkdoc) (c++-mode . gtkdoc))
=C2= =A0c-cleanup-list '(scope-operator)
=C2=A0c-hanging-braces-alist = 9;((substatement-open before after)
=C2=A0(arglist-cont-nonempty))=C2=A0c-hanging-colons-alist nil
=C2=A0c-hanging-semi&comma-criter= ia '(c-semi&comma-inside-parenlist)
=C2=A0c-backslash-column 48<= br>=C2=A0c-backslash-max-column 72
=C2=A0c-special-indent-hook '(c-g= nu-impose-minimum)
=C2=A0c-label-minimum-indentation 1
=C2=A0c-offset= s-alist '((inexpr-class . +)
=C2=A0 (inexpr-statement . +)
= =C2=A0 (lambda-intro-cont . +)
=C2=A0 (inlambda . 0)
=C2=A0 (te= mplate-args-cont c-lineup-template-args +)
=C2=A0 (incomposition . +)=
=C2=A0 (inmodule . +)
=C2=A0 (innamespace . +)
=C2=A0 (i= nextern-lang . +)
=C2=A0 (composition-close . 0)
=C2=A0 (module= -close . 0)
=C2=A0 (namespace-close . 0)
=C2=A0 (extern-lang-cl= ose . 0)
=C2=A0 (composition-open . 0)
=C2=A0 (module-open . 0)=
=C2=A0 (namespace-open . 0)
=C2=A0 (extern-lang-open . 0)
= =C2=A0 (objc-method-call-cont
=C2=A0 =C2=A0c-lineup-ObjC-method-cal= l-colons
=C2=A0 =C2=A0c-lineup-ObjC-method-call
=C2=A0 =C2=A0+<= br> =C2=A0 =C2=A0)
=C2=A0 (objc-method-args-cont . c-lineup-ObjC-me= thod-args)
=C2=A0 (objc-method-intro . [0])
=C2=A0 (friend . 0)=
=C2=A0 (cpp-define-intro c-lineup-cpp-define +)
=C2=A0 (cpp-ma= cro-cont . +)
=C2=A0 (cpp-macro . [0])
=C2=A0 (inclass . +)
= =C2=A0 (stream-op . c-lineup-streamop)
=C2=A0 (arglist-cont-nonemp= ty
=C2=A0 =C2=A0c-lineup-gcc-asm-reg
=C2=A0 =C2=A0c-lineup-argl= ist
=C2=A0 =C2=A0)
=C2=A0 (arglist-cont c-lineup-gcc-asm-reg 0)=
=C2=A0 (comment-intro
=C2=A0 =C2=A0c-lineup-knr-region-comment=
=C2=A0 =C2=A0c-lineup-comment
=C2=A0 =C2=A0)
=C2=A0 (cat= ch-clause . 0)
=C2=A0 (else-clause . 0)
=C2=A0 (do-while-closur= e . 0)
=C2=A0 (access-label . -)
=C2=A0 (case-label . 0)
= =C2=A0 (substatement . +)
=C2=A0 (statement-case-intro . +)
=C2= =A0 (statement . 0)
=C2=A0 (brace-entry-open . 0)
=C2=A0 (brace= -list-entry . 0)
=C2=A0 (brace-list-close . 0)
=C2=A0 (block-cl= ose . 0)
=C2=A0 (block-open . 0)
=C2=A0 (inher-cont . c-lineup-= multi-inher)
=C2=A0 (inher-intro . +)
=C2=A0 (member-init-cont = . c-lineup-multi-inher)
=C2=A0 (member-init-intro . +)
=C2=A0 (= annotation-var-cont . +)
=C2=A0 (annotation-top-cont . 0)
=C2= =A0 (topmost-intro . 0)
=C2=A0 (knr-argdecl . 0)
=C2=A0 (func-d= ecl-cont . +)
=C2=A0 (inline-close . 0)
=C2=A0 (class-close . 0= )
=C2=A0 (class-open . 0)
=C2=A0 (defun-block-intro . +)
= =C2=A0 (defun-close . 0)
=C2=A0 (defun-open . 0)
=C2=A0 (c . c-= lineup-C-comments)
=C2=A0 (string . c-lineup-dont-change)
=C2= =A0 (topmost-intro-cont
=C2=A0 =C2=A0first
=C2=A0 =C2=A0c-lineu= p-topmost-intro-cont
=C2=A0 =C2=A0c-lineup-gnu-DEFUN-intro-cont
= =C2=A0 =C2=A0)
=C2=A0 (brace-list-intro
=C2=A0 =C2=A0first
= =C2=A0 =C2=A0c-lineup-2nd-brace-entry-in-arglist
=C2=A0 =C2=A0c-li= neup-class-decl-init-+
=C2=A0 =C2=A0+
=C2=A0 =C2=A0)
=C2= =A0 (brace-list-open . +)
=C2=A0 (inline-open . 0)
=C2=A0 (argl= ist-close . c-lineup-arglist)
=C2=A0 (arglist-intro . c-lineup-arglis= t-intro-after-paren)
=C2=A0 (statement-cont . +)
=C2=A0 (statem= ent-case-open . +)
=C2=A0 (label . 0)
=C2=A0 (substatement-labe= l . 0)
=C2=A0 (substatement-open . +)
=C2=A0 (knr-argdecl-intro= . 5)
=C2=A0 (statement-block-intro . +)
=C2=A0 )
=C2=A0c-bu= ffer-is-cc-mode 'c-mode
=C2=A0c-tab-always-indent t
=C2=A0c-synta= ctic-indentation t
=C2=A0c-syntactic-indentation-in-macros t
=C2=A0c-= ignore-auto-fill '(string cpp code)
=C2=A0c-auto-align-backslashes t=
=C2=A0c-backspace-function 'backward-delete-char-untabify
=C2=A0= c-delete-function 'delete-char
=C2=A0c-electric-pound-behavior nil=C2=A0c-default-style '((java-mode . "java") (awk-mode . &q= uot;awk") (other . "gnu"))
=C2=A0c-enable-xemacs-performa= nce-kludge-p nil
=C2=A0c-old-style-variable-behavior nil
=C2=A0defun-= prompt-regexp nil
=C2=A0tab-width 8
=C2=A0comment-column 32
=C2=A0= parse-sexp-ignore-comments t
=C2=A0parse-sexp-lookup-properties t
=C2= =A0auto-fill-function nil
=C2=A0comment-multi-line t
=C2=A0comment-st= art-skip "\\(//+\\|/\\*+\\)\\s *"
=C2=A0fill-prefix nil
=C2= =A0fill-column 70
=C2=A0paragraph-start "[ ]*\\(//+\\|\\**\\)[ ]*= $\\|^\f"
=C2=A0adaptive-fill-mode t
=C2=A0adaptive-fill-regexp &= quot;[ ]*\\(//+\\|\\**\\)[ ]*\\([ ]*\\([-=E2=80=93!|#%;>*=C2=B7=E2=80= =A2=E2=80=A3=E2=81=83=E2=97=A6]+[ ]*\\)*\\)"
=C2=A0)
--0000000000005664f5058e72a5e6-- ------------=_1564751222-13867-1--