GNU bug report logs - #31847
CC Mode 5.33.1 (PHP//l); Issues with CC mode minor modes

Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.

Package: cc-mode; Reported by: Brian Zwahr <echosa@HIDDEN>; dated Fri, 15 Jun 2018 17:31:02 UTC; Maintainer for cc-mode is bug-cc-mode@HIDDEN.

Message received at 31847 <at> debbugs.gnu.org:


Received: (at 31847) by debbugs.gnu.org; 16 Jun 2018 17:46:49 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Jun 16 13:46:49 2018
Received: from localhost ([127.0.0.1]:51987 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1fUFHl-0001OT-DG
	for submit <at> debbugs.gnu.org; Sat, 16 Jun 2018 13:46:49 -0400
Received: from eggs.gnu.org ([208.118.235.92]:39089)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <rgm@HIDDEN>) id 1fUFHj-0001J8-TU
 for 31847 <at> debbugs.gnu.org; Sat, 16 Jun 2018 13:46:48 -0400
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
 (envelope-from <rgm@HIDDEN>) id 1fUFHd-00037S-9H
 for 31847 <at> debbugs.gnu.org; Sat, 16 Jun 2018 13:46:42 -0400
X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org
X-Spam-Level: 
X-Spam-Status: No, score=-0.0 required=5.0 tests=BAYES_40 autolearn=disabled
 version=3.3.2
Received: from fencepost.gnu.org ([2001:4830:134:3::e]:39280)
 by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from <rgm@HIDDEN>)
 id 1fUFHd-00037G-5R; Sat, 16 Jun 2018 13:46:41 -0400
Received: from rgm by fencepost.gnu.org with local (Exim 4.82)
 (envelope-from <rgm@HIDDEN>)
 id 1fUFHb-0002KO-Dv; Sat, 16 Jun 2018 13:46:39 -0400
From: Glenn Morris <rgm@HIDDEN>
To: 31847 <at> debbugs.gnu.org
Subject: Re: bug#31847: CC Mode 5.33.1 (PHP//l);
 Issues with CC mode minor modes
