Package: emacs;
Reported by: 太阳 <zjyzhaojiyang <at> hotmail.com>
Date: Sun, 29 Jan 2023 08:33:03 UTC
Severity: normal
Found in version 29.0.60
Fixed in version 29.1
Done: Theodor Thornhill <theo <at> thornhill.no>
Bug is archived. No further changes may be made.
View this message in rfc822 format
From: 太阳 <zjyzhaojiyang <at> hotmail.com> To: 61142 <at> debbugs.gnu.org Subject: bug#61142: 29.0.60; java-ts-mode - Wrong indentation for the body of multiple lines conditions Date: Sun, 29 Jan 2023 04:00:46 +0000
Hi I mean for code like this: ``` public class T { public void F(String s) { if ("abc".equals(s) // if condition occupies two lines. || "bcd".equals(s)) { return; // <==== this line has one more level of indentation } } } ``` It seems that the body is indented according to the last line of the condition. If the `if` condition is rewritten to one line, `return;` is indented correctly. This also happens to multiple-line `while` (I haven't only tested `if` and `while`). Thanks for your hard work. :) In GNU Emacs 29.0.60 (build 14, x86_64-pc-linux-gnu, X toolkit, Xaw3d scroll bars) of 2023-01-29 built on tux-manjaro Repository revision: 2bd0b9475384adfb4dd2cc794bbe1d8621546717 Repository branch: makepkg Windowing system distributor 'The X.Org Foundation', version 11.0.12101006 System Description: Manjaro Linux Configured using: 'configure --prefix=/usr --sysconfdir=/etc --libexecdir=/usr/lib --localstatedir=/var --mandir=/usr/share/man --with-gameuser=:games --with-modules --without-libotf --without-m17n-flt --without-gconf --with-native-compilation=no --with-xinput2 --with-x-toolkit=lucid --with-xft --with-xaw3d --without-cairo --with-sound=no --with-tree-sitter --without-gpm --without-compress-install '--program-transform-name=s/\([ec]tags\)/\1.emacs/' 'CFLAGS=-march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection' LDFLAGS=-Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now' Configured features: ACL DBUS FREETYPE GIF GLIB GMP GNUTLS GSETTINGS HARFBUZZ JPEG JSON LCMS2 LIBSYSTEMD LIBXML2 MODULES NOTIFY INOTIFY PDUMPER PNG RSVG SECCOMP SQLITE3 THREADS TIFF TOOLKIT_SCROLL_BARS TREE_SITTER WEBP X11 XAW3D XDBE XFT XIM XINPUT2 XPM LUCID ZLIB Important settings: value of $LC_MONETARY: zh_CN.UTF-8 value of $LC_NUMERIC: zh_CN.UTF-8 value of $LC_TIME: zh_CN.UTF-8 value of $LANG: zh_CN.UTF-8 value of $XMODIFIERS: @im=fcitx locale-coding-system: utf-8 Major mode: Java Minor modes in effect: yas-global-mode: t yas-minor-mode: t winner-mode: t recentf-mode: t helm--remap-mouse-mode: t async-bytecomp-package-mode: t which-function-mode: t hl-todo-mode: t dumb-jump-mode: t yafolding-mode: t auto-dim-other-buffers-mode: t global-display-line-numbers-mode: t display-line-numbers-mode: t global-so-long-mode: t global-hl-line-mode: t super-save-mode: t ctags-global-auto-update-mode: t ctags-auto-update-mode: t highlight-symbol-mode: t hungry-delete-mode: t corfu-history-mode: t corfu-popupinfo-mode: t global-corfu-mode: t corfu-mode: t evil-escape-mode: t global-evil-surround-mode: t evil-surround-mode: t shell-dirtrack-mode: t evil-local-mode: t windmove-mode: t eww-plus-mode: t all-the-icons-ivy-rich-mode: t ivy-rich-project-root-cache-mode: t ivy-rich-mode: t ivy-mode: t global-highlight-parentheses-mode: t highlight-parentheses-mode: t electric-pair-mode: t which-key-mode: t psessionm-mode: t psessionm-savehist-mode: t ace-pinyin-global-mode: t ace-pinyin-mode: t global-anzu-mode: t anzu-mode: t amx-mode: t auto-compile-on-load-mode: t auto-compile-on-save-mode: t override-global-mode: t save-place-mode: t display-time-mode: t global-auto-revert-mode: t gcmh-mode: t tooltip-mode: t show-paren-mode: t electric-indent-mode: t mouse-wheel-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t blink-cursor-mode: t column-number-mode: t line-number-mode: t transient-mark-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t Load-path shadows: /home/lucency/.emacs.d/data/unsync/elpa29/transient-20230124.2013/transient hides /usr/share/emacs/29.0.60/lisp/transient /home/lucency/.emacs.d/data/unsync/elpa29/use-package-20221209.2013/use-package-bind-key hides /usr/share/emacs/29.0.60/lisp/use-package/use-package-bind-key /home/lucency/.emacs.d/data/unsync/elpa29/use-package-20221209.2013/use-package-diminish hides /usr/share/emacs/29.0.60/lisp/use-package/use-package-diminish /home/lucency/.emacs.d/data/unsync/elpa29/use-package-20221209.2013/use-package-lint hides /usr/share/emacs/29.0.60/lisp/use-package/use-package-lint /home/lucency/.emacs.d/data/unsync/elpa29/use-package-20221209.2013/use-package hides /usr/share/emacs/29.0.60/lisp/use-package/use-package /home/lucency/.emacs.d/data/unsync/elpa29/use-package-20221209.2013/use-package-ensure hides /usr/share/emacs/29.0.60/lisp/use-package/use-package-ensure /home/lucency/.emacs.d/data/unsync/elpa29/use-package-20221209.2013/use-package-core hides /usr/share/emacs/29.0.60/lisp/use-package/use-package-core /home/lucency/.emacs.d/data/unsync/elpa29/use-package-20221209.2013/use-package-delight hides /usr/share/emacs/29.0.60/lisp/use-package/use-package-delight /home/lucency/.emacs.d/data/unsync/elpa29/use-package-20221209.2013/use-package-jump hides /usr/share/emacs/29.0.60/lisp/use-package/use-package-jump /home/lucency/.emacs.d/data/unsync/elpa29/bind-key-20221209.2013/bind-key hides /usr/share/emacs/29.0.60/lisp/use-package/bind-key Features: (shadow mail-extr emacsbug message yank-media rfc822 mml mml-sec epa epg rfc6068 epg-config mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils sendmail rfc2047 rfc2045 ietf-drums mule-util dabbrev helm-command helm-mode modern-cpp-font-lock cc-mode cc-fonts cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs yasnippet-snippets yasnippet winner ffap recentf tree-widget tramp-archive tramp-gvfs dbus helm-x-files helm-for-files helm-bookmark helm-adaptive helm-external helm-net helm-misc helm-elisp helm-files image-dired image-dired-tags image-dired-external image-dired-util helm-buffers helm-occur helm-tags helm-locate helm-grep helm-regexp helm-eval helm-info helm-utils helm-types helm-help helm helm-global-bindings helm-easymenu helm-core async-bytecomp helm-source helm-multi-match helm-lib which-func imenu hl-todo dumb-jump yafolding auto-dim-other-buffers display-line-numbers so-long hl-line super-save ivy-stock stock-analyze stock-leek stock stock-baostock stock-tushare stock-db stock-db-tushare stock-db-baostock stock-util stock-struct csv gitec gnuplot info-look aggressive-indent java-ts-mode c-ts-common ob-rust cmake-mode rst flymake-cursor ctags-update etags fileloop highlight-symbol hungry-delete topsy treesit pb corfu-history corfu-popupinfo cape corfu cal-china-x cal-china lunar solar cal-dst holidays holiday-loaddefs language-chunk lc-memo lc-corpus lc-storage lc-db emacsql-sqlite3 emacsql emacsql-compiler lc-util lc-struct lc-const ivy-anotes anotes anotes-struct counsel-deft f f-shortdoc dash-docs gnutls doc-view jka-compr image-mode exif vterm vc-git diff-mode vc-dispatcher bookmark tramp tramp-loaddefs trampver tramp-integration tramp-compat parse-time iso8601 ls-lisp term disp-table ehelp vterm-module term/xterm xterm evil-god-state god-mode evil-escape evil-surround evil-anzu evil evil-keybindings evil-maps evil-commands reveal evil-jumps evil-command-window evil-search evil-ex shell evil-types evil-macros evil-repeat evil-states evil-core evil-common windmove calc calc-loaddefs calc-macs rect evil-digraphs evil-vars diminish eww-plus eww url-queue shr-tag-pre-highlight language-detection shrface shr pixel-fill kinsoku url-file svg xml dom puny mm-url gnus nnheader gnus-util range mm-util mail-prsvr request mailheader mail-utils bm ivy-xref ivy-hydra hydra lv all-the-icons-ivy-rich all-the-icons all-the-icons-faces data-material data-weathericons data-octicons data-fileicons data-faicons data-alltheicons ivy-rich ivy-plus pulse flymake-proc flymake warnings heap counsel xref project dired-open dired-hacks-utils dired-x dired dired-loaddefs compile text-property-search swiper ivy ivy-faces ivy-overlay colir color weblorg templatel em-glob esh-util cus-edit wid-edit files-x ox-odt rng-loc rng-uri rng-parse rng-match rng-dt rng-util rng-pttrn nxml-parse nxml-ns nxml-enc xmltok nxml-util ox-latex ox-icalendar org-agenda ox-html table ox-ascii ox-publish ox org-appear org-element org-persist xdg org-id org-refile avl-tree generator diary-lib diary-loaddefs org ob ob-tangle ob-ref ob-lob ob-table ob-exp org-macro org-src ob-comint org-pcomplete pcomplete comint ansi-osc ansi-color org-list org-footnote org-faces org-entities time-date noutline outline icons ob-emacs-lisp ob-core ob-eval org-cycle org-table ol org-fold org-fold-core org-keys oc org-loaddefs cal-menu calendar cal-loaddefs org-version org-compat org-macs highlight-parentheses log4j-mode elec-pair which-key psessionm gitignore-mode vundo pcase pyim-cstring-utils pyim-cregexp-utils pyim pyim-cloudim pyim-probe pyim-preview pyim-page popup posframe-plus posframe pyim-indicator pyim-dregcache pyim-dhashcache sort pyim-dict async pyim-autoselector pyim-process pyim-punctuation pyim-outcome pyim-candidates pyim-cstring pyim-cregexp xr rx pyim-codes pyim-imobjs pyim-pinyin pyim-entered pyim-dcache pyim-pymap pyim-scheme pyim-common ace-pinyin avy ring pinyinlib anzu thingatpt amx s transient format-spec compat ht dash use-package-diminish auto-compile ispell edmacro kmacro use-package-bind-key bind-key easy-mmode conf-mode saveplace time server pinentry autorevert filenotify tab-line doom-vibrant-theme doom-themes-ext-org doom-themes-ext-visual-bell face-remap doom-themes doom-themes-base gcmh cl-extra use-package-core delsel cus-load finder-inf amx-autoloads all-the-icons-ivy-rich-autoloads corfu-doc-autoloads dired-open-autoloads helm-autoloads helm-core-autoloads auto-compile-autoloads evil-surround-autoloads use-package-autoloads rainbow-mode-autoloads alert-autoloads cal-china-x-autoloads posframe-autoloads hungry-delete-autoloads counsel-autoloads sdcv-autoloads smart-compile-autoloads eww-lnum-autoloads elfeed-autoloads jsonian-autoloads corfu-autoloads expand-region-autoloads hide-lines-autoloads php-mode-autoloads magit-autoloads magit-section-autoloads ivy-rich-autoloads crontab-mode-autoloads yaml-mode-autoloads topsy-autoloads company-box-autoloads frame-local-autoloads dumb-jump-autoloads ivy-hydra-autoloads sql-indent-autoloads highlight-symbol-autoloads git-modes-autoloads cape-autoloads evil-tutor-autoloads pinentry-autoloads request-autoloads heap-autoloads showtip-autoloads go-mode-autoloads highlight-parentheses-autoloads powerline-autoloads ascii-table-autoloads vundo-autoloads shr-tag-pre-highlight-autoloads log4j-mode-autoloads youdao-dictionary-autoloads derived pp names edebug debug backtrace help-mode find-func names-autoloads advice gcmh-autoloads hl-todo-autoloads hydra-autoloads lv-autoloads ob-rust-autoloads rust-mode-autoloads git-commit-autoloads with-editor-autoloads chinese-word-at-point-autoloads iedit-autoloads diminish-autoloads language-detection-autoloads vterm-autoloads doom-themes-autoloads evil-anzu-autoloads anzu-autoloads popup-autoloads packed-autoloads evil-escape-autoloads evil-autoloads emacsql-sqlite3-autoloads emacsql-autoloads ace-pinyin-autoloads pinyinlib-autoloads avy-autoloads auto-dim-other-buffers-autoloads pos-tip-autoloads async-autoloads ht-autoloads yasnippet-snippets-autoloads yasnippet-autoloads templatel-autoloads gntp-autoloads eshell-toggle-autoloads xr-autoloads org-appear-autoloads gnuplot-autoloads cargo-autoloads markdown-mode-autoloads htmlize-autoloads sqlup-mode-autoloads modern-cpp-font-lock-autoloads unicad-autoloads super-save-autoloads queue-autoloads bind-key-autoloads aggressive-indent-autoloads which-key-autoloads company-statistics-autoloads company-autoloads log4e-autoloads transient-autoloads compat-autoloads csv-mode-autoloads helpful-autoloads elisp-refs-autoloads f-autoloads s-autoloads rfc-mode-autoloads web-mode-autoloads swiper-autoloads ivy-autoloads dired-hacks-utils-autoloads info dash-autoloads dockerfile-mode-autoloads all-the-icons-autoloads kv-autoloads goto-chg-autoloads bm-autoloads package-installer-package package browse-url url url-proxy url-privacy url-expand url-methods url-history url-cookie generate-lisp-file url-domsuf url-util mailcap url-handlers url-parse auth-source cl-seq eieio eieio-core cl-macs password-cache json subr-x map byte-opt gv bytecomp byte-compile url-vars cl-loaddefs cl-lib china-util rmc iso-transl tooltip cconv eldoc paren electric uniquify ediff-hook vc-hooks lisp-float-type elisp-mode mwheel term/x-win x-win term/common-win x-dnd tool-bar dnd fontset image regexp-opt fringe tabulated-list replace newcomment text-mode lisp-mode prog-mode register page tab-bar menu-bar rfn-eshadow isearch easymenu timer select scroll-bar mouse jit-lock font-lock syntax font-core term/tty-colors frame minibuffer nadvice seq simple cl-generic indonesian philippine cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese composite emoji-zwj charscript charprop case-table epa-hook jka-cmpr-hook help abbrev obarray oclosure cl-preloaded button loaddefs theme-loaddefs faces cus-face macroexp files window text-properties overlay sha1 md5 base64 format env code-pages mule custom widget keymap hashtable-print-readable backquote threads dbusbind inotify lcms2 dynamic-setting system-font-setting font-render-setting x-toolkit xinput2 x multi-tty make-network-process emacs) Memory information: ((conses 16 868713 194867) (symbols 48 55153 0) (strings 32 258665 59271) (string-bytes 1 7565062) (vectors 16 286268) (vector-slots 8 2047867 360407) (floats 8 92581 819) (intervals 56 5305 1112) (buffers 984 19)) -- 发送自 Vivaldi 邮件。访问 vivaldi.com 免费下载
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.