From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Ergus via "Bug reports for GNU Emacs, the Swiss army knife of text editors" Newsgroups: gmane.emacs.bugs Subject: bug#71784: 31.0.50; Inconsistent fontification for field_identifier in c++-ts-mode Date: Wed, 26 Jun 2024 16:13:47 +0200 Message-ID: <87pls394h0.fsf@aol.com> References: <87pls394h0.fsf.ref@aol.com> Reply-To: Ergus Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="12824"; mail-complaints-to="usenet@ciao.gmane.io" To: 71784@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Wed Jun 26 16:15:26 2024 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1sMTQj-0003Bq-TL for geb-bug-gnu-emacs@m.gmane-mx.org; Wed, 26 Jun 2024 16:15:26 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1sMTQc-0006uF-ME; Wed, 26 Jun 2024 10:15:18 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1sMTQa-0006sa-Lm for bug-gnu-emacs@gnu.org; Wed, 26 Jun 2024 10:15:16 -0400 Original-Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1sMTQK-0005yU-DW for bug-gnu-emacs@gnu.org; Wed, 26 Jun 2024 10:15:16 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1sMTQM-0004aN-Lk for bug-gnu-emacs@gnu.org; Wed, 26 Jun 2024 10:15:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Ergus Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 26 Jun 2024 14:15:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 71784 X-GNU-PR-Package: emacs X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Original-Received: via spool by submit@debbugs.gnu.org id=B.171941125217544 (code B ref -1); Wed, 26 Jun 2024 14:15:02 +0000 Original-Received: (at submit) by debbugs.gnu.org; 26 Jun 2024 14:14:12 +0000 Original-Received: from localhost ([127.0.0.1]:40051 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sMTPX-0004Yt-9n for submit@debbugs.gnu.org; Wed, 26 Jun 2024 10:14:11 -0400 Original-Received: from lists.gnu.org ([209.51.188.17]:53260) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sMTPV-0004Yl-8u for submit@debbugs.gnu.org; Wed, 26 Jun 2024 10:14:10 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1sMTPS-0006Gx-KA for bug-gnu-emacs@gnu.org; Wed, 26 Jun 2024 10:14:06 -0400 Original-Received: from sonic307-2.consmr.mail.bf2.yahoo.com ([74.6.134.41]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1sMTPP-0005nU-RG for bug-gnu-emacs@gnu.org; Wed, 26 Jun 2024 10:14:06 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=aol.com; s=a2048; t=1719411238; bh=eNgpao3BvNYDpUbKg5/x/omR+Jg80An8S3kUCRq0KeM=; h=From:To:Cc:Subject:Date:References:From:Subject:Reply-To; b=FpYcSJBSttqA9S2orm4sCPudLTT06pK5D6I1ZlUJDVoizLqfF9jrZ+VWsnekaYnmErDDOW0KZcaWrdRouLkHHUnmvKDM9h87qKZh3Q6u1xKgLsqsxEifLtSlcv+d9eyScYO5L0k4P1ue1X+vSO+cpogUp9WIjmi9QsdeicOGUouZ96XL1C6d93xsxOUF0SYbayJrUjn0ODw0floG18VO4qpetLsOPC2PfOG+5iag5zTTsCd5rd1rnu2Qlc8Yi1f6NM3xBechWOCAn1c8uCQ2iazkVHfhglL9TebF8U2XFQoS7qZ0jzVgxk7sn6ICMwgXShc0XLolBVijaJmMkYxxQw== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1719411238; bh=8SRyB1HnJ0ic7oLoDi0jccVD18uA5asuCdK04hfR6OS=; h=X-Sonic-MF:From:To:Subject:Date:From:Subject; b=KYaLCr2ZwwJX083Q8OxPpiowBwrsQwgvSL8BOEcgjHYWdOat1XTZdQg1ab3Lucc6hheFHyvNC5Tj2HAAGzZ3aWRU9VQpBFXuXEHN3kj7d5hZcmkzQw5CIv1UjIl+RRWqCT9EwyOCeN7cCqHcVj6uA08Zn61clr9PVlE5/uuxNDGAljeHEzv/mJhB2kv085DunqCTswyu+PpzhrvFTpb+TjurqHSXfaGwv5LubE7zHBg7sLtN72vN05ZpZV8qgmeV/SI9zETc7FoBzy0Ui5BG30S7h25gOOYDDXOQfLJfWbCe0mmudRABeO/4f7AiFR+j7zOAK+pv9j8rB3gEwJGtMg== X-YMail-OSG: YlNBcnIVM1lr5IWH_0HeozyZmFUlV7LqVD7U2xkmeQv_hApyMCSI7BfPLdp2Eez LUaR_JCpZqC_7IUjwVFOYh3gf7BHeUeeCSL.vcSuPriQr2.itjpy_tdzevxd7c34f6qUjPovmvwC moU1RXQs..jPewSmuhkpDqkDk07ySBgB_EmO63oMXglu_aPeDcI0i4U0Wixo8Dxcgq4OaIYGzvJ1 uEhVNRmXa5mTLfKcjliXKmv3SY0u3VAewc.e1LTx0RLu.INItvGp9dVUSdaMs6LdbRwXMRp.wGwZ 5CZXWX40KfBRSF1mcwm_zCGjmTh5ij68bSgp0sb99KG0ILhYrGjjM5aqhROpJwL_XAlt3w0wgIqH SdmGTo7IzcyY7PXMqxY0U6XpVuyhNOP0bHyQ5eXLuQfzFznwzIe6OAyybpnp228oP3jvMbAyykPq PMzuFfKyuwqnP_cHxEqPA2ACCl1MJsJxYu7SkuUTVUksWJcdx3whONOhs44paT8qYc.oCNLfz6b4 NfGbzj9ComnoS8vlIJg.5for_sTO_DSTKqqmpiocE06sGUsAjYxcQaW1NU17_d3VTk__29mMhZZw W28101Y4eMRT84tHl8picB3s3SXbLG8gKC6OtwiPaRw_uPB4xgCUIkhJ.5kwJQ2EonSfF.Do3aZN A6Znv6cVWUH.muP3uKXhHkbvWNE1I.l70kBpnGtnUsppomqRoZ2jM.BCccpdfv4VSb1wJEKXMO_I M0MnZ8TagbovDiUCGg_RQ.lG6hBNpjUyHvBjIpZQyrofcxkX4qMu4WCK30JNthclKxhQvQXAZ7ym EXoj9NuJaRl9x_cgXraiiTIakaWznrIZ0.OSmk8sS0 X-Sonic-MF: X-Sonic-ID: fc57918f-bd09-49c8-9d96-50881f19e336 Original-Received: from sonic.gate.mail.ne1.yahoo.com by sonic307.consmr.mail.bf2.yahoo.com with HTTP; Wed, 26 Jun 2024 14:13:58 +0000 Original-Received: by hermes--production-ir2-85cf877599-cnwg7 (Yahoo Inc. Hermes SMTP Server) with ESMTPA ID 61a80c7bff1f35e122fcebadf422d09f; Wed, 26 Jun 2024 14:13:55 +0000 (UTC) X-Mailer: WebService/1.1.22407 mail.backend.jedi.jws.acl:role.jedi.acl.token.atz.jws.hermes.aol Received-SPF: pass client-ip=74.6.134.41; envelope-from=spacibba@aol.com; helo=sonic307-2.consmr.mail.bf2.yahoo.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.bugs:287951 Archived-At: Hi: Using the c++-ts-mode I found that there is some inconsistent fontification for the `fields_identifier`: See the fontification in this example with `emacs -Q`. ```test.cpp std::string key; bool inserted; struct name_t { std::string key; bool inserted; }; name_t keys = {"aaa", true}; keys.inserted = false; bool a = keys.inserted; ``` 1. The `keys.inserted` values are shown differently before or after the = (the inserted word is fontified is some cases, but not in all) 2. The variable names are fontified differently outside or inside the struct. 3. The escape sequence (\t) is fontified differently to the rest of the text inside the string. I don't know if that is intentional or not. If it is intentional, just ignore this comment. The inconsistencies 1 and 2 are not only different to c++-mode but they are semantically incorrect. Best, Ergus In GNU Emacs 31.0.50 (build 3, x86_64-pc-linux-gnu, GTK+ Version 3.24.42, cairo version 1.18.0) of 2024-06-26 built on RTX Repository revision: d800d6b3bdaa927e031e003e761e623147e812e6 Repository branch: project System Description: Arch Linux Configured using: 'configure --prefix=/home/ergo/.local/ --with-mailutils --with-pgtk --with-modules --with-cairo --with-harfbuzz --with-native-compilation=aot '--program-transform-name=s/^ctags$/ctags.emacs/'' Configured features: ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ JPEG 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: en_US.UTF-8 locale-coding-system: utf-8-unix Major mode: C++// Minor modes in effect: fancy-compilation-mode: t windmove-mode: t global-auto-revert-mode: t electric-pair-mode: t whitespace-mode: t flyspell-mode: t completion-preview-mode: t diff-hl-margin-local-mode: t diff-hl-margin-mode: t diff-hl-mode: t corfu-terminal-mode: t global-corfu-mode: t corfu-mode: t project-multi-mode: t gtags-mode: t repeat-mode: t xterm-mouse-mode: t xclip-mode: t override-global-mode: t winner-mode: t save-place-mode: t delete-selection-mode: t savehist-mode: t global-display-fill-column-indicator-mode: t display-fill-column-indicator-mode: t global-display-line-numbers-mode: t display-line-numbers-mode: t which-key-mode: t show-paren-mode: t mouse-wheel-mode: t file-name-shadow-mode: t context-menu-mode: t global-font-lock-mode: t font-lock-mode: t blink-cursor-mode: t minibuffer-regexp-mode: t size-indication-mode: t column-number-mode: t line-number-mode: t indent-tabs-mode: t transient-mark-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t Load-path shadows: /mnt/casa/gits/emacs_clones/cuda-mode/cuda-mode hides /home/ergo/.config/emacs/elpa/cuda-mode-20201013.2230/cuda-mode /mnt/casa/gits/emacs_clones/gtags-mode/gtags-mode hides /home/ergo/.config/emacs/elpa/gtags-mode-1.6/gtags-mode /home/ergo/.config/emacs/elpa/transient-20240626.947/transient hides /home/ergo/.local/share/emacs/31.0.50/lisp/transient Features: (shadow sort mail-extr fancy-compilation compile comint ansi-osc ansi-color comp-run comp-common emacsbug message mailcap yank-media puny rfc822 mml mml-sec epa derived epg rfc6068 epg-config gnus-util text-property-search mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils help-fns radix-tree cl-print debug backtrace find-func c++-ts-mode c-ts-mode c-ts-common treesit time-date windmove autorevert filenotify ffap thingatpt url-parse auth-source eieio eieio-core icons password-cache json map url-vars elec-pair whitespace flyspell-correct flyspell ispell completion-preview diff-hl-margin diff-hl-dired citre-lang-fileref dired-x dired dired-loaddefs diff-hl log-view pcvs-util vc-dir ewoc vc vc-dispatcher diff-mode track-changes corfu-terminal popon corfu project-multi-mode gtags-mode cl-macs files-x xref modern-cpp-font-lock cap-words superword subword citre-lang-c citre-tags citre-ctags citre-readtags citre-readtags-tables citre-backend-interface citre-common-tag rx citre-common-util subr-x project cc-mode cc-fonts cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs term/tmux term/xterm xterm init repeat cape compat use-package-ensure use-package-diminish xt-mouse xclip edmacro kmacro byte-opt gv use-package-bind-key bind-key cl-extra help-mode simple-16-theme winner ring saveplace delsel savehist easy-mmode display-fill-column-indicator display-line-numbers diminish which-key cl-seq use-package-core cl-loaddefs cl-lib bytecomp byte-compile disp-table info ac-emoji-autoloads ac-haskell-process-autoloads ac-html-autoloads arduino-cli-mode-autoloads auctex-autoloads tex-site auto-complete-autoloads avy-zap-autoloads avy-autoloads better-shell-autoloads caml-autoloads cape-autoloads citre-autoloads clang-format-autoloads cobol-mode-autoloads compile-multi-autoloads corfu-terminal-autoloads corfu-autoloads crdt-autoloads csv-mode-autoloads cuda-mode-autoloads d-mode-autoloads deadgrep-autoloads debbugs-autoloads diff-hl-autoloads diminish-autoloads dired-sidebar-autoloads dired-subtree-autoloads dired-hacks-utils-autoloads dumb-jump-autoloads e2ansi-autoloads emamux-autoloads esup-autoloads evil-collection-autoloads annalist-autoloads evil-leader-autoloads evil-autoloads face-explorer-autoloads fancy-compilation-autoloads flx-autoloads flycheck-julia-autoloads flycheck-rust-autoloads flycheck-autoloads flymake-nasm-autoloads flymake-quickdef-autoloads flyspell-correct-autoloads git-modes-autoloads git-timemachine-autoloads gnuplot-autoloads google-c-style-autoloads goto-chg-autoloads groovy-mode-autoloads gtags-mode-autoloads haskell-mode-autoloads highlight-indent-guides-autoloads i3wm-config-mode-autoloads ibuffer-sidebar-autoloads iedit-autoloads imenu-list-autoloads julia-ts-mode-autoloads julia-mode-autoloads languagetool-autoloads lice-autoloads lorem-ipsum-autoloads lua-mode-autoloads magit-autoloads git-commit-autoloads magit-section-autoloads markdown-mode-autoloads modern-cpp-font-lock-autoloads move-dup-autoloads multiple-cursors-autoloads mutt-mode-autoloads nasm-mode-autoloads neotree-autoloads nftables-mode-autoloads nginx-mode-autoloads notmuch-autoloads objed-autoloads opencl-mode-autoloads paradox-autoloads phi-search-autoloads pkg-info-autoloads epl-autoloads pkgbuild-mode-autoloads platformio-mode-autoloads async-autoloads popon-autoloads popup-autoloads projectile-autoloads projection-autoloads protobuf-mode-autoloads protobuf-ts-mode-autoloads ptemplate-templates-autoloads ptemplate-autoloads scopeline-autoloads shell-command+-autoloads slime-autoloads macrostep-autoloads sphinx-mode-autoloads f-autoloads dash-autoloads s-autoloads spinner-autoloads ssh-config-mode-autoloads string-inflection-autoloads sudo-edit-autoloads systemd-autoloads tmux-mode-autoloads transient-autoloads tsc-autoloads urgrep-autoloads vdiff-autoloads hydra-autoloads lv-autoloads vterm-toggle-autoloads vterm-autoloads vundo-autoloads with-editor-autoloads xclip-autoloads yasnippet-snippets-autoloads yasnippet-autoloads early-init 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 touch-screen 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 system-font-setting font-render-setting cairo gtk pgtk lcms2 multi-tty move-toolbar make-network-process native-compile emacs) Memory information: ((conses 16 227196 51858) (symbols 48 17144 0) (strings 32 58441 11185) (string-bytes 1 2123450) (vectors 16 22552) (vector-slots 8 264028 8898) (floats 8 109 235) (intervals 56 1774 0) (buffers 992 15))