References: <6fdf0a7dacb63cec415c9e3cefa343ac54ce3006.camel@HIDDEN>
Mail-Followup-To: 31847 <at> debbugs.gnu.org, echosa@HIDDEN
X-Spook: spy assassination Mitigation quiche U.S. Citizenship and
X-Ran: IeD0vPEXl{2=V#DL:}]A\Rz|lmcWJ%:xFp}GUt`<5F?dBwgdiho`-|NR5w+ul$SOR!Bx@#
X-Hue: yellow
X-Attribution: GM
Date: Sat, 16 Jun 2018 13:46:38 -0400
In-Reply-To: <6fdf0a7dacb63cec415c9e3cefa343ac54ce3006.camel@HIDDEN>
 (Brian Zwahr's message of "Fri, 15 Jun 2018 09:17:59 -0500")
Message-ID: <2l8t7e7hfl.fsf@HIDDEN>
User-Agent: Gnus (www.gnus.org), GNU Emacs (www.gnu.org/software/emacs/)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic]
X-Received-From: 2001:4830:134:3::e
X-Spam-Score: -5.0 (-----)
X-Debbugs-Envelope-To: 31847
Cc: Brian Zwahr <echosa@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Reply-To: 31847 <at> debbugs.gnu.org, echosa@HIDDEN
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -6.0 (------)


Report reassigned to cc-mode.

Brian Zwahr wrote:

> While using php-mode, I noticed some issues in cc modes when it comes to
> the minor modes (like subword-mode, etc).
>
> The documentation gives examples of how the mode line changes
> when these minors modes are enabled. For instance, the documentation
> says that when all the modes are enabled (in c-mode), the mode line
> should show `C/lahw`. However, when I enable them all, I see `C/*lah ,`.
>
> There are a couple of issues you'll notice here. First is that instead
> of subword-mode adding `w` to the mode line, it adds ` ,` (space comma).
>
> Second, there's an asterisk after the slash that isn't mentioned in the
> documentation. In php-mode and c++-mode, instead of an asterisk, there's
> a second slash (example: `PHP//l` or `C++//l`). It seems like this
> represents something about comment, though I'm not sure what exactly,
> nor why it is useful information.
>
> Finally, enabling c-toggle-syntactic-indentation doesn't change the mode
> line at all. It seems as though it is missing a call to
> c-update-modeline. However, the documentation also doesn't specify what
> should be added to the mode line for this one, so perhaps this is
> expected behavior. If so, should that be explicitly stated in the
> documentation? It's strange that 1 out of 5 minor modes don't change the
> mode line.
>
> I asked about this on Reddit, which is where I got some of the
> information I've added here. For reference, the post can be viewed here:
>
> https://www.reddit.com/r/emacs/comments/8r47xw/what_are_the_slashes_and_a=
sterisks_in_the/
>
> Emacs  : GNU Emacs 26.1 (build 2, x86_64-pc-linux-gnu, GTK+ Version 3.22.=
30)
>  of 2018-05-29
> Package: CC Mode 5.33.1 (PHP//l)
> Buffer Style: symfony2
> 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 4
>  c-comment-only-line-offset 0
>  c-indent-comment-alist '((anchored-comment column . 0) (end-block space =
. 1)
>                           (cpp-end-block space . 2))
>  c-indent-comments-syntactically-p t
>  c-block-comment-prefix "* "
>  c-comment-prefix-regexp '((pike-mode . "//+!?\\|\\**") (awk-mode . "#+")
>                            (other . "//+\\|\\**"))
>  c-doc-comment-style '((java-mode . javadoc) (pike-mode . autodoc) (c-mod=
e . gtkdoc))
>  c-cleanup-list '(scope-operator)
>  c-hanging-braces-alist '((brace-list-open) (brace-entry-open) (statement=
-cont)
>                           (substatement-open after) (block-close . c-snug=
-do-while)
>                           (extern-lang-open after) (namespace-open after)
>                           (module-open after) (composition-open after)
>                           (inexpr-class-open after) (inexpr-class-close b=
efore)
>                           (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 nil
>  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
>                     first
>                     php-lineup-cascaded-calls
>                     c-lineup-arglist
>                     )
>                    (arglist-cont first php-lineup-cascaded-calls 0)
>                    (comment-intro . 0)
>                    (catch-clause . 0)
>                    (else-clause . 0)
>                    (do-while-closure . 0)
>                    (access-label . -)
>                    (case-label . +)
>                    (substatement . +)
>                    (statement-case-intro . +)
>                    (statement . 0)
>                    (brace-entry-open . 0)
>                    (brace-list-entry . c-lineup-under-anchor)
>                    (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 php-lineup-cascaded-calls +)
>                    (brace-list-intro . +)
>                    (brace-list-open . 0)
>                    (inline-open . 0)
>                    (arglist-close . php-lineup-arglist-close)
>                    (arglist-intro . php-lineup-arglist-intro)
>                    (statement-cont . php-lineup-hanging-semicolon)
>                    (statement-case-open . 0)
>                    (label . +)
>                    (substatement-label . 2)
>                    (substatement-open . 0)
>                    (knr-argdecl-intro . +)
>                    (statement-block-intro . +)
>                    )
>  c-buffer-is-cc-mode 'php-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 "^\\s-*function\\s-+&?\\s-*\\(\\(\\sw\\|\\s_\\)+\\)\=
\s-*"
>  tab-width 4
>  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 78
>  paragraph-start "[ 	]*\\(//+\\|\\**\\)[ 	]*\\(@[a-zA-Z]+\\>\\|$\\)\\|^\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]+[ 	]*\\)*\\)"
>  )




Information forwarded to bug-cc-mode@HIDDEN:
bug#31847; Package cc-mode. Full text available.
bug reassigned from package 'debbugs.gnu.org' to 'cc-mode'. Request was from Glenn Morris <rgm@HIDDEN> to control <at> debbugs.gnu.org. Full text available.

Message received at submit <at> debbugs.gnu.org:


