From: "S. David Pullara" <sdpullara@yahoo.ca>
Cc: xemacs-beta@xemacs.org, bug-cc-mode@gnu.org, bug-gnu-emacs@gnu.org
Subject: Re: CC Mode 5.28 (C++); Open brace in column 1 confuses brace matching
Date: Wed, 28 Aug 2002 11:05:06 -0400 (EDT) [thread overview]
Message-ID: <20020828150506.63115.qmail@web20204.mail.yahoo.com> (raw)
In-Reply-To: <87y9armzq8.fsf@tleepslib.sk.tsukuba.ac.jp>
(My apologies if I've cc'd too many people in this reply.)
The problem does in fact occur in GNU Emacs as well. However, it
seems to be within the cc-mode package after 5.25. With no .emacs
file and cc-mode 5.25, I couldn't reproduce the problem. When I
installed a local copy of cc-mode 5.28 then the problem reappears as
described below.
I've appended the bug report buffers for both the 5.25 and 5.28
situations under GNU Emacs.
david
ps. Thanks to all of you for your hard work; I've been using Emacs a
long time and find it indispensable.
--- "Stephen J. Turnbull" <stephen@xemacs.org> wrote:
> CC Mode maintainers: I dropped bug-gnu-emacs because I don't know if
> this manifests on GNU Emacs or not.
>
> >>>>> "S" == S David Pullara <sdpullara@yahoo.ca> writes:
>
> namespace {
> const char* hello()
> { return "hello"; }
> } //namespace
>
> MyClass::MyClass()
> {}
>
> void foo()
> {
> }
>
> S> Go to the definition of foo() and try to hit tab, or try to
> S> reindent. The mode thinks there is a brace mismatch, but if
> S> you look you'll see that there is no mismatch;
> S> blink-matching-open also sees each matching brace if you do it
> S> at each closing brace.
>
> Please report upstream to the cc-mode maintainers (use C-c C-b in
> cc-mode; we would like you to do it so they'll know exactly your
> configuration of XEmacs and cc-mode). XEmacs's "character syntax"
> functions are known to be buggy, but this doesn't seem to be due to
> any of the bugs (they have to do with comment parsing, and removing
> the comment did not help) I know about in XEmacs.
>
> On the other hand, reindenting namespace according to the "stock" (I
> have no cc-mode customizations) configuration eliminated the error.
> It seems to me that cc-mode (or perhaps XEmacs) doesn't like your
> preferred style for some reason.
>
> In particular, if _either_ of the open braces in column 1 (under
> namespace and MyClass::MyClass) are indented by one space, I get no
> error signalled when indenting the line containing "void foo". If I
> add
>
> void bar()
> {
> }
>
> following void foo() to your example (exactly as you wrote it), then I
> still get the error using TAB on void foo, but no error when using TAB
> on void bar.
>
> Do you have the same problem with GNU Emacs (if you use it)?
>
>
------------------------------------------------------------------------
> cc-mode bug report info for stephen@xemacs.org (NOT the OP)
>
> Emacs : XEmacs 21.4 (patch 9) "Informed Management (RC2)" [Lucid]
> (i686-pc-linux, Mule) of Thu Jul 4 2002 on tleepslib
> Package: CC Mode 5.28 (C++)
> Buffer Style: gnu
>
> c-emacs-features: (8-bit)
>
> current state:
> ==============
> (setq
> c-basic-offset 2
> c-comment-only-line-offset '(0 . 0)
> c-block-comment-prefix ""
> c-comment-prefix-regexp '((pike-mode . "//+!?\\|\\**") (other .
> "//+\\|\\**"))
> c-cleanup-list '(scope-operator)
> c-hanging-braces-alist '((brace-list-open) (brace-entry-open)
> (substatement-open after)
> (block-close . c-snug-do-while)
> (extern-lang-open after) (inexpr-class-open after)
> (inexpr-class-close before))
> c-hanging-colons-alist nil
> c-hanging-semi&comma-criteria '(c-semi&comma-inside-parenlist)
> c-backslash-column 48
> c-label-minimum-indentation 1
> c-offsets-alist '((string . c-lineup-dont-change)
> (c . c-lineup-C-comments)
> (defun-open . 0)
> (defun-close . 0)
> (defun-block-intro . +)
> (class-open . 0)
> (class-close . 0)
> (inline-close . 0)
> (func-decl-cont . +)
> (knr-argdecl . 0)
> (topmost-intro . 0)
> (topmost-intro-cont . 0)
> (member-init-intro . +)
> (member-init-cont . c-lineup-multi-inher)
> (inher-intro . +)
> (inher-cont . c-lineup-multi-inher)
> (block-open . 0)
> (block-close . 0)
> (brace-list-close . 0)
> (brace-list-intro . +)
> (brace-list-entry . 0)
> (brace-entry-open . 0)
> (statement . 0)
> (statement-case-intro . +)
> (substatement . +)
> (case-label . 0)
> (access-label . -)
> (do-while-closure . 0)
> (else-clause . 0)
> (catch-clause . 0)
> (comment-intro . c-lineup-comment)
> (arglist-cont . 0)
> (arglist-cont-nonempty . c-lineup-arglist)
> (stream-op . c-lineup-streamop)
> (inclass . +)
> (cpp-macro . [0])
> (cpp-macro-cont . c-lineup-dont-change)
> (friend . 0)
> (objc-method-intro . [0])
> (objc-method-args-cont . c-lineup-ObjC-method-args)
> (objc-method-call-cont . c-lineup-ObjC-method-call)
> (extern-lang-open . 0)
> (extern-lang-close . 0)
> (inextern-lang . +)
> (namespace-open . 0)
> (namespace-close . 0)
> (innamespace . +)
> (template-args-cont c-lineup-template-args +)
> (inlambda . c-lineup-inexpr-block)
> (lambda-intro-cont . +)
> (inexpr-statement . 0)
> (inexpr-class . +)
> (statement-block-intro . +)
> (knr-argdecl-intro . 5)
> (substatement-open . +)
> (label . 0)
> (statement-case-open . +)
> (statement-cont . +)
> (arglist-intro . c-lineup-arglist-intro-after-paren)
> (arglist-close . c-lineup-arglist)
> (inline-open . 0)
> (brace-list-open . +)
> )
> c-delete-function 'delete-char
> c-electric-pound-behavior nil
> c-indent-comments-syntactically-p nil
> c-tab-always-indent t
> defun-prompt-regexp nil
> tab-width 8
> comment-column 32
> parse-sexp-ignore-comments t
> signal-error-on-buffer-boundary t
> auto-fill-function nil
> comment-multi-line t
> comment-start-skip "/\\*+ *\\|//+ *"
> fill-prefix nil
> paragraph-start "[ ]*\\(//+\\|\\**\\)[ ]*$\\|^\f"
> adaptive-fill-mode t
> adaptive-fill-regexp "[ ]*\\(//+\\|\\**\\)[ ]*\\([ ]*\\([#;>*]+
> +\\)?\\)"
> )
======================================================================
To: bug-gnu-emacs@gnu.org, bug-cc-mode@gnu.org
Subject: CC Mode 5.25 (C++); problem does not seem to occur
X-Reporter-Void-Vars-Found: signal-error-on-buffer-boundary
--text follows this line--
Dear Barry and Martin,
Emacs : GNU Emacs 20.7.1 (i386-redhat-linux-gnu, X toolkit)
of Thu Aug 24 2000 on porky.devel.redhat.com
Package: CC Mode 5.25 (C++)
Buffer Style: gnu
c-emacs-features: (1-bit)
current state:
==============
(setq
c-basic-offset 2
c-offsets-alist '((string . c-lineup-dont-change)
(c . c-lineup-C-comments)
(defun-open . 0)
(defun-close . 0)
(defun-block-intro . +)
(class-open . 0)
(class-close . 0)
(inline-open . 0)
(inline-close . 0)
(func-decl-cont . +)
(knr-argdecl-intro . 5)
(knr-argdecl . 0)
(topmost-intro . 0)
(topmost-intro-cont . 0)
(member-init-intro . +)
(member-init-cont . 0)
(inher-intro . +)
(inher-cont . c-lineup-multi-inher)
(block-open . 0)
(block-close . 0)
(brace-list-open . 0)
(brace-list-close . 0)
(brace-list-intro . +)
(brace-list-entry . 0)
(brace-entry-open . 0)
(statement . 0)
(statement-cont . +)
(statement-block-intro . +)
(statement-case-intro . +)
(statement-case-open . +)
(substatement . +)
(substatement-open . +)
(case-label . 0)
(access-label . -)
(label . 0)
(do-while-closure . 0)
(else-clause . 0)
(catch-clause . 0)
(comment-intro . c-lineup-comment)
(arglist-intro . c-lineup-arglist-intro-after-paren)
(arglist-cont . 0)
(arglist-cont-nonempty . c-lineup-arglist)
(arglist-close . c-lineup-arglist)
(stream-op . c-lineup-streamop)
(inclass . +)
(cpp-macro . -1000)
(cpp-macro-cont . c-lineup-dont-change)
(friend . 0)
(objc-method-intro . -1000)
(objc-method-args-cont . c-lineup-ObjC-method-args)
(objc-method-call-cont . c-lineup-ObjC-method-call)
(extern-lang-open . 0)
(extern-lang-close . 0)
(inextern-lang . +)
(namespace-open . 0)
(namespace-close . 0)
(innamespace . +)
(template-args-cont . +)
(inlambda . c-lineup-inexpr-block)
(lambda-intro-cont . +)
(inexpr-statement . 0)
(inexpr-class . +)
)
c-cleanup-list '(scope-operator)
c-comment-only-line-offset '(0 . 0)
c-backslash-column 48
c-delete-function 'delete-char
c-electric-pound-behavior nil
c-hanging-braces-alist '((brace-list-open) (brace-entry-open)
(substatement-open after)
(block-close . c-snug-do-while)
(extern-lang-open after) (inexpr-class-open after)
(inexpr-class-close before))
c-hanging-colons-alist nil
c-hanging-comment-starter-p t
c-hanging-comment-ender-p t
c-indent-comments-syntactically-p nil
c-tab-always-indent t
c-comment-continuation-stars ""
c-label-minimum-indentation 1
defun-prompt-regexp nil
tab-width 8
comment-column 32
)
======================================================================
To: bug-gnu-emacs@gnu.org, bug-cc-mode@gnu.org
Subject: CC Mode 5.28 (C++); problem occurs
--text follows this line--
Emacs : GNU Emacs 20.7.1 (i386-redhat-linux-gnu, X toolkit)
of Thu Aug 24 2000 on porky.devel.redhat.com
Package: CC Mode 5.28 (C++)
Buffer Style: gnu
c-emacs-features: (1-bit)
current state:
==============
(setq
c-basic-offset 2
c-comment-only-line-offset '(0 . 0)
c-block-comment-prefix ""
c-comment-prefix-regexp '((pike-mode . "//+!?\\|\\**") (other .
"//+\\|\\**"))
c-cleanup-list '(scope-operator)
c-hanging-braces-alist '((brace-list-open) (brace-entry-open)
(substatement-open after)
(block-close . c-snug-do-while)
(extern-lang-open after) (inexpr-class-open after)
(inexpr-class-close before))
c-hanging-colons-alist nil
c-hanging-semi&comma-criteria '(c-semi&comma-inside-parenlist)
c-backslash-column 48
c-label-minimum-indentation 1
c-offsets-alist '((string . c-lineup-dont-change)
(c . c-lineup-C-comments)
(defun-open . 0)
(defun-close . 0)
(defun-block-intro . +)
(class-open . 0)
(class-close . 0)
(inline-close . 0)
(func-decl-cont . +)
(knr-argdecl . 0)
(topmost-intro . 0)
(topmost-intro-cont . 0)
(member-init-intro . +)
(member-init-cont . c-lineup-multi-inher)
(inher-intro . +)
(inher-cont . c-lineup-multi-inher)
(block-open . 0)
(block-close . 0)
(brace-list-close . 0)
(brace-list-intro . +)
(brace-list-entry . 0)
(brace-entry-open . 0)
(statement . 0)
(statement-case-intro . +)
(substatement . +)
(case-label . 0)
(access-label . -)
(do-while-closure . 0)
(else-clause . 0)
(catch-clause . 0)
(comment-intro . c-lineup-comment)
(arglist-cont . 0)
(arglist-cont-nonempty . c-lineup-arglist)
(stream-op . c-lineup-streamop)
(inclass . +)
(cpp-macro . [0])
(cpp-macro-cont . c-lineup-dont-change)
(friend . 0)
(objc-method-intro . [0])
(objc-method-args-cont . c-lineup-ObjC-method-args)
(objc-method-call-cont . c-lineup-ObjC-method-call)
(extern-lang-open . 0)
(extern-lang-close . 0)
(inextern-lang . +)
(namespace-open . 0)
(namespace-close . 0)
(innamespace . +)
(template-args-cont c-lineup-template-args +)
(inlambda . c-lineup-inexpr-block)
(lambda-intro-cont . +)
(inexpr-statement . 0)
(inexpr-class . +)
(statement-block-intro . +)
(knr-argdecl-intro . 5)
(substatement-open . +)
(label . 0)
(statement-case-open . +)
(statement-cont . +)
(arglist-intro . c-lineup-arglist-intro-after-paren)
(arglist-close . c-lineup-arglist)
(inline-open . 0)
(brace-list-open . +)
)
c-delete-function 'delete-char
c-electric-pound-behavior nil
c-indent-comments-syntactically-p nil
c-tab-always-indent t
defun-prompt-regexp nil
tab-width 8
comment-column 32
parse-sexp-ignore-comments t
auto-fill-function nil
comment-multi-line t
comment-start-skip "/\\*+ *\\|//+ *"
fill-prefix nil
paragraph-start "[ ]*\\(//+\\|\\**\\)[ ]*$\\|^\f"
adaptive-fill-mode t
adaptive-fill-regexp "[ ]*\\(//+\\|\\**\\)[ ]*\\([ ]*\\([-|#;>*]+
*\\|(?[0-9]+[.)] *\\)*\\)"
)
______________________________________________________________________
Post your ad for free now! http://personals.yahoo.ca
parent reply other threads:[~2002-08-28 15:05 UTC|newest]
Thread overview: expand[flat|nested] mbox.gz Atom feed
[parent not found: <87y9armzq8.fsf@tleepslib.sk.tsukuba.ac.jp>]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20020828150506.63115.qmail@web20204.mail.yahoo.com \
--to=sdpullara@yahoo.ca \
--cc=bug-cc-mode@gnu.org \
--cc=bug-gnu-emacs@gnu.org \
--cc=xemacs-beta@xemacs.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.