From unknown Tue Jun 17 22:29:29 2025
X-Loop: help-debbugs@gnu.org
Subject: bug#31847: CC Mode 5.33.1 (PHP//l); Issues with CC mode minor modes
Resent-From: Brian Zwahr
Original-Sender: "Debbugs-submit"
Resent-CC: help-debbugs@gnu.org
Resent-Date: Fri, 15 Jun 2018 17:31:02 +0000
Resent-Message-ID:
Resent-Sender: help-debbugs@gnu.org
X-GNU-PR-Message: report 31847
X-GNU-PR-Package: debbugs.gnu.org
X-GNU-PR-Keywords:
To: 31847@debbugs.gnu.org
X-Debbugs-Original-To: submit@debbugs.gnu.org
Received: via spool by submit@debbugs.gnu.org id=B.152908384524652
(code B ref -1); Fri, 15 Jun 2018 17:31:02 +0000
Received: (at submit) by debbugs.gnu.org; 15 Jun 2018 17:30:45 +0000
Received: from localhost ([127.0.0.1]:50624 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from )
id 1fTsYf-0006PR-09
for submit@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 ) id 1fTpY9-0008T7-Rk
for submit@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 ; 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:
X-ME-Sender:
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 ; Fri, 15 Jun 2018 10:18:00 -0400 (EDT)
Message-ID: <6fdf0a7dacb63cec415c9e3cefa343ac54ce3006.camel@echosa.net>
From: Brian Zwahr
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-Mailman-Approved-At: Fri, 15 Jun 2018 13:30:42 -0400
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.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
While using php-mode, I noticed some issues i=
n cc modes when it comes to
the minor modes (like subword-mode, e=
tc).
The documentation gives examples of how the m=
ode line changes
when these minors modes are enabled. For instanc=
e, the documentation
says that when all the modes are enabled (in=
c-mode), the mode line
should show `C/lahw`. However, when I ena=
ble them all, I see `C/*lah ,`.
There are a couple=
of issues you'll notice here. First is that instead
of subword-m=
ode 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 as=
terisk, there's
a second slash (example: `PHP//l` or `C++//l`). I=
t 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 c=
hange the mode
line at all. It seems as though it is missing a ca=
ll to
c-update-modeline. However, the documentation also doesn't =
specify what
should be added to the mode line for this one, so pe=
rhaps 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 aske=
d about this on Reddit, which is where I got some of the
informat=
ion 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 2=
6.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: s=
ymfony2
c-emacs-features: (pps-extended-state col-0-paren posix-c=
har-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-co=
mment-only-line-offset 0
c-indent-comment-alist '((anchored-comm=
ent 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-l=
ist '(scope-operator)
c-hanging-braces-alist '((brace-list-open)=
(brace-entry-open) (statement-cont)
(s=
ubstatement-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-clo=
se before)
(arglist-cont-nonempty)) c-hanging-colons-alist nil
c-hanging-semi&comma-crit=
eria '(c-semi&comma-inside-parenlist)
c-backslash-column 48<=
/pre> c-backslash-max-column 72
c-special-indent-hook nil=
pre> c-label-minimum-indentation 1
c-offsets-alist '((inexp=
r-class . +)
(inexpr-statement . +)
=
(lambda-intro-cont . +)
(in=
lambda . 0)
(template-args-cont c-lineup-templ=
ate-args +)
(incomposition . +)
=
(inmodule . +)
(innamespace . +=
)
(inextern-lang . +)
=
(composition-close . 0)
(module-close . 0=
)
(namespace-close . 0)
=
(extern-lang-close . 0)
(composition-op=
en . 0)
(module-open . 0)
=
(namespace-open . 0)
(extern-lang-ope=
n . 0)
(objc-method-call-cont
=
c-lineup-ObjC-method-call-colons
=
c-lineup-ObjC-method-call
+
=
)
(objc-method-args-cont . c-li=
neup-ObjC-method-args)
(objc-method-intro . [0=
])
(friend . 0)
(=
cpp-define-intro c-lineup-cpp-define +)
(cpp-m=
acro-cont . +)
(cpp-macro . [0])
=
(inclass . +)
(stream-op . c-l=
ineup-streamop)
(arglist-cont-nonempty
first
php-lineup-casca=
ded-calls
c-lineup-arglist
=
)
(arglist-cont first php-lineup-c=
ascaded-calls 0)
(comment-intro . 0)
(catch-clause . 0)
(else-c=
lause . 0)
(do-while-closure . 0)
=
(access-label . -)
(case-labe=
l . +)
(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 . +)
(anno=
tation-top-cont . 0)
(topmost-intro . 0)
=
(knr-argdecl . 0)
(fun=
c-decl-cont . +)
(inline-close . 0)
=
(class-close . 0)
(class-op=
en . 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-ope=
n . 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-ta=
b-always-indent t
c-syntactic-indentation t
c-syntact=
ic-indentation-in-macros t
c-ignore-auto-fill '(string cpp code)=
c-auto-align-backslashes t
c-backspace-function 'bac=
kward-delete-char-untabify
c-delete-function 'delete-char
<=
pre> c-electric-pound-behavior nil
c-default-style '((java-mode =
. "java") (awk-mode . "awk") (other . "gnu"))
c-enable-xemacs-pe=
rformance-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
p=
arse-sexp-ignore-comments t
parse-sexp-lookup-properties t
=
auto-fill-function nil
comment-multi-line t
com=
ment-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]+[ ]*\\)*\\)"
)=
--=-7PKysYoLJAuK9ZyYaWM+--
From debbugs-submit-bounces@debbugs.gnu.org Sat Jun 16 13:43:42 2018
Received: (at control) by debbugs.gnu.org; 16 Jun 2018 17:43:42 +0000
Received: from localhost ([127.0.0.1]:51974 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from )
id 1fUFEi-00081Q-V3
for submit@debbugs.gnu.org; Sat, 16 Jun 2018 13:43:42 -0400
Received: from eggs.gnu.org ([208.118.235.92]:38489)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from ) id 1fUFEh-00081D-0g
for control@debbugs.gnu.org; Sat, 16 Jun 2018 13:43:39 -0400
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
(envelope-from ) id 1fUFEb-0000Gn-Bv
for control@debbugs.gnu.org; Sat, 16 Jun 2018 13:43:33 -0400
X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org
X-Spam-Level:
X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=disabled
version=3.3.2
Received: from fencepost.gnu.org ([2001:4830:134:3::e]:39257)
by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from )
id 1fUFEb-0000Gc-7z
for control@debbugs.gnu.org; Sat, 16 Jun 2018 13:43:33 -0400
Received: from rgm by fencepost.gnu.org with local (Exim 4.82)
(envelope-from ) id 1fUFEa-00025H-V5
for control@debbugs.gnu.org; Sat, 16 Jun 2018 13:43:33 -0400
Subject: control message for bug 31847
To:
X-Mailer: mail (GNU Mailutils 2.99.98)
Message-Id:
From: Glenn Morris
Date: Sat, 16 Jun 2018 13:43:32 -0400
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: control
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: -6.0 (------)
reassign 31847 cc-mode
From unknown Tue Jun 17 22:29:29 2025
X-Loop: help-debbugs@gnu.org
Subject: bug#31847: CC Mode 5.33.1 (PHP//l); Issues with CC mode minor modes
Resent-From: Glenn Morris
Original-Sender: "Debbugs-submit"
Resent-CC: bug-cc-mode@gnu.org
Resent-Date: Sat, 16 Jun 2018 17:47:02 +0000
Resent-Message-ID:
Resent-Sender: help-debbugs@gnu.org
X-GNU-PR-Message: followup 31847
X-GNU-PR-Package: cc-mode
X-GNU-PR-Keywords:
To: 31847@debbugs.gnu.org
Cc: Brian Zwahr
Reply-To: 31847@debbugs.gnu.org, echosa@echosa.net
Received: via spool by 31847-submit@debbugs.gnu.org id=B31847.15291712095386
(code B ref 31847); Sat, 16 Jun 2018 17:47:02 +0000
Received: (at 31847) by debbugs.gnu.org; 16 Jun 2018 17:46:49 +0000
Received: from localhost ([127.0.0.1]:51987 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from )
id 1fUFHl-0001OT-DG
for submit@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 ) id 1fUFHj-0001J8-TU
for 31847@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 ) id 1fUFHd-00037S-9H
for 31847@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 )
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 )
id 1fUFHb-0002KO-Dv; Sat, 16 Jun 2018 13:46:39 -0400
From: Glenn Morris
References: <6fdf0a7dacb63cec415c9e3cefa343ac54ce3006.camel@echosa.net>
Mail-Followup-To: 31847@debbugs.gnu.org, echosa@echosa.net
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@echosa.net>
(Brian Zwahr's message of "Fri, 15 Jun 2018 09:17:59 -0500")
Message-ID: <2l8t7e7hfl.fsf@fencepost.gnu.org>
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-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: -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]+[ ]*\\)*\\)"
> )