Received: (at submit) by debbugs.gnu.org; 15 Jun 2018 17:30:45 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Jun 15 13:30:45 2018
Received: from localhost ([127.0.0.1]:50624 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1fTsYf-0006PR-09
	for submit <at> debbugs.gnu.org; Fri, 15 Jun 2018 13:30:45 -0400
Received: from out2-smtp.messagingengine.com ([66.111.4.26]:60953)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <echosa@HIDDEN>) id 1fTpY9-0008T7-Rk
 for submit <at> debbugs.gnu.org; Fri, 15 Jun 2018 10:18:02 -0400
Received: from compute4.internal (compute4.nyi.internal [10.202.2.44])
 by mailout.nyi.internal (Postfix) with ESMTP id 7719621BFD
 for <submit <at> debbugs.gnu.org>; Fri, 15 Jun 2018 10:18:01 -0400 (EDT)
Received: from mailfrontend1 ([10.202.2.162])
 by compute4.internal (MEProxy); Fri, 15 Jun 2018 10:18:01 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=echosa.net; h=
 content-type:date:from:message-id:mime-version:subject:to
 :x-me-sender:x-me-sender:x-sasl-enc; s=fm3; bh=1ps2XaS464kdUu7+1
 IvRiS1didC8+OLhMPe9ledPORQ=; b=fN28KkDgCPx67RSLxTlHiwkU1ITplz+CO
 YkGmMp4+ia8dcu5KoSQsfK770Bs5JPliUfs+NAAXbasRj5oPpiNX3DeQVqjEYI79
 I3lDf2wcwh6JdfYmYwGzaSOBk3SWV4IomqqqhYPnuaPq2lK5BrmrducdEeomNzST
 Y5nHkCP4YdSyfY+PxqAK/OKY9PnU6AbwoqBfPimwrHx772El3DyAQGvABtUTc8p7
 rYWc6AAksTfw05ZpwUIybCR2QkZaGL7JaD0VP+mMbMqpJ7fxOR9PH+DtEfbt2C4G
 35Bmh1y/jJ/cdJ+d6go6RvT2j4vQUCA0dVOitIvbY3VT7N71MMDzw==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
 messagingengine.com; h=content-type:date:from:message-id
 :mime-version:subject:to:x-me-sender:x-me-sender:x-sasl-enc; s=
 fm3; bh=1ps2XaS464kdUu7+1IvRiS1didC8+OLhMPe9ledPORQ=; b=GJEeRsLv
 z65O606pWfKlwemkSXZqGNTGrREulxEG0AUPfvqiqdge0BiJc6F3Dm7Ak4hO9lDe
 DF6OEJ3PMYpg1b7S1TEIyxbT4Qs1gwUeAHZfDvdnxfy0ZviJnmcbaAGeQA0fhIAe
 5KcvJcVTHpGgyFMPSlKwPgpvRg5rCBo0ITOGgN+Ud/9k++oVibtxbmDPjS9L+f/2
 P1YTxoA+/BNMWVDDJ0hY/Nc3qBPf0Awo4eFftm3GqpqQZyzY2DIHzWwTsqRIcV9O
 AVNrEooZ4QI+1+UTZOcM9DGTltm4X8j7Cw6viKAiaWl53SenhuSKFuhbuDoTCZU6
 KFW874TXXO+S9g==
X-ME-Proxy: <xmx:mcojW3eNCpsyjj-cTPJvpl4zGICYUKx3qywhLixGhS9BQEPqfbWC2Q>
 <xmx:mcojW7tj0fmT56d7_EGM9o3kBKB0kcuphINOXxGZSjhVKSxbmtKSxw>
 <xmx:mcojW3WUIQ7_Pv4IOeiF1GzJBO28_l3ewol5PvsUWdxeCAphCzHMIw>
 <xmx:mcojW4-f71LpnxnOH8NrmQgeFaXwQhcWn3x15rmUer_oOIhoIOw3CA>
 <xmx:mcojW76nNIOFs_VNaOazp3_WyO-13HfWZsztDj9Yj1_oUeisOB92AA>
 <xmx:mcojW6nSuhmY_lW-AvHTvgT_NJlanpDFeo8J-YbLeEBeJAYblt9LLg>
