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]+[ ]*\\)*\\)" > )
bug-cc-mode@HIDDEN
:bug#31847
; Package cc-mode
.
Full text available.Glenn Morris <rgm@HIDDEN>
to control <at> debbugs.gnu.org
.
Full text available.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&comma-crit= eria '(c-semi&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-+&?\\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]+\\>\\|$\\)\\|^\f"</pre><pre> adaptive-fill-mode t</pre><pre> = adaptive-fill-regexp "[ ]*\\(//+\\|\\**\\)[ ]*\\([ ]*\\([-=E2=80=93!|#%;= >*=C2=B7=E2=80=A2=E2=80=A3=E2=81=83=E2=97=A6]+[ ]*\\)*\\)"</pre><pre> )= </pre><pre><br></pre></body></html> --=-7PKysYoLJAuK9ZyYaWM+--
Brian Zwahr <echosa@HIDDEN>
:help-debbugs@HIDDEN
.
Full text available.help-debbugs@HIDDEN
:bug#31847
; Package debbugs.gnu.org
.
Full text available.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997 nCipher Corporation Ltd,
1994-97 Ian Jackson.