Package: emacs;
Reported by: yingchao.yang <at> seaboxdata.com
Date: Tue, 27 Dec 2022 08:49:02 UTC
Severity: normal
Found in version 29.0.60
Done: Yuan Fu <casouri <at> gmail.com>
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 60351 in the body.
You can then email your comments to 60351 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
View this report as an mbox folder, status mbox, maintainer mbox
bug-gnu-emacs <at> gnu.org
:bug#60351
; Package emacs
.
(Tue, 27 Dec 2022 08:49:02 GMT) Full text and rfc822 format available.yingchao.yang <at> seaboxdata.com
:bug-gnu-emacs <at> gnu.org
.
(Tue, 27 Dec 2022 08:49:02 GMT) Full text and rfc822 format available.Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
From: Yang Yingchao <yang.yingchao <at> qq.com> To: bug-gnu-emacs <at> gnu.org Cc: yingchao.yang <at> seaboxdata.com Subject: 29.0.60; bad syntanx table in c++-ts-mode Date: Tue, 27 Dec 2022 13:48:21 +0800
[Message part 1 (text/plain, inline)]
1. start emacs with emacs -Q 2. open a buffer, M-x c++-ts-mode, theninsert following codes: int main(int argc, char *argv[]) { if (0) { a->func(); } return 0; } 3. move cursor to line 3, before the bracket 4. C-M-n (forward-list), and cursor will be placed at line 4, right after "->" I think this might be an regression after commit 480f41c7deb4d3a45a862a5308950b35085f835d Regargds In GNU Emacs 29.0.60 (build 30, x86_64-pc-linux-gnu, GTK+ Version 3.24.35, cairo version 1.17.6) of 2022-12-27 built on tbook Repository revision: 03d8fe28bc9ec4262fd0e7e763a6eae73838deb1 Repository branch: yc-hacking System Description: Gentoo Linux Configured using: 'configure 'CFLAGS=-O2 -g -pipe -march=native -ggdb3' 'LDFLAGS=-Wl,-O2 -Wl,--as-needed' --prefix=/usr --build=x86_64-pc-linux-gnu --host=x86_64-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib --datarootdir=/usr/share --disable-silent-rules --docdir=/usr/share/doc/emacs-29.0.9999-r1 --htmldir=/usr/share/doc/emacs-29.0.9999-r1/html --libdir=/usr/lib64 --program-suffix=-emacs-29-vcs --includedir=/usr/include/emacs-29-vcs --infodir=/usr/share/info/emacs-29-vcs --localstatedir=/var --enable-locallisppath=/etc/emacs:/usr/share/emacs/site-lisp --without-compress-install --without-hesiod --without-pop --with-file-notification=inotify --with-pdumper --enable-acl --with-dbus --with-modules --without-gameuser --with-libgmp --without-gpm --with-native-compilation --with-json --without-kerberos --without-kerberos5 --with-lcms2 --with-xml2 --without-mailutils --without-selinux --with-sqlite3 --with-gnutls --with-libsystemd --with-threads --with-wide-int --with-zlib --with-sound=alsa --with-pgtk --without-x --without-ns --with-toolkit-scroll-bars --without-gconf --without-gsettings --with-harfbuzz --without-libotf --without-m17n-flt --without-xwidgets --with-gif --with-jpeg --with-png --with-rsvg --with-tiff --with-webp --with-imagemagick --with-dumping=pdumper build_alias=x86_64-pc-linux-gnu host_alias=x86_64-pc-linux-gnu PKG_CONFIG_PATH=/home/yyc/.local/lib/pkgconfig' Configured features: ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS HARFBUZZ IMAGEMAGICK JPEG JSON LCMS2 LIBSYSTEMD LIBXML2 MODULES NATIVE_COMP NOTIFY INOTIFY PDUMPER PGTK PNG RSVG SECCOMP SOUND SQLITE3 THREADS TIFF TOOLKIT_SCROLL_BARS TREE_SITTER WEBP XIM GTK3 ZLIB Important settings: value of $LANG: zh_CN.utf8 value of $XMODIFIERS: @im=fcitx locale-coding-system: utf-8 Major mode: Helpful Minor modes in effect: org-msg-mode: t global-git-commit-mode: t magit-auto-revert-mode: t shell-dirtrack-mode: t recentf-mode: t marginalia-mode: t projectile-mode: t super-save-mode: t ws-butler-global-mode: t ws-butler-mode: t dtrt-indent-global-mode: t which-key-mode: t global-so-long-mode: t gcmh-mode: t yas-global-mode: t yas-minor-mode: t global-company-mode: t company-mode: t which-function-mode: t auto-image-file-mode: t global-atomic-chrome-edit-mode: t smartparens-global-mode: t global-undo-tree-mode: t undo-tree-mode: t server-mode: t savehist-mode: t vertico-mode: t override-global-mode: t straight-use-package-mode: t tooltip-mode: t global-eldoc-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 buffer-read-only: t line-number-mode: t auto-fill-function: yas--auto-fill transient-mark-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t Load-path shadows: /home/yyc/.emacs.d/straight/build/cmake-mode/cmake-mode hides /usr/share/emacs/site-lisp/cmake-mode /home/yyc/.emacs.d/straight/build/transient/transient hides /home/yyc/Work/emacs/lisp/transient /home/yyc/.emacs.d/straight/build/eldoc/eldoc hides /home/yyc/Work/emacs/lisp/emacs-lisp/eldoc /home/yyc/.emacs.d/straight/build/let-alist/let-alist hides /home/yyc/Work/emacs/lisp/emacs-lisp/let-alist Features: (shadow org-msg htmlize gnus-msg gnus-icalendar org-protocol org-capture icalendar diary-lib diary-loaddefs gnus-dired gnus-cite mu4e mu4e-org mu4e-main mu4e-view mu4e-headers mu4e-compose mu4e-draft mu4e-actions smtpmail mu4e-search mu4e-lists mu4e-bookmarks mu4e-mark mu4e-message flow-fill mu4e-contacts mu4e-update mu4e-folders mu4e-server mu4e-context mu4e-vars mu4e-helpers mu4e-config ido cl-print consult-eww embark-org embark-consult embark ygit consult-tramp-docker tramp-container request git-rebase magit-extras vc vc-dispatcher goto-addr conf-mode emacsbug timezone helpful cc-langs trace edebug debug backtrace info-look elisp-refs bug-reference help-fns radix-tree ffap consult-utils tabify url-http url-gw url-cache url-auth tdict vterm tramp tramp-loaddefs trampver tramp-integration cus-edit cus-start cus-load files-x tramp-compat ls-lisp face-remap term ehelp term/xterm xterm vterm-module pulse consult-xref smart-hungry-delete consult-woman woman man lsp-headerline lsp-icons company-shell sh-script smie misearch multi-isearch ace-window mule-util flycheck-popup-tip flycheck lsp-diagnostics view lsp-zig lsp-steep lsp-svelte lsp-sqls lsp-ruby-syntax-tree lsp-yaml lsp-xml lsp-vimscript lsp-vhdl lsp-volar lsp-vetur lsp-html lsp-verilog lsp-vala lsp-v lsp-typeprof lsp-ttcn3 lsp-toml lsp-terraform lsp-tex lsp-sorbet lsp-solargraph lsp-rust lsp-rf lsp-remark lsp-racket lsp-r lsp-purescript lsp-pylsp lsp-pyls lsp-pwsh lsp-php lsp-pls lsp-perlnavigator lsp-perl lsp-openscad lsp-ocaml lsp-magik lsp-nix lsp-nim lsp-nginx lsp-mint lsp-marksman lsp-markdown lsp-lua lsp-kotlin lsp-json lsp-javascript lsp-idris lsp-haxe lsp-groovy lsp-hack lsp-graphql lsp-gleam lsp-go lsp-completion lsp-gdscript lsp-fsharp lsp-fortran lsp-eslint lsp-erlang lsp-emmet lsp-elixir lsp-elm lsp-dockerfile lsp-dhall lsp-d lsp-css lsp-csharp lsp-crystal lsp-cmake lsp-clojure lsp-semantic-tokens lsp-beancount lsp-bash lsp-astro lsp-ansible lsp-angular lsp-ada lsp-actionscript prog-utils consult-imenu ycv gxref yc-filter-lines-mode semantic/util-modes semantic/util semantic semantic/tag semantic/lex semantic/fw cedet srecode mode-local lsp lsp-clangd highlight-parentheses emr-c c-utils lsp-mode lsp-protocol xref spinner network-stream nsm smartparens-markdown markdown-mode edit-indirect color lv inline ht ewoc smartparens-c cc-mode cc-fonts cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs c-ts-mode treesit magit-bookmark magit-submodule magit-obsolete magit-blame magit-stash magit-reflog magit-bisect magit-push magit-pull magit-fetch magit-clone magit-remote magit-commit magit-sequence magit-notes magit-worktree magit-tag magit-merge magit-branch magit-reset magit-files magit-refs magit-status magit package url-handlers magit-repos magit-apply magit-wip magit-log magit-diff smerge-mode diff-mode git-commit log-edit pcvs-util add-log magit-core magit-autorevert autorevert magit-margin magit-transient magit-process with-editor magit-mode transient magit-git magit-base magit-section crm compat-27 compat-26 dired-aux orderless vertico-directory vertico-repeat cursor-sensor consult-projectile hl-line flyspell ispell oc-basic ol-eww eww mm-url ol-rmail ol-mhe ol-irc ol-info ol-gnus nnselect gnus-art mm-uu mml2015 mm-view mml-smime smime gnutls dig gnus-sum gnus-group gnus-undo gnus-start gnus-dbus dbus gnus-cloud nnimap nnmail mail-source utf7 nnoo parse-time gnus-spec gnus-int gnus-range gnus-win gnus nnheader range ol-docview doc-view filenotify jka-compr image-mode exif ol-bibtex bibtex iso8601 ol-bbdb ol-w3m ol-doi org-link-doi yc-utils executable rect async consult-vertico consult compat-28 compat compat-macs f f-shortdoc shortdoc elfeed-org elfeed-show elfeed-search autoinsert bookmark message sendmail yank-media dired dired-loaddefs rfc822 mml mml-sec epa derived epg rfc6068 epg-config gnus-util mm-decode mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045 mm-util ietf-drums mail-prsvr mailabbrev mail-utils gmm-utils mailheader shrface org-superstar smartparens-org ob-sql ob-shell shell ob-gnuplot ob-plantuml ob-dot ob-ditaa org-indent ox-plus ox-gfm ox-md 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-element org-persist xdg org-id org-refile org ob ob-tangle ob-ref ob-lob ob-table ob-exp org-macro org-src ob-comint org-pcomplete pcomplete org-list org-footnote org-faces org-entities noutline outline ob-emacs-lisp ob-core ob-eval org-cycle org-table ol org-fold org-fold-core org-keys oc org-loaddefs find-func cal-menu calendar cal-loaddefs org-version org-compat org-macs format-spec shr pixel-fill kinsoku puny svg dom elfeed-csv elfeed elfeed-curl elfeed-log elfeed-db elfeed-lib avl-tree generator url-queue url-file browse-url url url-proxy url-privacy url-expand url-methods url-history mailcap xml-query xml tb-dark-theme pp recentf tree-widget wid-edit marginalia comp comp-cstr warnings icons projectile project lisp-mnt grep compile text-property-search comint ansi-osc ansi-color ibuf-ext ibuffer ibuffer-loaddefs super-save ws-butler dtrt-indent which-key so-long ace-link avy ring gcmh yasnippet company-files company-capf company-yasnippet company emr-others emr-iedit iedit iedit-lib emr-lsp time-date which-func imenu emr popup image-file image-converter atomic-chrome websocket url-cookie generate-lisp-file url-domsuf url-util url-parse auth-source eieio eieio-core password-cache url-vars bindat let-alist json map s smartparens-config smartparens-text smartparens byte-opt thingatpt undo-tree diff queue server pinentry 99-priv 071-miscs-vcs gitlab-ci-mode-flycheck-autoloads gitlab-ci-mode-autoloads magit-autoloads git-commit-autoloads 07-other-modes po-mode-autoloads baidu-translate-autoloads names-autoloads advice with-editor-autoloads pinentry-autoloads org-msg-autoloads docker-autoloads transient-autoloads aio-autoloads rime-autoloads posframe-autoloads elfeed-org-autoloads elfeed-autoloads htmlize-autoloads atomic-chrome-autoloads websocket-autoloads ztree-autoloads xclip-autoloads vimrc-mode-autoloads request-autoloads parse-csv-autoloads httpcode-autoloads edit-indirect-autoloads dired-du-autoloads vterm-autoloads pdf-tools-autoloads tablist-autoloads nov-autoloads esxml-autoloads kv-autoloads w3m-load w3m-autoloads shrface-autoloads language-detection-autoloads rfc-mode-autoloads highlight-symbol-autoloads highlight-parentheses-autoloads 06-org-mode org-roam-autoloads magit-section-autoloads emacsql-sqlite-autoloads emacsql-autoloads org-superstar-autoloads ox-reveal-autoloads org-download-autoloads flycheck-plantuml-autoloads plantuml-mode-autoloads ox-gfm-autoloads 056-prog-others meson-mode-autoloads groovy-mode-autoloads go-mode-autoloads lua-mode-autoloads rust-mode-autoloads sql-indent-autoloads sqlup-mode-autoloads bison-mode-autoloads yaml-mode-autoloads 055-prog-make cmake-mode-autoloads 054-prog-debug realgud-autoloads realgud-recursive-autoloads test-simple-autoloads loc-changes-autoloads load-relative-autoloads 053-prog-scripts company-shell-autoloads py-autopep8-autoloads 052-prog-elisp 051-prog-c clang-format-autoloads 05-prog-common consult-dash-autoloads dash-docs-autoloads async-autoloads lsp-mode-autoloads eldoc-autoloads lv-autoloads markdown-mode-autoloads spinner-autoloads ht-autoloads gxref-autoloads iedit-autoloads flycheck-popup-tip-autoloads popup-autoloads flycheck-autoloads let-alist-autoloads pkg-info-autoloads epl-autoloads 04-completion company-autoloads yasnippet-autoloads 03-fundamental-mode gcmh-autoloads ace-link-autoloads ace-window-autoloads avy-autoloads wgrep-autoloads which-key-autoloads undo-tree-autoloads queue-autoloads dtrt-indent-autoloads ws-butler-autoloads super-save-autoloads ibuf-macs helpful-autoloads elisp-refs-autoloads f-autoloads s-autoloads vlf-autoloads smart-hungry-delete-autoloads smartparens-autoloads finder-inf consult-projectile-autoloads projectile-autoloads embark-consult-autoloads embark-autoloads marginalia-autoloads consult-autoloads compat-autoloads savehist edmacro kmacro vertico vertico-autoloads orderless-autoloads 02-functions rx dash pcase 01-general disp-table dash-autoloads info cl-seq use-package use-package-ensure use-package-delight use-package-diminish use-package-bind-key bind-key easy-mmode use-package-core straight-autoloads cl-extra help-mode straight subr-x cl-macs gv cl-loaddefs cl-lib bytecomp byte-compile site-gentoo early-init china-util rmc iso-transl tooltip cconv eldoc paren electric uniquify ediff-hook vc-hooks lisp-float-type elisp-mode mwheel term/pgtk-win pgtk-win term/common-win pgtk-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 dynamic-setting font-render-setting cairo gtk pgtk lcms2 multi-tty make-network-process native-compile emacs) Memory information: ((conses 16 1125016 337556) (symbols 48 64967 60) (strings 32 357037 105018) (string-bytes 1 12423127) (vectors 16 164456) (vector-slots 8 3605987 411457) (floats 8 6320 5703) (intervals 56 15656 7202) (buffers 984 53))
[Message part 2 (text/plain, inline)]
Hi **, -- Yang Yingchao Yang Yingchao
[Message part 3 (text/html, inline)]
bug-gnu-emacs <at> gnu.org
:bug#60351
; Package emacs
.
(Wed, 28 Dec 2022 22:00:02 GMT) Full text and rfc822 format available.Message #8 received at 60351 <at> debbugs.gnu.org (full text, mbox):
From: Yuan Fu <casouri <at> gmail.com> To: yang.yingchao <at> qq.com Cc: 60351 <at> debbugs.gnu.org, yingchao.yang <at> seaboxdata.com Subject: Re: bug#60351: 29.0.60; bad syntanx table in c++-ts-mode Date: Wed, 28 Dec 2022 13:59:35 -0800
Yang Yingchao <yang.yingchao <at> qq.com> writes: > 1. start emacs with emacs -Q > > 2. open a buffer, M-x c++-ts-mode, theninsert following codes: > int main(int argc, char *argv[]) > { > if (0) { > a->func(); > } > return 0; > } > > 3. move cursor to line 3, before the bracket > 4. C-M-n (forward-list), and cursor will be placed at line 4, right after "->" > > I think this might be an regression after commit 480f41c7deb4d3a45a862a5308950b35085f835d Thanks for the report! < and > serves double duty in C++, so assigning them paren syntax are indeed incorrect. c++-mode uses text properties to assign different syntax based on context. I’ll copy that into c++-ts-mode. Yuan
Yuan Fu <casouri <at> gmail.com>
:yingchao.yang <at> seaboxdata.com
:Message #13 received at 60351-done <at> debbugs.gnu.org (full text, mbox):
From: Yuan Fu <casouri <at> gmail.com> To: yang.yingchao <at> qq.com Cc: 60351-done <at> debbugs.gnu.org, yingchao.yang <at> seaboxdata.com Subject: Re: bug#60351: 29.0.60; bad syntanx table in c++-ts-mode Date: Wed, 28 Dec 2022 15:57:51 -0800
Yuan Fu <casouri <at> gmail.com> writes: > Yang Yingchao <yang.yingchao <at> qq.com> writes: > >> 1. start emacs with emacs -Q >> >> 2. open a buffer, M-x c++-ts-mode, theninsert following codes: >> int main(int argc, char *argv[]) >> { >> if (0) { >> a->func(); >> } >> return 0; >> } >> >> 3. move cursor to line 3, before the bracket >> 4. C-M-n (forward-list), and cursor will be placed at line 4, right after "->" >> >> I think this might be an regression after commit 480f41c7deb4d3a45a862a5308950b35085f835d > > Thanks for the report! < and > serves double duty in C++, so assigning > them paren syntax are indeed incorrect. c++-mode uses text properties to > assign different syntax based on context. I’ll copy that into > c++-ts-mode. Done :-) Yuan
bug-gnu-emacs <at> gnu.org
:bug#60351
; Package emacs
.
(Thu, 29 Dec 2022 10:05:03 GMT) Full text and rfc822 format available.Message #16 received at 60351-done <at> debbugs.gnu.org (full text, mbox):
From: Yang Yingchao <yang.yingchao <at> qq.com> To: Yuan Fu <casouri <at> gmail.com> Cc: 60351-done <at> debbugs.gnu.org Subject: Re: bug#60351: 29.0.60; bad syntanx table in c++-ts-mode Date: Thu, 29 Dec 2022 08:46:03 +0800
[Message part 1 (text/plain, inline)]
Verified, thank you! :) On Wed, Dec 28 2022, Yuan Fu <casouri <at> gmail.com> wrote: > Yuan Fu <casouri <at> gmail.com> writes: > >> Yang Yingchao <yang.yingchao <at> qq.com> writes: >> >>> 1. start emacs with emacs -Q >>> >>> 2. open a buffer, M-x c++-ts-mode, theninsert following codes: >>> int main(int argc, char *argv[]) >>> { >>> if (0) { >>> a->func(); >>> } >>> return 0; >>> } >>> >>> 3. move cursor to line 3, before the bracket >>> 4. C-M-n (forward-list), and cursor will be placed at line 4, right after "->" >>> >>> I think this might be an regression after commit 480f41c7deb4d3a45a862a5308950b35085f835d >> >> Thanks for the report! < and > serves double duty in C++, so assigning >> them paren syntax are indeed incorrect. c++-mode uses text properties to >> assign different syntax based on context. I’ll copy that into >> c++-ts-mode. > > Done :-) > > Yuan -- Yang Yingchao Yang Yingchao
Debbugs Internal Request <help-debbugs <at> gnu.org>
to internal_control <at> debbugs.gnu.org
.
(Thu, 26 Jan 2023 12:24:06 GMT) Full text and rfc822 format available.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.