X-ME-Sender: <xms:mcojWxqz2keZpnqR11nTZGRKWSWaCO_1G8MZwvQl4lkPRiTHbomSXQ>
Received: from pop-os (50-24-105-222.bcstcmtk02.res.dyn.suddenlink.net
 [50.24.105.222])
 by mail.messagingengine.com (Postfix) with ESMTPA id D7113E46C1
 for <submit <at> debbugs.gnu.org>; Fri, 15 Jun 2018 10:18:00 -0400 (EDT)
Message-ID: <6fdf0a7dacb63cec415c9e3cefa343ac54ce3006.camel@HIDDEN>
Subject: CC Mode 5.33.1 (PHP//l); Issues with CC mode minor modes
From: Brian Zwahr <echosa@HIDDEN>
To: submit <at> debbugs.gnu.org
Date: Fri, 15 Jun 2018 09:17:59 -0500
Content-Type: multipart/alternative; boundary="=-7PKysYoLJAuK9ZyYaWM+"
X-Mailer: Evolution 3.28.1-2 
Mime-Version: 1.0
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: submit
X-Mailman-Approved-At: Fri, 15 Jun 2018 13:30:42 -0400
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)


--=-7PKysYoLJAuK9ZyYaWM+
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

While using php-mode, I noticed some issues in cc modes when it comes to
the minor modes (like subword-mode, etc).

The documentation gives examples of how the mode line changes
when these minors modes are enabled. For instance, the documentation
says that when all the modes are enabled (in c-mode), the mode line
should show `C/lahw`. However, when I enable them all, I see `C/*lah ,`.

There are a couple of issues you'll notice here. First is that instead
of subword-mode adding `w` to the mode line, it adds ` ,` (space comma).

Second, there's an asterisk after the slash that isn't mentioned in the
documentation. In php-mode and c++-mode, instead of an asterisk, there's
a second slash (example: `PHP//l` or `C++//l`). It seems like this
represents something about comment, though I'm not sure what exactly,
nor why it is useful information.

Finally, enabling c-toggle-syntactic-indentation doesn't change the mode
line at all. It seems as though it is missing a call to
c-update-modeline. However, the documentation also doesn't specify what
should be added to the mode line for this one, so perhaps this is
expected behavior. If so, should that be explicitly stated in the
documentation? It's strange that 1 out of 5 minor modes don't change the
mode line.

I asked about this on Reddit, which is where I got some of the
information I've added here. For reference, the post can be viewed here:

https://www.reddit.com/r/emacs/comments/8r47xw/what_are_the_slashes_and_asterisks_in_the/

Emacs  : GNU Emacs 26.1 (build 2, x86_64-pc-linux-gnu, GTK+ Version 3.22.30)
 of 2018-05-29
Package: CC Mode 5.33.1 (PHP//l)
Buffer Style: symfony2
c-emacs-features: (pps-extended-state col-0-paren posix-char-classes gen-string-delim gen-comment-delim syntax-properties 1-bit)

current state:
==============
(setq
 c-basic-offset 4
 c-comment-only-line-offset 0
 c-indent-comment-alist '((anchored-comment column . 0) (end-block space . 1)
                          (cpp-end-block space . 2))
 c-indent-comments-syntactically-p t
 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-cleanup-list '(scope-operator)
 c-hanging-braces-alist '((brace-list-open) (brace-entry-open) (statement-cont)
                          (substatement-open after) (block-close . c-snug-do-while)
                          (extern-lang-open after) (namespace-open after)
                          (module-open after) (composition-open after)
                          (inexpr-class-open after) (inexpr-class-close before)
                          (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 nil
 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
                    first
                    php-lineup-cascaded-calls
                    c-lineup-arglist
                    )
                   (arglist-cont first php-lineup-cascaded-calls 0)
                   (comment-intro . 0)
                   (catch-clause . 0)
                   (else-clause . 0)
                   (do-while-closure . 0)
                   (access-label . -)
                   (case-label . +)
                   (substatement . +)
                   (statement-case-intro . +)
                   (statement . 0)
                   (brace-entry-open . 0)
                   (brace-list-entry . c-lineup-under-anchor)
                   (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 php-lineup-cascaded-calls +)
                   (brace-list-intro . +)
                   (brace-list-open . 0)
                   (inline-open . 0)
                   (arglist-close . php-lineup-arglist-close)
                   (arglist-intro . php-lineup-arglist-intro)
                   (statement-cont . php-lineup-hanging-semicolon)
                   (statement-case-open . 0)
                   (label . +)
                   (substatement-label . 2)
                   (substatement-open . 0)
                   (knr-argdecl-intro . +)
                   (statement-block-intro . +)
                   )
 c-buffer-is-cc-mode 'php-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 "^\\s-*function\\s-+&?\\s-*\\(\\(\\sw\\|\\s_\\)+\\)\\s-*"
 tab-width 4
 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 78
 paragraph-start "[ 	]*\\(//+\\|\\**\\)[ 	]*\\(@[a-zA-Z]+\\>\\|$\\)\\|^\f"
 adaptive-fill-mode t
 adaptive-fill-regexp "[ 	]*\\(//+\\|\\**\\)[ 	]*\\([ 	]*\\([-–!|#%;>*·•‣⁃◦]+[ 	]*\\)*\\)"
 )

