GNU bug report logs -
#73521
CC Mode 5.35.2 (Java//l); ER: Java mode record support
Previous Next
To reply to this bug, email your comments to 73521 AT debbugs.gnu.org.
Toggle the display of automated, internal messages from the tracker.
Report forwarded
to
bug-cc-mode <at> gnu.org
:
bug#73521
; Package
cc-mode
.
(Fri, 27 Sep 2024 22:01:01 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Arsen Arsenović <arsen <at> aarsen.me>
:
New bug report received and forwarded. Copy sent to
bug-cc-mode <at> gnu.org
.
(Fri, 27 Sep 2024 22:01:01 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
Package: cc-mode
Hi!
It'd appear that the Java mode does not support record syntax yet:
public record R(int foo)
{
public void f() {}
}
public class C
{
public void f() {}
}
... in this example, R::f is being recognized as defun-block-intro,
rather than inclass topmost-intro, like C::f is.
The record declarations are described at:
https://docs.oracle.com/javase/specs/jls/se23/html/jls-8.html#jls-RecordDeclaration
... and are quite similar to a class declaration, except the type name
is followed by something akin to a function parameter list.
The 'record' keyword is also not fontified.
Could support be added?
Thank you in advance! Have a lovely day.
(PS: I would not consider this a priority bug - the tree-sitter mode
will be okay in the meanwhile)
Emacs : GNU Emacs 31.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.42, cairo version 1.18.2)
of 2024-09-26
Package: CC Mode 5.35.2 (Java//l)
Buffer Style: gnu
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 2
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 '((substatement-open before after) (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 '(t c-gnu-impose-minimum)
c-label-minimum-indentation 1
c-offsets-alist '((inexpr-class . +)
(inexpr-statement . +)
(lambda-intro-cont . +)
(inlambda . 0)
(template-args-cont c-lineup-template-args
c-lineup-template-args-indented-from-margin)
(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)
(enum-entry . 0)
(enum-intro . +)
(enum-close . 0)
(enum-open . class-open)
(brace-entry-open . 0)
(brace-list-entry . 0)
(brace-list-close . 0)
(brace-list-open . +)
(block-close . 0)
(block-open . 0)
(inher-intro . +)
(member-init-cont . c-lineup-multi-inher)
(member-init-intro . +)
(annotation-var-cont . 0)
(annotation-top-cont . 0)
(constraint-cont . +)
(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 . +)
(inher-cont . c-lineup-multi-inher)
(access-label . -)
(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 . 0)
(substatement-label . 0)
(substatement-open . +)
(knr-argdecl-intro . 5)
(statement-block-intro . +)
(topmost-intro-cont first c-lineup-topmost-intro-cont
c-lineup-gnu-DEFUN-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 'c-do-auto-fill
comment-multi-line t
comment-start-skip "\\(?://+\\|/\\*+\\)\\s *"
fill-prefix nil
fill-column 79
paragraph-start "[ ]*\\(//+\\|\\**\\)[ ]*\\(@[a-zA-Z]+\\>\\|$\\)\\|^\f"
adaptive-fill-mode t
adaptive-fill-regexp "[ ]*\\(//+\\|\\**\\)[ ]*\\([-–!|#%;>*·•‣⁃◦ ]*\\)"
)
--
Arsen Arsenović
[signature.asc (application/pgp-signature, inline)]
This bug report was last modified 258 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.