help-debbugs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#25608: CC Mode 5.33 (C/l); Incorrect syntactic information and inden


From: Chris Wagner
Subject: bug#25608: CC Mode 5.33 (C/l); Incorrect syntactic information and indentation after multi-line comment with parenthesis or keywords
Date: Thu, 2 Feb 2017 13:45:36 +0000

Hello,

With the following c code:

/*-----------------------------------------------------------------------------
(c) Copyright notice containing open parentheses
-----------------------------------------------------------------------------*/

 /*---------------------------------------------------------------------------*/


the last line is indented incorrectly, as the identified syntactic
information is ((topmost-intro-cont 1) (comment-intro)). I think it
should be ((topmost-intro 1) (comment-intro)), which the following code
correctly identifies:

/*-----------------------------------------------------------------------------
Non parenthesis language
-----------------------------------------------------------------------------*/

/*---------------------------------------------------------------------------*/


Similarly, if there is a keyword in the comment, the next comment is
incorrectly identified and indented:

/*-----------------------------------------------------------------------------
(c) Copyright notice containing open parentheses
Line containing keyword for
-----------------------------------------------------------------------------*/

                        /*---------------------------------------------------------------------------*/

Note that indenting the comment region removes the problem:

/*-----------------------------------------------------------------------------
  (c) Copyright notice containing open parentheses
  Line containing keyword for
-----------------------------------------------------------------------------*/

/*---------------------------------------------------------------------------*/

indents correctly.

Best regards,
Chris


Emacs  : GNU Emacs 25.1.1 (x86_64-w64-mingw32)
 of 2016-09-17
Package: CC Mode 5.33 (C/l)
Buffer Style: bsd
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 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-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-statement . +)
                   (lambda-intro-cont . +)
                   (inlambda . c-lineup-inexpr-block)
                   (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-close . +)
                   (arglist-cont-nonempty c-lineup-gcc-asm-reg c-lineup-arglist)
                   (arglist-cont c-lineup-gcc-asm-reg 0)
                   (arglist-intro . +)
                   (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-open . 0)
                   (statement-case-intro . +)
                   (statement . 0)
                   (brace-entry-open . 0)
                   (brace-list-entry . 0)
                   (brace-list-intro . +)
                   (brace-list-close . 0)
                   (brace-list-open . 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-cont . c-lineup-topmost-intro-cont)
                   (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)
                   (inexpr-class . 0)
                   (inline-open . 0)
                   (statement-cont . +)
                   (label . 0)
                   (substatement-label . 0)
                   (substatement-open . 0)
                   (knr-argdecl-intro . +)
                   (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 "bsd"
 c-enable-xemacs-performance-kludge-p nil
 c-old-style-variable-behavior nil
 defun-prompt-regexp nil
 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 70
 paragraph-start "[         ]*\\(//+\\|\\**\\)[         ]*$\\|^\f"
 adaptive-fill-mode t
 adaptive-fill-regexp "[         ]*\\(//+\\|\\**\\)[         ]*\\([         ]*\\([-–!|#%;>*ยท•‣⁃◦]+[         ]*\\)*\\)"
 )


Dr Chris Wagner
Senior Consultant, Medical Technology

Cambridge Consultants
Science Park, Milton Road
Cambridge, CB4 0DW, England
Switchboard: +44 (0)1223 420024
Direct dial: +44 (0)1223 392497
Fax: +44 (0)1223 423373

address@hidden
www.CambridgeConsultants.com
 








This email is from Cambridge Consultants Limited, Science Park, Milton Road, Cambridge CB4 0DW with registered number 1036298 England. It may contain confidential information. It is intended for the addressee only and may not be copied or disclosed to any third party without our permission. If you are not the intended recipient please contact the sender as soon as possible and delete the material from any computer. If this email has been sent as a personal message to the addressee, the sender is not acting in his/her capacity as an employee or officer of Cambridge Consultants Limited and no liability is accepted for the content of any such email. Outgoing email may be monitored for the purpose of ensuring compliance with our email policy and relevant laws.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]