--=-7PKysYoLJAuK9ZyYaWM+
Content-Type: text/html; charset="utf-8"
Content-Transfer-Encoding: quoted-printable

<html><head></head><body><pre>While using php-mode, I noticed some issues i=
n cc modes when it comes to</pre><pre>the minor modes (like subword-mode, e=
tc).</pre><pre><br></pre><pre>The documentation gives examples of how the m=
ode line changes</pre><pre>when these minors modes are enabled. For instanc=
e, the documentation</pre><pre>says that when all the modes are enabled (in=
 c-mode), the mode line</pre><pre>should show `C/lahw`. However, when I ena=
ble them all, I see `C/*lah ,`.</pre><pre><br></pre><pre>There are a couple=
 of issues you'll notice here. First is that instead</pre><pre>of subword-m=
ode adding `w` to the mode line, it adds ` ,` (space comma).</pre><pre><br>=
</pre><pre>Second, there's an asterisk after the slash that isn't mentioned=
 in the</pre><pre>documentation. In php-mode and c++-mode, instead of an as=
terisk, there's</pre><pre>a second slash (example: `PHP//l` or `C++//l`). I=
t seems like this</pre><pre>represents something about comment, though I'm =
not sure what exactly,</pre><pre>nor why it is useful information.</pre><pr=
e><br></pre><pre>Finally, enabling c-toggle-syntactic-indentation doesn't c=
hange the mode</pre><pre>line at all. It seems as though it is missing a ca=
ll to</pre><pre>c-update-modeline. However, the documentation also doesn't =
specify what</pre><pre>should be added to the mode line for this one, so pe=
rhaps this is</pre><pre>expected behavior. If so, should that be explicitly=
 stated in the</pre><pre>documentation? It's strange that 1 out of 5 minor =
modes don't change the</pre><pre>mode line.</pre><pre><br></pre><pre>I aske=
d about this on Reddit, which is where I got some of the</pre><pre>informat=
ion I've added here. For reference, the post can be viewed here:</pre><pre>=
<br></pre><pre>https://www.reddit.com/r/emacs/comments/8r47xw/what_are_the_=
slashes_and_asterisks_in_the/</pre><pre><br></pre><pre>Emacs  : GNU Emacs 2=
6.1 (build 2, x86_64-pc-linux-gnu, GTK+ Version 3.22.30)</pre><pre> of 2018=
-05-29</pre><pre>Package: CC Mode 5.33.1 (PHP//l)</pre><pre>Buffer Style: s=
ymfony2</pre><pre>c-emacs-features: (pps-extended-state col-0-paren posix-c=
har-classes gen-string-delim gen-comment-delim syntax-properties 1-bit)</pr=
e><pre><br></pre><pre>current state:</pre><pre>=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D</pre><pre>(setq</pre><pre> c-basic-offset 4</pre><pre> c-co=
mment-only-line-offset 0</pre><pre> c-indent-comment-alist '((anchored-comm=
ent column . 0) (end-block space . 1)</pre><pre>                          (=
cpp-end-block space . 2))</pre><pre> c-indent-comments-syntactically-p t</p=
re><pre> c-block-comment-prefix "* "</pre><pre> c-comment-prefix-regexp '((=
pike-mode . "//+!?\\|\\**") (awk-mode . "#+")</pre><pre>                   =
        (other . "//+\\|\\**"))</pre><pre> c-doc-comment-style '((java-mode=
 . javadoc) (pike-mode . autodoc) (c-mode . gtkdoc))</pre><pre> c-cleanup-l=
