GNU bug report logs -
#60765
CC Mode 5.35.2 (Java//l); Java incorrect type recognition
Previous Next
Reported by: Po Lu <luangruo <at> yahoo.com>
Date: Fri, 13 Jan 2023 01:33:02 UTC
Severity: normal
Done: Alan Mackenzie <acm <at> muc.de>
Bug is archived. No further changes may be made.
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 60765 in the body.
You can then email your comments to 60765 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
Report forwarded
to
bug-cc-mode <at> gnu.org
:
bug#60765
; Package
cc-mode
.
(Fri, 13 Jan 2023 01:33:02 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Po Lu <luangruo <at> yahoo.com>
:
New bug report received and forwarded. Copy sent to
bug-cc-mode <at> gnu.org
.
(Fri, 13 Jan 2023 01:33:02 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
Package: cc-mode
I thought this was only a problem in C Mode, but apparently I'm
mistaken.
Insert the following text into a Java mode buffer:
class Foo
{
public void
viewLayout (int left, int top, int right, int bottom)
{
int rectWidth, rectHeight;
synchronized (this)
{
rect.left = left;
rect.top = top;
rect.right = right;
rect.bottom = bottom;
}
EmacsNative.sendConfigureNotify (this.handle,
System.currentTimeMillis (),
left, top, rectWidth,
rectHeight);
}
}
go to the line immediately above EmacsNative.sendConfigureNotify. Then,
type:
TAB r e c t W i d t h;
`rectHeight' and `viewLayout' will appear in c-found-types. Thanks.
Emacs : GNU Emacs 30.0.50 (build 1, x86_64-pc-linux-gnu)
of 2023-01-13
Package: CC Mode 5.35.2 (Java//l)
Buffer Style: java
c-emacs-features: (pps-extended-state col-0-paren posix-char-classes gen-string-delim gen-comment-delim syntax-properties category-properties 1-bit)
current state:
==============
(setq
c-basic-offset 4
c-comment-only-line-offset '(0 . 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++-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
c-lineup-gcc-asm-reg
c-lineup-arglist
)
(arglist-cont c-lineup-gcc-asm-reg 0)
(comment-intro
c-lineup-knr-region-comment
c-lineup-comment
)
(catch-clause . 0)
(else-clause . 0)
(do-while-closure . 0)
(case-label . 0)
(substatement . +)
(statement-case-intro . +)
(statement . 0)
(brace-entry-open . 0)
(brace-list-entry . 0)
(brace-list-close . 0)
(brace-list-open . 0)
(block-close . 0)
(block-open . 0)
(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)
(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)
(func-decl-cont . c-lineup-java-throws)
(inher-cont . c-lineup-java-inher)
(access-label . 0)
(brace-list-intro
first
c-lineup-2nd-brace-entry-in-arglist
c-lineup-class-decl-init-+
+
)
(arglist-close . c-lineup-arglist)
(arglist-intro . c-lineup-arglist-intro-after-paren)
(statement-cont . +)
(statement-case-open . +)
(label . +)
(substatement-label . +)
(substatement-open . +)
(knr-argdecl-intro . 5)
(statement-block-intro . +)
(topmost-intro-cont . +)
(inline-open . 0)
)
c-buffer-is-cc-mode 'java-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 nil
tab-width 8
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 "[ ]*\\(//+\\|\\**\\)[ ]*\\(@[a-zA-Z]+\\>\\|$\\)\\|^\f"
adaptive-fill-mode t
adaptive-fill-regexp "[ ]*\\(//+\\|\\**\\)[ ]*\\([ ]*\\([-–!|#%;>*·•‣⁃◦]+[ ]*\\)*\\)"
)
Information forwarded
to
bug-cc-mode <at> gnu.org
:
bug#60765
; Package
cc-mode
.
(Mon, 16 Jan 2023 17:57:02 GMT)
Full text and
rfc822 format available.
Message #8 received at 60765 <at> debbugs.gnu.org (full text, mbox):
Hello, Po.
On Fri, Jan 13, 2023 at 09:31:53 +0800, Po Lu via CC-Mode-help wrote:
> Package: cc-mode
> I thought this was only a problem in C Mode, but apparently I'm
> mistaken.
All the modes use the same underlying engine. ;-)
> Insert the following text into a Java mode buffer:
> class Foo
> {
> public void
> viewLayout (int left, int top, int right, int bottom)
> {
> int rectWidth, rectHeight;
> synchronized (this)
> {
> rect.left = left;
> rect.top = top;
> rect.right = right;
> rect.bottom = bottom;
> }
> EmacsNative.sendConfigureNotify (this.handle,
> System.currentTimeMillis (),
> left, top, rectWidth,
> rectHeight);
> }
> }
> go to the line immediately above EmacsNative.sendConfigureNotify. Then,
> type:
> TAB r e c t W i d t h;
> `rectHeight' and `viewLayout' will appear in c-found-types. Thanks.
Yes. With the "unsafe-maybe" mechanism added to CC Mode late last year,
this was a fairly simple bug to fix. I've taken the liberty of
committing the fix to the emacs-29 branch with:
commit c1d32d9a20dc94d403725c288d168451b916c034 (HEAD -> emacs-29, origin/emacs-29, origin/HEAD)
Author: Alan Mackenzie <acm <at> muc.de>
Date: Mon Jan 16 17:44:44 2023 +0000
CC Mode: Prevent ids in temporary "declarators" getting into c-found-types
, though I haven't yet closed the bug. I'd be grateful if you could
update your emacs-29 branch with this fix, run your real Java code in
it, and confirm that the bug is indeed fixed. Thanks!
> Emacs : GNU Emacs 30.0.50 (build 1, x86_64-pc-linux-gnu)
> of 2023-01-13
> Package: CC Mode 5.35.2 (Java//l)
> Buffer Style: java
> c-emacs-features: (pps-extended-state col-0-paren posix-char-classes gen-string-delim gen-comment-delim syntax-properties category-properties 1-bit)
--
Alan Mackenzie (Nuremberg, Germany).
Information forwarded
to
bug-cc-mode <at> gnu.org
:
bug#60765
; Package
cc-mode
.
(Tue, 17 Jan 2023 05:16:02 GMT)
Full text and
rfc822 format available.
Message #11 received at 60765 <at> debbugs.gnu.org (full text, mbox):
Alan Mackenzie <acm <at> muc.de> writes:
>> Insert the following text into a Java mode buffer:
>
>> class Foo
>> {
>> public void
>> viewLayout (int left, int top, int right, int bottom)
>> {
>> int rectWidth, rectHeight;
>
>> synchronized (this)
>> {
>> rect.left = left;
>> rect.top = top;
>> rect.right = right;
>> rect.bottom = bottom;
>> }
>
>
>> EmacsNative.sendConfigureNotify (this.handle,
>> System.currentTimeMillis (),
>> left, top, rectWidth,
>> rectHeight);
>> }
>> }
>
>> go to the line immediately above EmacsNative.sendConfigureNotify. Then,
>> type:
>
>> TAB r e c t W i d t h;
>
>> `rectHeight' and `viewLayout' will appear in c-found-types. Thanks.
>
> Yes. With the "unsafe-maybe" mechanism added to CC Mode late last year,
> this was a fairly simple bug to fix. I've taken the liberty of
> committing the fix to the emacs-29 branch with:
>
> commit c1d32d9a20dc94d403725c288d168451b916c034 (HEAD -> emacs-29, origin/emacs-29, origin/HEAD)
> Author: Alan Mackenzie <acm <at> muc.de>
> Date: Mon Jan 16 17:44:44 2023 +0000
>
> CC Mode: Prevent ids in temporary "declarators" getting into c-found-types
>
> , though I haven't yet closed the bug. I'd be grateful if you could
> update your emacs-29 branch with this fix, run your real Java code in
> it, and confirm that the bug is indeed fixed. Thanks!
>
Thanks, this seems to work here.
Reply sent
to
Alan Mackenzie <acm <at> muc.de>
:
You have taken responsibility.
(Tue, 17 Jan 2023 15:57:02 GMT)
Full text and
rfc822 format available.
Notification sent
to
Po Lu <luangruo <at> yahoo.com>
:
bug acknowledged by developer.
(Tue, 17 Jan 2023 15:57:02 GMT)
Full text and
rfc822 format available.
Message #16 received at 60765-done <at> debbugs.gnu.org (full text, mbox):
Hello, Po.
On Tue, Jan 17, 2023 at 13:14:51 +0800, Po Lu wrote:
> Alan Mackenzie <acm <at> muc.de> writes:
[ .... ]
> > Yes. With the "unsafe-maybe" mechanism added to CC Mode late last year,
> > this was a fairly simple bug to fix. I've taken the liberty of
> > committing the fix to the emacs-29 branch with:
> > commit c1d32d9a20dc94d403725c288d168451b916c034 (HEAD -> emacs-29, origin/emacs-29, origin/HEAD)
> > Author: Alan Mackenzie <acm <at> muc.de>
> > Date: Mon Jan 16 17:44:44 2023 +0000
> > CC Mode: Prevent ids in temporary "declarators" getting into c-found-types
> > , though I haven't yet closed the bug. I'd be grateful if you could
> > update your emacs-29 branch with this fix, run your real Java code in
> > it, and confirm that the bug is indeed fixed. Thanks!
> Thanks, this seems to work here.
Thanks for the testing! I'm closing the bug with this post.
--
Alan Mackenzie (Nuremberg, Germany).
Information forwarded
to
bug-cc-mode <at> gnu.org
:
bug#60765
; Package
cc-mode
.
(Wed, 18 Jan 2023 00:41:02 GMT)
Full text and
rfc822 format available.
Message #19 received at 60765-done <at> debbugs.gnu.org (full text, mbox):
Alan Mackenzie <acm <at> muc.de> writes:
> Hello, Po.
>
> On Tue, Jan 17, 2023 at 13:14:51 +0800, Po Lu wrote:
>> Alan Mackenzie <acm <at> muc.de> writes:
>
> [ .... ]
>
>> > Yes. With the "unsafe-maybe" mechanism added to CC Mode late last year,
>> > this was a fairly simple bug to fix. I've taken the liberty of
>> > committing the fix to the emacs-29 branch with:
>
>> > commit c1d32d9a20dc94d403725c288d168451b916c034 (HEAD -> emacs-29, origin/emacs-29, origin/HEAD)
>> > Author: Alan Mackenzie <acm <at> muc.de>
>> > Date: Mon Jan 16 17:44:44 2023 +0000
>
>> > CC Mode: Prevent ids in temporary "declarators" getting into c-found-types
>
>> > , though I haven't yet closed the bug. I'd be grateful if you could
>> > update your emacs-29 branch with this fix, run your real Java code in
>> > it, and confirm that the bug is indeed fixed. Thanks!
>
>
>> Thanks, this seems to work here.
>
> Thanks for the testing! I'm closing the bug with this post.
OK, thanks.
bug archived.
Request was from
Debbugs Internal Request <help-debbugs <at> gnu.org>
to
internal_control <at> debbugs.gnu.org
.
(Wed, 15 Feb 2023 12:24:10 GMT)
Full text and
rfc822 format available.
This bug report was last modified 1 year and 64 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.