ist '(scope-operator)</pre><pre> c-hanging-braces-alist '((brace-list-open)=
 (brace-entry-open) (statement-cont)</pre><pre>                          (s=
ubstatement-open after) (block-close . c-snug-do-while)</pre><pre>         =
                 (extern-lang-open after) (namespace-open after)</pre><pre>=
                          (module-open after) (composition-open after)</pre=
><pre>                          (inexpr-class-open after) (inexpr-class-clo=
se before)</pre><pre>                          (arglist-cont-nonempty))</pr=
e><pre> c-hanging-colons-alist nil</pre><pre> c-hanging-semi&amp;comma-crit=
eria '(c-semi&amp;comma-inside-parenlist)</pre><pre> c-backslash-column 48<=
/pre><pre> c-backslash-max-column 72</pre><pre> c-special-indent-hook nil</=
pre><pre> c-label-minimum-indentation 1</pre><pre> c-offsets-alist '((inexp=
r-class . +)</pre><pre>                   (inexpr-statement . +)</pre><pre>=
                   (lambda-intro-cont . +)</pre><pre>                   (in=
lambda . 0)</pre><pre>                   (template-args-cont c-lineup-templ=
ate-args +)</pre><pre>                   (incomposition . +)</pre><pre>    =
               (inmodule . +)</pre><pre>                   (innamespace . +=
)</pre><pre>                   (inextern-lang . +)</pre><pre>              =
     (composition-close . 0)</pre><pre>                   (module-close . 0=
)</pre><pre>                   (namespace-close . 0)</pre><pre>            =
       (extern-lang-close . 0)</pre><pre>                   (composition-op=
en . 0)</pre><pre>                   (module-open . 0)</pre><pre>          =
         (namespace-open . 0)</pre><pre>                   (extern-lang-ope=
n . 0)</pre><pre>                   (objc-method-call-cont</pre><pre>      =
              c-lineup-ObjC-method-call-colons</pre><pre>                  =
  c-lineup-ObjC-method-call</pre><pre>                    +</pre><pre>     =
               )</pre><pre>                   (objc-method-args-cont . c-li=
neup-ObjC-method-args)</pre><pre>                   (objc-method-intro . [0=
])</pre><pre>                   (friend . 0)</pre><pre>                   (=
cpp-define-intro c-lineup-cpp-define +)</pre><pre>                   (cpp-m=
acro-cont . +)</pre><pre>                   (cpp-macro . [0])</pre><pre>   =
                (inclass . +)</pre><pre>                   (stream-op . c-l=
ineup-streamop)</pre><pre>                   (arglist-cont-nonempty</pre><p=
re>                    first</pre><pre>                    php-lineup-casca=
ded-calls</pre><pre>                    c-lineup-arglist</pre><pre>        =
            )</pre><pre>                   (arglist-cont first php-lineup-c=
ascaded-calls 0)</pre><pre>                   (comment-intro . 0)</pre><pre=
>                   (catch-clause . 0)</pre><pre>                   (else-c=
lause . 0)</pre><pre>                   (do-while-closure . 0)</pre><pre>  =
                 (access-label . -)</pre><pre>                   (case-labe=
l . +)</pre><pre>                   (substatement . +)</pre><pre>          =
         (statement-case-intro . +)</pre><pre>                   (statement=
 . 0)</pre><pre>                   (brace-entry-open . 0)</pre><pre>       =
            (brace-list-entry . c-lineup-under-anchor)</pre><pre>          =
         (brace-list-close . 0)</pre><pre>                   (block-close .=
 0)</pre><pre>                   (block-open . 0)</pre><pre>               =
    (inher-cont . c-lineup-multi-inher)</pre><pre>                   (inher=
-intro . +)</pre><pre>                   (member-init-cont . c-lineup-multi=
-inher)</pre><pre>                   (member-init-intro . +)</pre><pre>    =
               (annotation-var-cont . +)</pre><pre>                   (anno=
tation-top-cont . 0)</pre><pre>                   (topmost-intro . 0)</pre>=
<pre>                   (knr-argdecl . 0)</pre><pre>                   (fun=
c-decl-cont . +)</pre><pre>                   (inline-close . 0)</pre><pre>=
                   (class-close . 0)</pre><pre>                   (class-op=
en . 0)</pre><pre>                   (defun-block-intro . +)</pre><pre>    =
               (defun-close . 0)</pre><pre>                   (defun-open .=
 0)</pre><pre>                   (c . c-lineup-C-comments)</pre><pre>      =
             (string . c-lineup-dont-change)</pre><pre>                   (=
topmost-intro-cont first php-lineup-cascaded-calls +)</pre><pre>           =
        (brace-list-intro . +)</pre><pre>                   (brace-list-ope=
n . 0)</pre><pre>                   (inline-open . 0)</pre><pre>           =
        (arglist-close . php-lineup-arglist-close)</pre><pre>              =
     (arglist-intro . php-lineup-arglist-intro)</pre><pre>                 =
  (statement-cont . php-lineup-hanging-semicolon)</pre><pre>               =
    (statement-case-open . 0)</pre><pre>                   (label . +)</pre=
><pre>                   (substatement-label . 2)</pre><pre>               =
    (substatement-open . 0)</pre><pre>                   (knr-argdecl-intro=
 . +)</pre><pre>                   (statement-block-intro . +)</pre><pre>  =
                 )</pre><pre> c-buffer-is-cc-mode 'php-mode</pre><pre> c-ta=
b-always-indent t</pre><pre> c-syntactic-indentation t</pre><pre> c-syntact=
ic-indentation-in-macros t</pre><pre> c-ignore-auto-fill '(string cpp code)=
</pre><pre> c-auto-align-backslashes t</pre><pre> c-backspace-function 'bac=
kward-delete-char-untabify</pre><pre> c-delete-function 'delete-char</pre><=
pre> c-electric-pound-behavior nil</pre><pre> c-default-style '((java-mode =
. "java") (awk-mode . "awk") (other . "gnu"))</pre><pre> c-enable-xemacs-pe=
rformance-kludge-p nil</pre><pre> c-old-style-variable-behavior nil</pre><p=
re> defun-prompt-regexp "^\\s-*function\\s-+&amp;?\\s-*\\(\\(\\sw\\|\\s_\\)=
+\\)\\s-*"</pre><pre> tab-width 4</pre><pre> comment-column 32</pre><pre> p=
arse-sexp-ignore-comments t</pre><pre> parse-sexp-lookup-properties t</pre>=
<pre> auto-fill-function nil</pre><pre> comment-multi-line t</pre><pre> com=
ment-start-skip "\\(//+\\|/\\*+\\)\\s *"</pre><pre> fill-prefix nil</pre><p=
re> fill-column 78</pre><pre> paragraph-start "[ 	]*\\(//+\\|\\**\\)[ 	]*\\=
(@[a-zA-Z]+\\&gt;\\|$\\)\\|^\f"</pre><pre> adaptive-fill-mode t</pre><pre> =
adaptive-fill-regexp "[ 	]*\\(//+\\|\\**\\)[ 	]*\\([ 	]*\\([-=E2=80=93!|#%;=
&gt;*=C2=B7=E2=80=A2=E2=80=A3=E2=81=83=E2=97=A6]+[ 	]*\\)*\\)"</pre><pre> )=
</pre><pre><br></pre></body></html>
--=-7PKysYoLJAuK9ZyYaWM+--





Acknowledgement sent to Brian Zwahr <echosa@HIDDEN>:
New bug report received and forwarded. Copy sent to help-debbugs@HIDDEN. Full text available.
Report forwarded to help-debbugs@HIDDEN:
bug#31847; Package debbugs.gnu.org. Full text available.
Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.
Last modified: Mon, 25 Nov 2019 12:00:02 UTC

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