From unknown Sun Jun 15 08:43:47 2025 X-Loop: help-debbugs@gnu.org Subject: bug#78567: [PATCH] 31.0.50; bash-ts-mode: brackets not highlighted correctly in shell-expansion expressions Resent-From: Jostein =?UTF-8?Q?Kj=C3=B8nigsen?= Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 23 May 2025 19:24:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 78567 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: 78567@debbugs.gnu.org X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.174802821726566 (code B ref -1); Fri, 23 May 2025 19:24:02 +0000 Received: (at submit) by debbugs.gnu.org; 23 May 2025 19:23:37 +0000 Received: from localhost ([127.0.0.1]:50858 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uIXzU-0006uM-6N for submit@debbugs.gnu.org; Fri, 23 May 2025 15:23:37 -0400 Received: from lists.gnu.org ([2001:470:142::17]:59718) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1uIXzQ-0006tt-4a for submit@debbugs.gnu.org; Fri, 23 May 2025 15:23:33 -0400 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 1uIXzI-00042Q-Iv for bug-gnu-emacs@gnu.org; Fri, 23 May 2025 15:23:25 -0400 Received: from fhigh-a3-smtp.messagingengine.com ([103.168.172.154]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uIXzC-0000v0-1B for bug-gnu-emacs@gnu.org; Fri, 23 May 2025 15:23:23 -0400 Received: from phl-compute-05.internal (phl-compute-05.phl.internal [10.202.2.45]) by mailfhigh.phl.internal (Postfix) with ESMTP id 568C9114010D for ; Fri, 23 May 2025 15:23:15 -0400 (EDT) Received: from phl-mailfrontend-02 ([10.202.2.163]) by phl-compute-05.internal (MEProxy); Fri, 23 May 2025 15:23:15 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= secure.kjonigsen.net; h=cc:content-type:content-type:date:date :from:from:in-reply-to:message-id:mime-version:reply-to:subject :subject:to:to; s=fm2; t=1748028195; x=1748114595; bh=sBYAdt3pnl tzB8hhtEvhf9si5clHLuB8OEI0YPkuNVA=; b=eKaaifHePJHG0VCOez/HOBJ5ky 0Gl4woPdU20gNNquGczlPULDpT1LchVDq9jQrEt/d94tCTzIDJ6KSqJ+PPvjs654 lLhIiq5R8VWLj9p0sOYxWYxAACtthFHVxGCtnsAk4PE3dEFcnqwGjHVmHtJeCUmY RlT6WY7lQTxCTFAgwuvtoJh2L7Irpf8zXMZpyWA0N8KJOePzS+U6WgsgGqaTok6F 63HxB5zsOkhLPK0OGoFUP6biHXcbgfbeb1PMDzQCXb/IZao50zGyv41Tg4cS2NP7 VTvnorPvBH1MbfsMAqeJkbIY+5NDsLPnUm7LCifQea5PeFNtcAKnzpAy7xPA== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-type:content-type:date:date :feedback-id:feedback-id:from:from:in-reply-to:message-id :mime-version:reply-to:subject:subject:to:to:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm3; t=1748028195; x= 1748114595; bh=sBYAdt3pnltzB8hhtEvhf9si5clHLuB8OEI0YPkuNVA=; b=i Igzd97ePIEjKto2Vr0oBihtcvgfn+EEREe8aLrb8VyYbnoZb8/UJx6WB1KMthzBp fnPQe02wCy+XnWPMXQZjeeIY4JxH2wLrQWXj+EiuWgt3loxytSh/HGCW/gjliN1q MuP1mlYNW5nL974bAMfUWGy8kLkOq47qyZNdc9Jv4fRRbA9e60ubC2LMrDSXL6/i K6lb8+4bptymWpgnbjknBIIQBtAK/5lmvJaVDyM+ir9y/gvTZyzKrrdolKm45tK3 cmTFyo5D5BnyDDqpzy+u8byECwL709rwisj16SFFb4bD0wvsAKQfhSwqJ8D3JO00 EfYEcKlA0VHSjaJH/H5RA== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeeffedrtddtgdelieekucdltddurdegfedvrddttd dmucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdggtfgf nhhsuhgsshgtrhhisggvpdfurfetoffkrfgpnffqhgenuceurghilhhouhhtmecufedttd enucenucfjughrpefhtggguffkfffvofesrgdtmherhhdtvdenucfhrhhomheplfhoshht vghinhcumfhjpphnihhgshgvnhcuoehjohhsthgvihhnsehsvggtuhhrvgdrkhhjohhnih hgshgvnhdrnhgvtheqnecuggftrfgrthhtvghrnhepfeeutddvfffgvedugeeigfeuheeh ffeftefgfedvjeeivdekkeekhfdvveeiueeunecuvehluhhsthgvrhfuihiivgeptdenuc frrghrrghmpehmrghilhhfrhhomhepjhhoshhtvghinhesshgvtghurhgvrdhkjhhonhhi ghhsvghnrdhnvghtpdhnsggprhgtphhtthhopedupdhmohguvgepshhmthhpohhuthdprh gtphhtthhopegsuhhgqdhgnhhuqdgvmhgrtghssehgnhhurdhorhhg X-ME-Proxy: Feedback-ID: ib2f84088:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA for ; Fri, 23 May 2025 15:23:14 -0400 (EDT) From: Jostein =?UTF-8?Q?Kj=C3=B8nigsen?= Content-Type: multipart/alternative; boundary="Apple-Mail=_F284CB4E-743E-48CC-AE6A-C5FDB010B51C" Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3826.600.51.1.1\)) Message-Id: <97A0691B-BBD7-4850-819E-6C6D26CE70FD@secure.kjonigsen.net> Date: Fri, 23 May 2025 21:23:01 +0200 X-Mailer: Apple Mail (2.3826.600.51.1.1) Received-SPF: pass client-ip=103.168.172.154; envelope-from=jostein@secure.kjonigsen.net; helo=fhigh-a3-smtp.messagingengine.com X-Spam_score_int: -26 X-Spam_score: -2.7 X-Spam_bar: -- X-Spam_report: (-2.7 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: 0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) --Apple-Mail=_F284CB4E-743E-48CC-AE6A-C5FDB010B51C Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 Hey everyone. When using the new bash-ts-mode to edit shell-scripts, simple = shell-expansion expressions are fontified using (among other things) = sh-quoted-exec face: Examples below: echo `test` echo $(test) Unfortunately, in both of these cases the enclosing brackets are also = fontified using sh-quoted-exec. Not only makes this the shell-expansion = expression harder to read, but it also makes the fontification of these = brackets inconsistent with all other brackets in bash-ts-mode. This seems to be due to an overly wide selector used in the tree-sitter = rules, which can be easily narrowed without impacting the core function = of the rule: highlighting shell-expansions. Attached is a patch which implements this fix, and makes shell-expansion = brackets highlighted consistently. Cheers! =EF=BF=BC =E2=80=94 Kind Regards Jostein Kj=C3=B8nigsen In GNU Emacs 31.0.50 (build 7, aarch64-apple-darwin24.4.0, NS appkit-2575.50 Version 15.4.1 (Build 24E263)) of 2025-05-20 built on SOK67R3KWV97 Repository revision: e9bab32bc7229d4260e5870efc54ae4458c6ccc9 Repository branch: master Windowing system distributor 'Apple', version 10.3.2575 System Description: macOS 15.5 Configured using: 'configure --with-tree-sitter --with-native-compilation --with-imagemagick --with-harfbuzz' Configured features: ACL GLIB GNUTLS IMAGEMAGICK LCMS2 LIBXML2 MODULES NATIVE_COMP NOTIFY KQUEUE NS PDUMPER PNG RSVG SQLITE3 THREADS TOOLKIT_SCROLL_BARS TREE_SITTER WEBP XIM ZLIB Important settings: value of $LC_ALL: en_US.UTF-8 value of $LC_CTYPE: UTF-8 value of $LANG: en_US.UTF-8 locale-coding-system: utf-8-unix Major mode: Elisp/l Minor modes in effect: bug-reference-prog-mode: t global-git-commit-mode: t magit-auto-revert-mode: t elisp-slime-nav-mode: t paredit-mode: t highlight-symbol-mode: t flycheck-mode: t indent-bars-mode: t completion-preview-mode: t delete-selection-mode: t global-auto-revert-mode: t editorconfig-mode: t all-the-icons-completion-mode: t marginalia-mode: t vertico-mode: t global-nlinum-mode: t nlinum-mode: t override-global-mode: t server-mode: t global-hl-line-mode: t pixel-scroll-precision-mode: t doom-modeline-mode: t tooltip-mode: t global-eldoc-mode: t eldoc-mode: t show-paren-mode: t electric-indent-mode: t mouse-wheel-mode: t menu-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t blink-cursor-mode: t minibuffer-regexp-mode: t column-number-mode: t line-number-mode: t auto-fill-function: do-auto-fill transient-mark-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t hs-minor-mode: t Load-path shadows: /Users/josteink/.emacs.d/elpa/ef-themes-1.9.0/theme-loaddefs hides = /Users/josteink/.emacs.d/elpa/modus-themes-20250220.647/theme-loaddefs /Users/josteink/.emacs.d/elpa/transient-20250301.2218/transient hides = /Users/josteink/build/emacs/lisp/transient /Users/josteink/.emacs.d/elpa/ef-themes-1.9.0/theme-loaddefs hides = /Users/josteink/build/emacs/lisp/theme-loaddefs Features: (shadow sort mail-extr emacsbug help-fns radix-tree git-rebase pet let-alist json-ts-mode goto-addr vc-hg vc-bzr vc-src vc-sccs vc-svn vc-cvs vc-rcs log-view vc bug-reference magit-extras magit-bookmark magit-submodule 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 magit-repos magit-apply magit-wip magit-log which-func magit-diff smerge-mode git-commit log-edit pcvs-util add-log magit-core magit-autorevert magit-margin magit-transient magit-process with-editor magit-mode benchmark magit-git magit-base magit-section cursor-sensor crm llama markdown-mode edit-indirect pulse misearch multi-isearch lisp-mnt elec-pair csharp-mode c-ts-common cc-langs cc-mode cc-fonts cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs vc-git vc-dispatcher org-duration diary-lib diary-loaddefs cal-iso disp-table oc-basic ol-eww 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 gnus-spec gnus-int gnus-range message sendmail yank-media rfc822 mml mml-sec epa epg rfc6068 epg-config mm-decode mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045 ietf-drums mailabbrev gmm-utils mailheader gnus-win ol-docview doc-view jka-compr image-mode exif dired dired-loaddefs ol-bibtex bibtex ol-bbdb ol-w3m ol-doi org-link-doi org-agenda elisp-slime-nav etags fileloop paredit highlight-symbol flycheck indent-bars-ts indent-bars cus-edit cus-start cus-load face-remap color powershell eglot tree-widget derived external-completion jsonrpc flymake diff ert ewoc debug backtrace completion-preview hideshow compile eww vtable url-queue shr pixel-fill kinsoku url-file svg xml puny mm-url gnus nnheader gnus-util mail-utils range wid-edit mm-util mail-prsvr tramp trampver tramp-integration tramp-message tramp-compat shell parse-time iso8601 tramp-loaddefs imenu ob-plantuml delsel autorevert filenotify embark-org org-element org-persist org-id org-refile org-element-ast inline avl-tree org ob ob-tangle ob-ref ob-lob ob-table ob-exp org-macro org-src sh-script smie executable ob-comint org-pcomplete pcomplete org-list org-footnote org-faces org-entities time-date 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 bicep-ts-mode editorconfig editorconfig-core editorconfig-core-handle editorconfig-fnmatch embark-consult consult bookmark text-property-search embark ffap orderless all-the-icons-completion marginalia vertico nlinum linum use-package-bind-key bind-key server hl-line pixel-scroll cua-base all-the-icons all-the-icons-faces data-material data-weathericons data-octicons data-fileicons data-faicons data-alltheicons doom-modeline doom-modeline-segments doom-modeline-env doom-modeline-core shrink-path f s dash nerd-icons nerd-icons-faces nerd-icons-data nerd-icons-data-mdicon nerd-icons-data-flicon nerd-icons-data-codicon nerd-icons-data-devicon nerd-icons-data-sucicon nerd-icons-data-wicon nerd-icons-data-faicon nerd-icons-data-powerline nerd-icons-data-octicon nerd-icons-data-pomicon nerd-icons-data-ipsicon dracula-theme use-package-ensure use-package-core finder-inf all-the-icons-completion-autoloads all-the-icons-autoloads bicep-ts-mode-autoloads bmx-mode-autoloads cargo-autoloads cmake-mode-autoloads color-theme-sanityinc-tomorrow-autoloads combobulate-autoloads combobulate-go combobulate-json combobulate-yaml combobulate-css combobulate-js-ts combobulate-python combobulate-html combobulate-toml combobulate-cursor multiple-cursors mc-separate-operations rectangular-region-mode mc-mark-pop mc-edit-lines mc-hide-unmatched-lines-mode mc-mark-more sgml-mode facemenu dom thingatpt mc-cycle-cursors multiple-cursors-core advice comp comp-cstr cl-extra help-mode warnings comp-run comp-common rect combobulate-query savehist xref files-x scheme combobulate-ui transient pp format-spec edmacro kmacro combobulate-display combobulate-ztree combobulate-envelope combobulate-manipulation python rx project compat comint ansi-osc ring ansi-color combobulate-procedure combobulate-navigation combobulate-misc combobulate-setup tempo combobulate-interface combobulate-settings diff-mode track-changes easy-mmode treesit generator combobulate-rules company-autoloads copilot-mode-autoloads crontab-mode-autoloads dap-mode-autoloads bui-autoloads doom-modeline-autoloads doom-themes-autoloads dracula-theme-autoloads edit-indirect-autoloads ef-themes-autoloads elisp-slime-nav-autoloads embark-consult-autoloads consult-autoloads embark-autoloads expand-region-autoloads flycheck-autoloads highlight-symbol-autoloads indent-bars-autoloads lsp-docker-autoloads lsp-treemacs-autoloads lsp-mode-autoloads magit-autoloads pcase magit-section-autoloads llama-autoloads marginalia-autoloads markdown-mode-autoloads modus-themes-autoloads multiple-cursors-autoloads nerd-icons-autoloads nlinum-autoloads orderless-autoloads paredit-autoloads pet-autoloads poetry-autoloads powershell-autoloads pyvenv-autoloads shrink-path-autoloads f-autoloads spinner-autoloads transient-autoloads treemacs-autoloads cfrs-autoloads posframe-autoloads ht-autoloads hydra-autoloads lv-autoloads pfuture-autoloads ace-window-autoloads avy-autoloads s-autoloads dash-autoloads undo-tree-autoloads queue-autoloads vertico-autoloads wgrep-autoloads info with-editor-autoloads wsd-mode-autoloads yaml-autoloads package browse-url xdg 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 icons password-cache json subr-x map byte-opt gv bytecomp byte-compile url-vars cl-loaddefs cl-lib rmc iso-transl tooltip cconv eldoc paren electric uniquify ediff-hook vc-hooks lisp-float-type elisp-mode mwheel term/ns-win ns-win ucs-normalize mule-util term/common-win 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 kqueue cocoa ns lcms2 multi-tty make-network-process tty-child-frames native-compile emacs) Memory information: ((conses 16 1279995 196050) (symbols 48 56184 2) (strings 32 307557 14688) (string-bytes 1 8465336) (vectors 16 106135) (vector-slots 8 2019006 218077) (floats 8 2291 3855) (intervals 56 40777 6537) (buffers 1064 68)) --Apple-Mail=_F284CB4E-743E-48CC-AE6A-C5FDB010B51C Content-Type: multipart/mixed; boundary="Apple-Mail=_4A8939E1-147B-4B86-9B9F-BA26D3D84F48" --Apple-Mail=_4A8939E1-147B-4B86-9B9F-BA26D3D84F48 Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=us-ascii Hey = everyone.

When using the new bash-ts-mode to edit = shell-scripts, simple shell-expansion expressions are fontified using = (among other things) sh-quoted-exec = face:

Examples = below:

echo `test`
echo = $(test)

Unfortunately, in both of these cases = the enclosing brackets are also fontified using sh-quoted-exec. Not only = makes this the shell-expansion expression harder to read, but it also = makes the fontification of these brackets inconsistent with all other = brackets in bash-ts-mode.

This seems to be due = to an overly wide selector used in the tree-sitter rules, which can be = easily narrowed without impacting the core function of the rule: = highlighting shell-expansions.

Attached is a = patch which implements this fix, and makes shell-expansion brackets = highlighted = consistently.

Cheers!

= --Apple-Mail=_4A8939E1-147B-4B86-9B9F-BA26D3D84F48 Content-Disposition: attachment; filename=0001-sh-script.el-Fix-bracket-fontification-in-command-su.patch Content-Type: application/octet-stream; x-unix-mode=0644; name="0001-sh-script.el-Fix-bracket-fontification-in-command-su.patch" Content-Transfer-Encoding: quoted-printable =46rom=20adbb45193017bf84e4d829071f6fd17b9b13fce8=20Mon=20Sep=2017=20= 00:00:00=202001=0AFrom:=20=3D?UTF-8?q?Jostein=3D20Kj=3DC3=3DB8nigsen?=3D=20= =0ADate:=20Mon,=205=20May=202025=2022:29:37=20= +0200=0ASubject:=20[PATCH=201/3]=20sh-script.el:=20Fix=20bracket=20= fontification=20in=20command=0A=20substitution=0A=0A*=20= sh-mode--treesit-settings:=20fontify=20command-substition=20command=20= only.=0A=20=20not=20enclosing=20brackets.=0A---=0A=20= lisp/progmodes/sh-script.el=20|=202=20+-=0A=201=20file=20changed,=201=20= insertion(+),=201=20deletion(-)=0A=0Adiff=20--git=20= a/lisp/progmodes/sh-script.el=20b/lisp/progmodes/sh-script.el=0Aindex=20= 5075e9a0afc..9a5bd0c6d23=20100644=0A---=20a/lisp/progmodes/sh-script.el=0A= +++=20b/lisp/progmodes/sh-script.el=0A@@=20-3368,7=20+3368,7=20@@=20= sh-mode--treesit-settings=0A=20=20=20=20:feature=20'string-interpolation=0A= =20=20=20=20:language=20'bash=0A=20=20=20=20:override=20t=0A-=20=20=20= '((command_substitution)=20@sh-quoted-exec=0A+=20=20=20= '((command_substitution=20(command)=20@sh-quoted-exec)=0A=20=20=20=20=20=20= (expansion=20(variable_name)=20@font-lock-variable-use-face)=0A=20=20=20=20= =20=20(expansion=20["${"=20"}"]=20@font-lock-bracket-face)=0A=20=20=20=20= =20=20(simple_expansion=0A--=20=0A2.49.0=0A=0A= --Apple-Mail=_4A8939E1-147B-4B86-9B9F-BA26D3D84F48 Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=utf-8

=E2=80=94
Kind Regards
Jostein = Kj=C3=B8nigsen



In GNU Emacs 31.0.50 (build = 7, aarch64-apple-darwin24.4.0, NS
 appkit-2575.50 Version = 15.4.1 (Build 24E263)) of 2025-05-20 built = on
 SOK67R3KWV97
Repository revision: = e9bab32bc7229d4260e5870efc54ae4458c6ccc9
Repository branch: = master
Windowing system distributor 'Apple', version = 10.3.2575
System Description:  macOS = 15.5

Configured = using:
 'configure --with-tree-sitter = --with-native-compilation
 --with-imagemagick = --with-harfbuzz'

Configured = features:
ACL GLIB GNUTLS IMAGEMAGICK LCMS2 LIBXML2 MODULES = NATIVE_COMP NOTIFY
KQUEUE NS PDUMPER PNG RSVG SQLITE3 THREADS = TOOLKIT_SCROLL_BARS
TREE_SITTER WEBP XIM = ZLIB

Important settings:
  value = of $LC_ALL: en_US.UTF-8
  value of $LC_CTYPE: = UTF-8
  value of $LANG: en_US.UTF-8
  = locale-coding-system: utf-8-unix

Major mode: = Elisp/l

Minor modes in effect:
  = bug-reference-prog-mode: t
  global-git-commit-mode: = t
  magit-auto-revert-mode: t
  = elisp-slime-nav-mode: t
  paredit-mode: = t
  highlight-symbol-mode: t
  = flycheck-mode: t
  indent-bars-mode: t
  = completion-preview-mode: t
  delete-selection-mode: = t
  global-auto-revert-mode: t
  = editorconfig-mode: t
  all-the-icons-completion-mode: = t
  marginalia-mode: t
  vertico-mode: = t
  global-nlinum-mode: t
  nlinum-mode: = t
  override-global-mode: t
  server-mode: = t
  global-hl-line-mode: t
  = pixel-scroll-precision-mode: t
  doom-modeline-mode: = t
  tooltip-mode: t
  global-eldoc-mode: = t
  eldoc-mode: t
  show-paren-mode: = t
  electric-indent-mode: t
  = mouse-wheel-mode: t
  menu-bar-mode: t
  = file-name-shadow-mode: t
  global-font-lock-mode: = t
  font-lock-mode: t
  blink-cursor-mode: = t
  minibuffer-regexp-mode: t
  = column-number-mode: t
  line-number-mode: = t
  auto-fill-function: do-auto-fill
  = transient-mark-mode: t
  auto-composition-mode: = t
  auto-encryption-mode: t
  = auto-compression-mode: t
  hs-minor-mode: = t

Load-path = shadows:
/Users/josteink/.emacs.d/elpa/ef-themes-1.9.0/theme-loa= ddefs hides = /Users/josteink/.emacs.d/elpa/modus-themes-20250220.647/theme-loaddefs
/Users/josteink/.emacs.d/elpa/transient-20250301.2218/transient = hides = /Users/josteink/build/emacs/lisp/transient
/Users/josteink/.emac= s.d/elpa/ef-themes-1.9.0/theme-loaddefs hides = /Users/josteink/build/emacs/lisp/theme-loaddefs

F= eatures:
(shadow sort mail-extr emacsbug help-fns radix-tree = git-rebase pet
let-alist json-ts-mode goto-addr vc-hg vc-bzr = vc-src vc-sccs vc-svn
vc-cvs vc-rcs log-view vc bug-reference = magit-extras magit-bookmark
magit-submodule 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
magit-repos magit-apply = magit-wip magit-log which-func magit-diff
smerge-mode = git-commit log-edit pcvs-util add-log = magit-core
magit-autorevert magit-margin magit-transient = magit-process with-editor
magit-mode benchmark magit-git = magit-base magit-section cursor-sensor
crm llama markdown-mode = edit-indirect pulse misearch multi-isearch
lisp-mnt elec-pair = csharp-mode c-ts-common cc-langs cc-mode cc-fonts
cc-guess = cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars = cc-defs
vc-git vc-dispatcher org-duration diary-lib = diary-loaddefs cal-iso
disp-table oc-basic ol-eww 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 gnus-spec gnus-int gnus-range
message = sendmail yank-media rfc822 mml mml-sec epa epg = rfc6068
epg-config mm-decode mm-bodies mm-encode mail-parse = rfc2231 rfc2047
rfc2045 ietf-drums mailabbrev gmm-utils = mailheader gnus-win ol-docview
doc-view jka-compr image-mode = exif dired dired-loaddefs ol-bibtex bibtex
ol-bbdb ol-w3m = ol-doi org-link-doi org-agenda elisp-slime-nav etags
fileloop = paredit highlight-symbol flycheck indent-bars-ts = indent-bars
cus-edit cus-start cus-load face-remap color = powershell eglot
tree-widget derived external-completion = jsonrpc flymake diff ert ewoc
debug backtrace = completion-preview hideshow compile eww vtable url-queue
shr = pixel-fill kinsoku url-file svg xml puny mm-url gnus = nnheader
gnus-util mail-utils range wid-edit mm-util = mail-prsvr tramp trampver
tramp-integration tramp-message = tramp-compat shell parse-time iso8601
tramp-loaddefs imenu = ob-plantuml delsel autorevert filenotify = embark-org
org-element org-persist org-id org-refile = org-element-ast inline
avl-tree org ob ob-tangle ob-ref ob-lob = ob-table ob-exp org-macro
org-src sh-script smie executable = ob-comint org-pcomplete pcomplete
org-list org-footnote = org-faces org-entities time-date 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 = bicep-ts-mode editorconfig
editorconfig-core = editorconfig-core-handle editorconfig-fnmatch
embark-consult = consult bookmark text-property-search embark ffap
orderless = all-the-icons-completion marginalia vertico nlinum = linum
use-package-bind-key bind-key server hl-line = pixel-scroll cua-base
all-the-icons all-the-icons-faces = data-material data-weathericons
data-octicons data-fileicons = data-faicons data-alltheicons = doom-modeline
doom-modeline-segments doom-modeline-env = doom-modeline-core shrink-path
f s dash nerd-icons = nerd-icons-faces nerd-icons-data
nerd-icons-data-mdicon = nerd-icons-data-flicon = nerd-icons-data-codicon
nerd-icons-data-devicon = nerd-icons-data-sucicon = nerd-icons-data-wicon
nerd-icons-data-faicon = nerd-icons-data-powerline = nerd-icons-data-octicon
nerd-icons-data-pomicon = nerd-icons-data-ipsicon dracula-theme
use-package-ensure = use-package-core finder-inf
all-the-icons-completion-autoloads = all-the-icons-autoloads
bicep-ts-mode-autoloads = bmx-mode-autoloads cargo-autoloads
cmake-mode-autoloads = color-theme-sanityinc-tomorrow-autoloads
combobulate-autoloads = combobulate-go combobulate-json = combobulate-yaml
combobulate-css combobulate-js-ts = combobulate-python combobulate-html
combobulate-toml = combobulate-cursor multiple-cursors
mc-separate-operations = rectangular-region-mode mc-mark-pop = mc-edit-lines
mc-hide-unmatched-lines-mode mc-mark-more = sgml-mode facemenu dom
thingatpt mc-cycle-cursors = multiple-cursors-core advice comp comp-cstr
cl-extra help-mode = warnings comp-run comp-common rect combobulate-query
savehist = xref files-x scheme combobulate-ui transient pp = format-spec
edmacro kmacro combobulate-display = combobulate-ztree
combobulate-envelope = combobulate-manipulation python rx project compat
comint = ansi-osc ring ansi-color = combobulate-procedure
combobulate-navigation combobulate-misc = combobulate-setup tempo
combobulate-interface = combobulate-settings diff-mode track-changes
easy-mmode = treesit generator combobulate-rules = company-autoloads
copilot-mode-autoloads = crontab-mode-autoloads dap-mode-autoloads
bui-autoloads = doom-modeline-autoloads = doom-themes-autoloads
dracula-theme-autoloads = edit-indirect-autoloads = ef-themes-autoloads
elisp-slime-nav-autoloads = embark-consult-autoloads consult-autoloads
embark-autoloads = expand-region-autoloads = flycheck-autoloads
highlight-symbol-autoloads = indent-bars-autoloads = lsp-docker-autoloads
lsp-treemacs-autoloads lsp-mode-autoloads = magit-autoloads pcase
magit-section-autoloads llama-autoloads = marginalia-autoloads
markdown-mode-autoloads = modus-themes-autoloads
multiple-cursors-autoloads = nerd-icons-autoloads nlinum-autoloads
orderless-autoloads = paredit-autoloads pet-autoloads = poetry-autoloads
powershell-autoloads pyvenv-autoloads = shrink-path-autoloads f-autoloads
spinner-autoloads = transient-autoloads treemacs-autoloads = cfrs-autoloads
posframe-autoloads ht-autoloads hydra-autoloads = lv-autoloads
pfuture-autoloads ace-window-autoloads = avy-autoloads s-autoloads
dash-autoloads undo-tree-autoloads = queue-autoloads vertico-autoloads
wgrep-autoloads info = with-editor-autoloads wsd-mode-autoloads
yaml-autoloads = package browse-url xdg 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 icons = password-cache json subr-x map byte-opt
gv bytecomp = byte-compile url-vars cl-loaddefs cl-lib rmc = iso-transl
tooltip cconv eldoc paren electric uniquify = ediff-hook vc-hooks
lisp-float-type elisp-mode mwheel = term/ns-win ns-win ucs-normalize
mule-util term/common-win = 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 kqueue cocoa ns lcms2 multi-tty = make-network-process
tty-child-frames native-compile = emacs)

Memory information:
((conses = 16 1279995 196050) (symbols 48 56184 2)
 (strings 32 = 307557 14688) (string-bytes 1 8465336)
 (vectors 16 = 106135) (vector-slots 8 2019006 218077)
 (floats 8 2291 = 3855) (intervals 56 40777 6537) (buffers 1064 = 68))

= --Apple-Mail=_4A8939E1-147B-4B86-9B9F-BA26D3D84F48-- --Apple-Mail=_F284CB4E-743E-48CC-AE6A-C5FDB010B51C-- From unknown Sun Jun 15 08:43:47 2025 X-Loop: help-debbugs@gnu.org Subject: bug#78567: Acknowledgement ([PATCH] 31.0.50; bash-ts-mode: brackets not highlighted correctly in shell-expansion expressions) Resent-From: Jostein =?UTF-8?Q?Kj=C3=B8nigsen?= Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 02 Jun 2025 10:01:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 78567 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: 78567@debbugs.gnu.org Cc: Eli Zaretskii , Yuan Fu Received: via spool by 78567-submit@debbugs.gnu.org id=B78567.174885841226236 (code B ref 78567); Mon, 02 Jun 2025 10:01:02 +0000 Received: (at 78567) by debbugs.gnu.org; 2 Jun 2025 10:00:12 +0000 Received: from localhost ([127.0.0.1]:48606 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uM1xk-0006ox-4z for submit@debbugs.gnu.org; Mon, 02 Jun 2025 06:00:12 -0400 Received: from fout-b2-smtp.messagingengine.com ([202.12.124.145]:52919) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1uM1xh-0006iF-St for 78567@debbugs.gnu.org; Mon, 02 Jun 2025 06:00:10 -0400 Received: from phl-compute-02.internal (phl-compute-02.phl.internal [10.202.2.42]) by mailfout.stl.internal (Postfix) with ESMTP id 14ED11140158; Mon, 2 Jun 2025 06:00:04 -0400 (EDT) Received: from phl-mailfrontend-02 ([10.202.2.163]) by phl-compute-02.internal (MEProxy); Mon, 02 Jun 2025 06:00:04 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= secure.kjonigsen.net; h=cc:cc:content-type:content-type:date :date:from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to; s=fm3; t=1748858403; x=1748944803; bh=AqaEJ/jZZkmgpc2ADyoXe9GeXslo9XAJuNCQ2uCQ3W4=; b= L3D3bJ9/Tg3c1qzAsa+HmpYj32tPWn8jhW3DdwfbOXTwhMI1Ywtp3M2Ajlx35fOA B0i7WTBmujrWAydShxkoI9aBLqBXAYxgQITsIe4J6/sIynPR36OIimjQV51uJPen jM2qyY6ey40sVdG7KgPtOKWLUCTi1GGVRe+VCJIIhY93y3BvF3GXeIw7rUdZ3iy/ yBE8I7/vfUmGrxSrcTbmDRTHGid33yCmNeLsFO7GNuazEbXxTE/iMMg1DCh+zVSx 0Xdj/vDUj5Mz9cgsDEfo1bEeyXJV96imIDOzq+HvpL5/apQOTuk+yw/sgbf/x7C3 OHS9A0Vp7t3gl/3ZdkxyeA== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-type:content-type:date:date :feedback-id:feedback-id:from:from:in-reply-to:in-reply-to :message-id:mime-version:references:reply-to:subject:subject:to :to:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t= 1748858403; x=1748944803; bh=AqaEJ/jZZkmgpc2ADyoXe9GeXslo9XAJuNC Q2uCQ3W4=; b=OMLUiCRFBUkZJZ1sjIl11IXeq5qN/nOfzJYl66vc1aYua+CE+nv UugLXsG+NBqN+77OmG/HSzDYzY1XpEAJ+rw/8xi7LMi4hHKNSK+6WF/fPyYSn4my XN2BpzeB0u3wU9fMBYtMRPS2Gc+uNliwAFrjP2T0xllbeYe2/AjUwtnvKACx+XcV ZMuNTGeuckwPxypu/ezSYZSlI4wFHjBa/Wpb/wtFlvb9fr719tAgf7WiRtgSeBSo qSqu1vzGl/eb4sYbSWOoFuPaGe5sRc1W1YmzZk5K0gtvnONNelLcD2D3kFjlFCob nC6oogRibMEsYxVPZNdYoSWeL3oR7lHmJfQ== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeeffedrtddtgdefjeefjeculddtuddrgeefvddrtd dtmdcutefuodetggdotefrodftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpggft fghnshhusghstghrihgsvgdpuffrtefokffrpgfnqfghnecuuegrihhlohhuthemuceftd dtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenucfjughrpefhkfgtggfuffgj vefvfhfosegrtdhmrehhtdejnecuhfhrohhmpeflohhsthgvihhnucfmjhppnhhighhsvg hnuceojhhoshhtvghinhesshgvtghurhgvrdhkjhhonhhighhsvghnrdhnvghtqeenucgg tffrrghtthgvrhhnpeefleffveeivefhieetueelvdeuieetffeiffehvefghfevleeuff efffehuedvieenucffohhmrghinhepghhnuhdrohhrghenucevlhhushhtvghrufhiiigv pedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehjohhsthgvihhnsehsvggtuhhrvgdrkh hjohhnihhgshgvnhdrnhgvthdpnhgspghrtghpthhtohepfedpmhhouggvpehsmhhtphho uhhtpdhrtghpthhtohepjeekheeijeesuggvsggsuhhgshdrghhnuhdrohhrghdprhgtph htthhopegvlhhiiiesghhnuhdrohhrghdprhgtphhtthhopegtrghsohhurhhisehgmhgr ihhlrdgtohhm X-ME-Proxy: Feedback-ID: ib2f84088:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Mon, 2 Jun 2025 06:00:01 -0400 (EDT) From: Jostein =?UTF-8?Q?Kj=C3=B8nigsen?= Message-Id: <494C1ECB-9746-4828-8A3C-4E369CFB797C@secure.kjonigsen.net> Content-Type: multipart/alternative; boundary="Apple-Mail=_B490F291-D3BD-482D-A0E4-AF1BCA23FFC0" Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3826.600.51.1.1\)) Date: Mon, 2 Jun 2025 11:59:48 +0200 In-Reply-To: References: <97A0691B-BBD7-4850-819E-6C6D26CE70FD@secure.kjonigsen.net> X-Mailer: Apple Mail (2.3826.600.51.1.1) X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) --Apple-Mail=_B490F291-D3BD-482D-A0E4-AF1BCA23FFC0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 Any news on this one? =E2=80=94 Kind Regards Jostein Kj=C3=B8nigsen > On 23 May 2025, at 21:24, GNU bug Tracking System = wrote: >=20 > Thank you for filing a new bug report with debbugs.gnu.org. >=20 > This is an automatically generated reply to let you know your message > has been received. >=20 > Your message is being forwarded to the package maintainers and other > interested parties for their attention; they will reply in due course. >=20 > Your message has been sent to the package maintainer(s): > bug-gnu-emacs@gnu.org >=20 > If you wish to submit further information on this problem, please > send it to 78567@debbugs.gnu.org. >=20 > Please do not send mail to help-debbugs@gnu.org unless you wish > to report a problem with the Bug-tracking system. >=20 > --=20 > 78567: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D78567 > GNU Bug Tracking System > Contact help-debbugs@gnu.org with problems --Apple-Mail=_B490F291-D3BD-482D-A0E4-AF1BCA23FFC0 Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=utf-8 Any news on = this one?

=E2=80=94
Kind Regards
Jostein = Kj=C3=B8nigsen

On 23 May 2025, at 21:24, GNU = bug Tracking System <help-debbugs@gnu.org> wrote:

Thank you for filing a new = bug report with debbugs.gnu.org.

This is an automatically = generated reply to let you know your message
has been = received.

Your message is being forwarded to the package = maintainers and other
interested parties for their attention; they = will reply in due course.

Your message has been sent to the = package maintainer(s):
bug-gnu-emacs@gnu.org

If you wish to = submit further information on this problem, please
send it to = 78567@debbugs.gnu.org.

Please do not send mail to = help-debbugs@gnu.org unless you wish
to report a problem with the = Bug-tracking system.

--
78567: = https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D78567
GNU Bug = Tracking System
Contact help-debbugs@gnu.org with = problems

= --Apple-Mail=_B490F291-D3BD-482D-A0E4-AF1BCA23FFC0-- From unknown Sun Jun 15 08:43:47 2025 X-Loop: help-debbugs@gnu.org Subject: bug#78567: Acknowledgement ([PATCH] 31.0.50; bash-ts-mode: brackets not highlighted correctly in shell-expansion expressions) Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 02 Jun 2025 12:16:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 78567 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Jostein =?UTF-8?Q?Kj=C3=B8nigsen?= Cc: 78567@debbugs.gnu.org, casouri@gmail.com Received: via spool by 78567-submit@debbugs.gnu.org id=B78567.174886650510117 (code B ref 78567); Mon, 02 Jun 2025 12:16:02 +0000 Received: (at 78567) by debbugs.gnu.org; 2 Jun 2025 12:15:05 +0000 Received: from localhost ([127.0.0.1]:49777 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uM44G-0002cn-RG for submit@debbugs.gnu.org; Mon, 02 Jun 2025 08:15:05 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:33896) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1uM44F-0002an-G9 for 78567@debbugs.gnu.org; Mon, 02 Jun 2025 08:15:03 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uM449-0003ut-A6; Mon, 02 Jun 2025 08:14:57 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From: Date; bh=oBy/qKqbAscC266xXH+50lxhd9zsNtL1upeNzXswlvM=; b=IsIRTM9uLZ+ktupaFnKl 05WP6PLnq/zoxo6Qhgi4P6a67KVKvGOs+TShxV+wR6on/IGqete1Y6HaHYaMYWcuROWa4VF0PrGCM cxWa04RoDADbkil7yJytHGE92SQ5oUVztDY2NFa+ZU4DLq6QpIrr0bLxseC00JwkeuQWNVKW46EVh 4Mb9rnIyus+5vZ4HIoJFuV/D2DlCu3dK4bnw+r3PnzmkoIWrY0caMyIKl7Sl9VoME+pPBMy2sPRjJ 2Egyl1Qzasy5sU0NBl90UWrCN2c+WQMMLcq0+9AN9m+yDapPBk/GtFKQQtpxy1WL11QcGL1PgNV2L hyRzbaDImxpCgg==; Date: Mon, 02 Jun 2025 15:14:48 +0300 Message-Id: <86a56qpcg7.fsf@gnu.org> From: Eli Zaretskii In-Reply-To: <494C1ECB-9746-4828-8A3C-4E369CFB797C@secure.kjonigsen.net> (message from Jostein =?UTF-8?Q?Kj=C3=B8nigsen?= on Mon, 2 Jun 2025 11:59:48 +0200) References: <97A0691B-BBD7-4850-819E-6C6D26CE70FD@secure.kjonigsen.net> <494C1ECB-9746-4828-8A3C-4E369CFB797C@secure.kjonigsen.net> MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Jostein Kjønigsen > Date: Mon, 2 Jun 2025 11:59:48 +0200 > Cc: Eli Zaretskii , > Yuan Fu > > Any news on this one? Not yet. From unknown Sun Jun 15 08:43:47 2025 MIME-Version: 1.0 X-Mailer: MIME-tools 5.505 (Entity 5.505) X-Loop: help-debbugs@gnu.org From: help-debbugs@gnu.org (GNU bug Tracking System) To: Jostein =?UTF-8?Q?Kj=C3=B8nigsen?= Subject: bug#78567: closed (Re: bug#78567: Acknowledgement ([PATCH] 31.0.50; bash-ts-mode: brackets not highlighted correctly in shell-expansion expressions)) Message-ID: References: <9FC5B2CA-419B-454B-A7D5-89C4EFA97A0A@gmail.com> <97A0691B-BBD7-4850-819E-6C6D26CE70FD@secure.kjonigsen.net> X-Gnu-PR-Message: they-closed 78567 X-Gnu-PR-Package: emacs X-Gnu-PR-Keywords: patch Reply-To: 78567@debbugs.gnu.org Date: Wed, 04 Jun 2025 07:11:02 +0000 Content-Type: multipart/mixed; boundary="----------=_1749021062-26500-1" This is a multi-part message in MIME format... ------------=_1749021062-26500-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Your bug report #78567: [PATCH] 31.0.50; bash-ts-mode: brackets not highlighted correctly i= n shell-expansion expressions which was filed against the emacs package, has been closed. The explanation is attached below, along with your original report. If you require more details, please reply to 78567@debbugs.gnu.org. --=20 78567: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D78567 GNU Bug Tracking System Contact help-debbugs@gnu.org with problems ------------=_1749021062-26500-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at 78567-done) by debbugs.gnu.org; 4 Jun 2025 07:10:55 +0000 Received: from localhost ([127.0.0.1]:46377 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uMiH0-0006sz-Bh for submit@debbugs.gnu.org; Wed, 04 Jun 2025 03:10:54 -0400 Received: from mail-pl1-x632.google.com ([2607:f8b0:4864:20::632]:53749) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1uMiGx-0006sZ-Hf for 78567-done@debbugs.gnu.org; Wed, 04 Jun 2025 03:10:52 -0400 Received: by mail-pl1-x632.google.com with SMTP id d9443c01a7336-234c5b57557so56482195ad.3 for <78567-done@debbugs.gnu.org>; Wed, 04 Jun 2025 00:10:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1749021045; x=1749625845; darn=debbugs.gnu.org; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=du1SYjkOE7bjrah4EopAUf23P4gpe9s+X59KlNkZOec=; b=kavtgBs12U0EdjN1Kvr1pyZ1bMTaznKvJ+bNM5FlBWi4XAwuM4OB5f2x9Q6kMh7cRQ BVhPLD7gWVg1931BCjXj4xAYv6mKKF0+3HfB9se0FiBCEt2DNJfmoKF2xSs5M4eJHakB hCRz8Vqlrh4gAfq4NyNo2/4ceezlj6j2im8LFNp8W4NjrmBnilKo3hCwo2uAOFRfCdFw 9CgiCOMk1UOFoaHikqyzKsPKt4MuSjRdFldtzk1DP8HQ6iu1IkpLBdouASO5ZmqcVEJe ws6HTfursh/KZDBybpPiLju/sxi3ZlYM4R1rdm2dx55L8nyebei4aZukubi/Yy13elpo 8tgA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1749021045; x=1749625845; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=du1SYjkOE7bjrah4EopAUf23P4gpe9s+X59KlNkZOec=; b=QaCqWqcwkG0YCPoVajzRTrRsqJigxMlelxqJNXEYeq61emyx1dVpVZP/BJXDQ9N1MC q9KSbR11DQVFuRx61/qsSYTLu9cNMGMu7FopftPF++7hvkHCGWF/sw7VxOOBZ9nvBAkn of26zj3lfRBamMqUK+CF2gxlb1kSw8kAL2ZgcUzlvuyOFsCpkt4UAZNewX3XHtoC9KXo IQbl6o0ZyZBhjiSAWqQOJWByIecjSvsAcAe7YgTnRPYoUkD9YbLy5+BKwPuaEg3dz+jT AhZnso5KOqafhtcKC7fZnnXMBer/wEogSKD5+0sZKxXt7pdeqgIsOzKT9HotOU8iGr+G xA/Q== X-Forwarded-Encrypted: i=1; AJvYcCXHSNfPICKTJOWkPP35mYlfp3aG8nmHJHJCmss4PINIhg/Yt7QInZUZ0fblBUFH5eB6EiP4y9Dh7IJG@debbugs.gnu.org X-Gm-Message-State: AOJu0YzS+kcUblaDrGiqi2f3316LSssWpLRhaaJatF5iKsEPFSruSvah kiUORzHda+iEHRH8NgIa/c++aJuCBeUJoTvJUq2++17C4sv+x/7s6eCP X-Gm-Gg: ASbGncvdL62G+RHAVwkSz/D0RHGJJtu0z4tfAM5HrWZqJPImCpZgjhYx4cFuepaYy+p Fp0Z0gFhI/nq4T0Z8egvEGkNR0tbDogZsOsmQXckqwx2scISc8v6YdfDOepOtojeNFWN558BONU WcN/JcpNr+knjgdVB1kHYPyElDKeuecB9zP3RqtB0tsdy89QRXHxdfRwxqeR/EMg3YYcgQGc+FJ WlPPknAaq0WLgijwIJpKvnSX3dxz8fd8z7IuySlIe737115xEqW1m6PkgxcjeUQmD7TnPagRWzL pqAqxxRE2S9ogCvjesaWn5qe5HS4YQLDI+sXe06dOtuZr64RSg7JByxx4xENFNnrvXQjeGCj1m8 azYyIwpUM7uZgMi+H2aojLapg X-Google-Smtp-Source: AGHT+IGtjmZ8V2zErXc4+IKAdIAFcHj3X157NuuYEF320S8er24wpKANfEp8VJRGlFz+EOcWtpvC5w== X-Received: by 2002:a17:902:e550:b0:234:f580:a11 with SMTP id d9443c01a7336-235e1158a0fmr26427755ad.19.1749021045248; Wed, 04 Jun 2025 00:10:45 -0700 (PDT) Received: from smtpclient.apple (c-24-4-247-194.hsd1.ca.comcast.net. [24.4.247.194]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-23506cf539esm97876595ad.194.2025.06.04.00.10.44 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 04 Jun 2025 00:10:44 -0700 (PDT) Content-Type: text/plain; charset=utf-8 Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3826.500.181.1.5\)) Subject: Re: bug#78567: Acknowledgement ([PATCH] 31.0.50; bash-ts-mode: brackets not highlighted correctly in shell-expansion expressions) From: Yuan Fu In-Reply-To: <86a56qpcg7.fsf@gnu.org> Date: Wed, 4 Jun 2025 00:10:33 -0700 Content-Transfer-Encoding: quoted-printable Message-Id: <9FC5B2CA-419B-454B-A7D5-89C4EFA97A0A@gmail.com> References: <97A0691B-BBD7-4850-819E-6C6D26CE70FD@secure.kjonigsen.net> <494C1ECB-9746-4828-8A3C-4E369CFB797C@secure.kjonigsen.net> <86a56qpcg7.fsf@gnu.org> To: Eli Zaretskii X-Mailer: Apple Mail (2.3826.500.181.1.5) X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 78567-done Cc: 78567-done@debbugs.gnu.org, =?utf-8?Q?Jostein_Kj=C3=B8nigsen?= X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) > On Jun 2, 2025, at 5:14=E2=80=AFAM, Eli Zaretskii = wrote: >=20 >> From: Jostein Kj=C3=B8nigsen >> Date: Mon, 2 Jun 2025 11:59:48 +0200 >> Cc: Eli Zaretskii , >> Yuan Fu >>=20 >> Any news on this one? >=20 > Not yet. Thanks Jostein! I applied it on master. I might miss tree-sitter related = bug reports when I=E2=80=99m busy, you can add X-Debbugs-CC: = casouri@gmail.com in your email to make sure = I=E2=80=99m always CC=E2=80=99ed [1]. Technically you need to put it in = the header, but I found that putting it at the top of the body works = too. [1] https://www.debian.org/Bugs/Reporting Yuan= ------------=_1749021062-26500-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at submit) by debbugs.gnu.org; 23 May 2025 19:23:37 +0000 Received: from localhost ([127.0.0.1]:50858 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uIXzU-0006uM-6N for submit@debbugs.gnu.org; Fri, 23 May 2025 15:23:37 -0400 Received: from lists.gnu.org ([2001:470:142::17]:59718) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1uIXzQ-0006tt-4a for submit@debbugs.gnu.org; Fri, 23 May 2025 15:23:33 -0400 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 1uIXzI-00042Q-Iv for bug-gnu-emacs@gnu.org; Fri, 23 May 2025 15:23:25 -0400 Received: from fhigh-a3-smtp.messagingengine.com ([103.168.172.154]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uIXzC-0000v0-1B for bug-gnu-emacs@gnu.org; Fri, 23 May 2025 15:23:23 -0400 Received: from phl-compute-05.internal (phl-compute-05.phl.internal [10.202.2.45]) by mailfhigh.phl.internal (Postfix) with ESMTP id 568C9114010D for ; Fri, 23 May 2025 15:23:15 -0400 (EDT) Received: from phl-mailfrontend-02 ([10.202.2.163]) by phl-compute-05.internal (MEProxy); Fri, 23 May 2025 15:23:15 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= secure.kjonigsen.net; h=cc:content-type:content-type:date:date :from:from:in-reply-to:message-id:mime-version:reply-to:subject :subject:to:to; s=fm2; t=1748028195; x=1748114595; bh=sBYAdt3pnl tzB8hhtEvhf9si5clHLuB8OEI0YPkuNVA=; b=eKaaifHePJHG0VCOez/HOBJ5ky 0Gl4woPdU20gNNquGczlPULDpT1LchVDq9jQrEt/d94tCTzIDJ6KSqJ+PPvjs654 lLhIiq5R8VWLj9p0sOYxWYxAACtthFHVxGCtnsAk4PE3dEFcnqwGjHVmHtJeCUmY RlT6WY7lQTxCTFAgwuvtoJh2L7Irpf8zXMZpyWA0N8KJOePzS+U6WgsgGqaTok6F 63HxB5zsOkhLPK0OGoFUP6biHXcbgfbeb1PMDzQCXb/IZao50zGyv41Tg4cS2NP7 VTvnorPvBH1MbfsMAqeJkbIY+5NDsLPnUm7LCifQea5PeFNtcAKnzpAy7xPA== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-type:content-type:date:date :feedback-id:feedback-id:from:from:in-reply-to:message-id :mime-version:reply-to:subject:subject:to:to:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm3; t=1748028195; x= 1748114595; bh=sBYAdt3pnltzB8hhtEvhf9si5clHLuB8OEI0YPkuNVA=; b=i Igzd97ePIEjKto2Vr0oBihtcvgfn+EEREe8aLrb8VyYbnoZb8/UJx6WB1KMthzBp fnPQe02wCy+XnWPMXQZjeeIY4JxH2wLrQWXj+EiuWgt3loxytSh/HGCW/gjliN1q MuP1mlYNW5nL974bAMfUWGy8kLkOq47qyZNdc9Jv4fRRbA9e60ubC2LMrDSXL6/i K6lb8+4bptymWpgnbjknBIIQBtAK/5lmvJaVDyM+ir9y/gvTZyzKrrdolKm45tK3 cmTFyo5D5BnyDDqpzy+u8byECwL709rwisj16SFFb4bD0wvsAKQfhSwqJ8D3JO00 EfYEcKlA0VHSjaJH/H5RA== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeeffedrtddtgdelieekucdltddurdegfedvrddttd dmucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdggtfgf nhhsuhgsshgtrhhisggvpdfurfetoffkrfgpnffqhgenuceurghilhhouhhtmecufedttd enucenucfjughrpefhtggguffkfffvofesrgdtmherhhdtvdenucfhrhhomheplfhoshht vghinhcumfhjpphnihhgshgvnhcuoehjohhsthgvihhnsehsvggtuhhrvgdrkhhjohhnih hgshgvnhdrnhgvtheqnecuggftrfgrthhtvghrnhepfeeutddvfffgvedugeeigfeuheeh ffeftefgfedvjeeivdekkeekhfdvveeiueeunecuvehluhhsthgvrhfuihiivgeptdenuc frrghrrghmpehmrghilhhfrhhomhepjhhoshhtvghinhesshgvtghurhgvrdhkjhhonhhi ghhsvghnrdhnvghtpdhnsggprhgtphhtthhopedupdhmohguvgepshhmthhpohhuthdprh gtphhtthhopegsuhhgqdhgnhhuqdgvmhgrtghssehgnhhurdhorhhg X-ME-Proxy: Feedback-ID: ib2f84088:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA for ; Fri, 23 May 2025 15:23:14 -0400 (EDT) From: =?utf-8?Q?Jostein_Kj=C3=B8nigsen?= Content-Type: multipart/alternative; boundary="Apple-Mail=_F284CB4E-743E-48CC-AE6A-C5FDB010B51C" Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3826.600.51.1.1\)) Subject: [PATCH] 31.0.50; bash-ts-mode: brackets not highlighted correctly in shell-expansion expressions Message-Id: <97A0691B-BBD7-4850-819E-6C6D26CE70FD@secure.kjonigsen.net> Date: Fri, 23 May 2025 21:23:01 +0200 To: bug-gnu-emacs@gnu.org X-Mailer: Apple Mail (2.3826.600.51.1.1) Received-SPF: pass client-ip=103.168.172.154; envelope-from=jostein@secure.kjonigsen.net; helo=fhigh-a3-smtp.messagingengine.com X-Spam_score_int: -26 X-Spam_score: -2.7 X-Spam_bar: -- X-Spam_report: (-2.7 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) --Apple-Mail=_F284CB4E-743E-48CC-AE6A-C5FDB010B51C Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 Hey everyone. When using the new bash-ts-mode to edit shell-scripts, simple = shell-expansion expressions are fontified using (among other things) = sh-quoted-exec face: Examples below: echo `test` echo $(test) Unfortunately, in both of these cases the enclosing brackets are also = fontified using sh-quoted-exec. Not only makes this the shell-expansion = expression harder to read, but it also makes the fontification of these = brackets inconsistent with all other brackets in bash-ts-mode. This seems to be due to an overly wide selector used in the tree-sitter = rules, which can be easily narrowed without impacting the core function = of the rule: highlighting shell-expansions. Attached is a patch which implements this fix, and makes shell-expansion = brackets highlighted consistently. Cheers! =EF=BF=BC =E2=80=94 Kind Regards Jostein Kj=C3=B8nigsen In GNU Emacs 31.0.50 (build 7, aarch64-apple-darwin24.4.0, NS appkit-2575.50 Version 15.4.1 (Build 24E263)) of 2025-05-20 built on SOK67R3KWV97 Repository revision: e9bab32bc7229d4260e5870efc54ae4458c6ccc9 Repository branch: master Windowing system distributor 'Apple', version 10.3.2575 System Description: macOS 15.5 Configured using: 'configure --with-tree-sitter --with-native-compilation --with-imagemagick --with-harfbuzz' Configured features: ACL GLIB GNUTLS IMAGEMAGICK LCMS2 LIBXML2 MODULES NATIVE_COMP NOTIFY KQUEUE NS PDUMPER PNG RSVG SQLITE3 THREADS TOOLKIT_SCROLL_BARS TREE_SITTER WEBP XIM ZLIB Important settings: value of $LC_ALL: en_US.UTF-8 value of $LC_CTYPE: UTF-8 value of $LANG: en_US.UTF-8 locale-coding-system: utf-8-unix Major mode: Elisp/l Minor modes in effect: bug-reference-prog-mode: t global-git-commit-mode: t magit-auto-revert-mode: t elisp-slime-nav-mode: t paredit-mode: t highlight-symbol-mode: t flycheck-mode: t indent-bars-mode: t completion-preview-mode: t delete-selection-mode: t global-auto-revert-mode: t editorconfig-mode: t all-the-icons-completion-mode: t marginalia-mode: t vertico-mode: t global-nlinum-mode: t nlinum-mode: t override-global-mode: t server-mode: t global-hl-line-mode: t pixel-scroll-precision-mode: t doom-modeline-mode: t tooltip-mode: t global-eldoc-mode: t eldoc-mode: t show-paren-mode: t electric-indent-mode: t mouse-wheel-mode: t menu-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t blink-cursor-mode: t minibuffer-regexp-mode: t column-number-mode: t line-number-mode: t auto-fill-function: do-auto-fill transient-mark-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t hs-minor-mode: t Load-path shadows: /Users/josteink/.emacs.d/elpa/ef-themes-1.9.0/theme-loaddefs hides = /Users/josteink/.emacs.d/elpa/modus-themes-20250220.647/theme-loaddefs /Users/josteink/.emacs.d/elpa/transient-20250301.2218/transient hides = /Users/josteink/build/emacs/lisp/transient /Users/josteink/.emacs.d/elpa/ef-themes-1.9.0/theme-loaddefs hides = /Users/josteink/build/emacs/lisp/theme-loaddefs Features: (shadow sort mail-extr emacsbug help-fns radix-tree git-rebase pet let-alist json-ts-mode goto-addr vc-hg vc-bzr vc-src vc-sccs vc-svn vc-cvs vc-rcs log-view vc bug-reference magit-extras magit-bookmark magit-submodule 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 magit-repos magit-apply magit-wip magit-log which-func magit-diff smerge-mode git-commit log-edit pcvs-util add-log magit-core magit-autorevert magit-margin magit-transient magit-process with-editor magit-mode benchmark magit-git magit-base magit-section cursor-sensor crm llama markdown-mode edit-indirect pulse misearch multi-isearch lisp-mnt elec-pair csharp-mode c-ts-common cc-langs cc-mode cc-fonts cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs vc-git vc-dispatcher org-duration diary-lib diary-loaddefs cal-iso disp-table oc-basic ol-eww 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 gnus-spec gnus-int gnus-range message sendmail yank-media rfc822 mml mml-sec epa epg rfc6068 epg-config mm-decode mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045 ietf-drums mailabbrev gmm-utils mailheader gnus-win ol-docview doc-view jka-compr image-mode exif dired dired-loaddefs ol-bibtex bibtex ol-bbdb ol-w3m ol-doi org-link-doi org-agenda elisp-slime-nav etags fileloop paredit highlight-symbol flycheck indent-bars-ts indent-bars cus-edit cus-start cus-load face-remap color powershell eglot tree-widget derived external-completion jsonrpc flymake diff ert ewoc debug backtrace completion-preview hideshow compile eww vtable url-queue shr pixel-fill kinsoku url-file svg xml puny mm-url gnus nnheader gnus-util mail-utils range wid-edit mm-util mail-prsvr tramp trampver tramp-integration tramp-message tramp-compat shell parse-time iso8601 tramp-loaddefs imenu ob-plantuml delsel autorevert filenotify embark-org org-element org-persist org-id org-refile org-element-ast inline avl-tree org ob ob-tangle ob-ref ob-lob ob-table ob-exp org-macro org-src sh-script smie executable ob-comint org-pcomplete pcomplete org-list org-footnote org-faces org-entities time-date 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 bicep-ts-mode editorconfig editorconfig-core editorconfig-core-handle editorconfig-fnmatch embark-consult consult bookmark text-property-search embark ffap orderless all-the-icons-completion marginalia vertico nlinum linum use-package-bind-key bind-key server hl-line pixel-scroll cua-base all-the-icons all-the-icons-faces data-material data-weathericons data-octicons data-fileicons data-faicons data-alltheicons doom-modeline doom-modeline-segments doom-modeline-env doom-modeline-core shrink-path f s dash nerd-icons nerd-icons-faces nerd-icons-data nerd-icons-data-mdicon nerd-icons-data-flicon nerd-icons-data-codicon nerd-icons-data-devicon nerd-icons-data-sucicon nerd-icons-data-wicon nerd-icons-data-faicon nerd-icons-data-powerline nerd-icons-data-octicon nerd-icons-data-pomicon nerd-icons-data-ipsicon dracula-theme use-package-ensure use-package-core finder-inf all-the-icons-completion-autoloads all-the-icons-autoloads bicep-ts-mode-autoloads bmx-mode-autoloads cargo-autoloads cmake-mode-autoloads color-theme-sanityinc-tomorrow-autoloads combobulate-autoloads combobulate-go combobulate-json combobulate-yaml combobulate-css combobulate-js-ts combobulate-python combobulate-html combobulate-toml combobulate-cursor multiple-cursors mc-separate-operations rectangular-region-mode mc-mark-pop mc-edit-lines mc-hide-unmatched-lines-mode mc-mark-more sgml-mode facemenu dom thingatpt mc-cycle-cursors multiple-cursors-core advice comp comp-cstr cl-extra help-mode warnings comp-run comp-common rect combobulate-query savehist xref files-x scheme combobulate-ui transient pp format-spec edmacro kmacro combobulate-display combobulate-ztree combobulate-envelope combobulate-manipulation python rx project compat comint ansi-osc ring ansi-color combobulate-procedure combobulate-navigation combobulate-misc combobulate-setup tempo combobulate-interface combobulate-settings diff-mode track-changes easy-mmode treesit generator combobulate-rules company-autoloads copilot-mode-autoloads crontab-mode-autoloads dap-mode-autoloads bui-autoloads doom-modeline-autoloads doom-themes-autoloads dracula-theme-autoloads edit-indirect-autoloads ef-themes-autoloads elisp-slime-nav-autoloads embark-consult-autoloads consult-autoloads embark-autoloads expand-region-autoloads flycheck-autoloads highlight-symbol-autoloads indent-bars-autoloads lsp-docker-autoloads lsp-treemacs-autoloads lsp-mode-autoloads magit-autoloads pcase magit-section-autoloads llama-autoloads marginalia-autoloads markdown-mode-autoloads modus-themes-autoloads multiple-cursors-autoloads nerd-icons-autoloads nlinum-autoloads orderless-autoloads paredit-autoloads pet-autoloads poetry-autoloads powershell-autoloads pyvenv-autoloads shrink-path-autoloads f-autoloads spinner-autoloads transient-autoloads treemacs-autoloads cfrs-autoloads posframe-autoloads ht-autoloads hydra-autoloads lv-autoloads pfuture-autoloads ace-window-autoloads avy-autoloads s-autoloads dash-autoloads undo-tree-autoloads queue-autoloads vertico-autoloads wgrep-autoloads info with-editor-autoloads wsd-mode-autoloads yaml-autoloads package browse-url xdg 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 icons password-cache json subr-x map byte-opt gv bytecomp byte-compile url-vars cl-loaddefs cl-lib rmc iso-transl tooltip cconv eldoc paren electric uniquify ediff-hook vc-hooks lisp-float-type elisp-mode mwheel term/ns-win ns-win ucs-normalize mule-util term/common-win 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 kqueue cocoa ns lcms2 multi-tty make-network-process tty-child-frames native-compile emacs) Memory information: ((conses 16 1279995 196050) (symbols 48 56184 2) (strings 32 307557 14688) (string-bytes 1 8465336) (vectors 16 106135) (vector-slots 8 2019006 218077) (floats 8 2291 3855) (intervals 56 40777 6537) (buffers 1064 68)) --Apple-Mail=_F284CB4E-743E-48CC-AE6A-C5FDB010B51C Content-Type: multipart/mixed; boundary="Apple-Mail=_4A8939E1-147B-4B86-9B9F-BA26D3D84F48" --Apple-Mail=_4A8939E1-147B-4B86-9B9F-BA26D3D84F48 Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=us-ascii Hey = everyone.

When using the new bash-ts-mode to edit = shell-scripts, simple shell-expansion expressions are fontified using = (among other things) sh-quoted-exec = face:

Examples = below:

echo `test`
echo = $(test)

Unfortunately, in both of these cases = the enclosing brackets are also fontified using sh-quoted-exec. Not only = makes this the shell-expansion expression harder to read, but it also = makes the fontification of these brackets inconsistent with all other = brackets in bash-ts-mode.

This seems to be due = to an overly wide selector used in the tree-sitter rules, which can be = easily narrowed without impacting the core function of the rule: = highlighting shell-expansions.

Attached is a = patch which implements this fix, and makes shell-expansion brackets = highlighted = consistently.

Cheers!

= --Apple-Mail=_4A8939E1-147B-4B86-9B9F-BA26D3D84F48 Content-Disposition: attachment; filename=0001-sh-script.el-Fix-bracket-fontification-in-command-su.patch Content-Type: application/octet-stream; x-unix-mode=0644; name="0001-sh-script.el-Fix-bracket-fontification-in-command-su.patch" Content-Transfer-Encoding: quoted-printable =46rom=20adbb45193017bf84e4d829071f6fd17b9b13fce8=20Mon=20Sep=2017=20= 00:00:00=202001=0AFrom:=20=3D?UTF-8?q?Jostein=3D20Kj=3DC3=3DB8nigsen?=3D=20= =0ADate:=20Mon,=205=20May=202025=2022:29:37=20= +0200=0ASubject:=20[PATCH=201/3]=20sh-script.el:=20Fix=20bracket=20= fontification=20in=20command=0A=20substitution=0A=0A*=20= sh-mode--treesit-settings:=20fontify=20command-substition=20command=20= only.=0A=20=20not=20enclosing=20brackets.=0A---=0A=20= lisp/progmodes/sh-script.el=20|=202=20+-=0A=201=20file=20changed,=201=20= insertion(+),=201=20deletion(-)=0A=0Adiff=20--git=20= a/lisp/progmodes/sh-script.el=20b/lisp/progmodes/sh-script.el=0Aindex=20= 5075e9a0afc..9a5bd0c6d23=20100644=0A---=20a/lisp/progmodes/sh-script.el=0A= +++=20b/lisp/progmodes/sh-script.el=0A@@=20-3368,7=20+3368,7=20@@=20= sh-mode--treesit-settings=0A=20=20=20=20:feature=20'string-interpolation=0A= =20=20=20=20:language=20'bash=0A=20=20=20=20:override=20t=0A-=20=20=20= '((command_substitution)=20@sh-quoted-exec=0A+=20=20=20= '((command_substitution=20(command)=20@sh-quoted-exec)=0A=20=20=20=20=20=20= (expansion=20(variable_name)=20@font-lock-variable-use-face)=0A=20=20=20=20= =20=20(expansion=20["${"=20"}"]=20@font-lock-bracket-face)=0A=20=20=20=20= =20=20(simple_expansion=0A--=20=0A2.49.0=0A=0A= --Apple-Mail=_4A8939E1-147B-4B86-9B9F-BA26D3D84F48 Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=utf-8

=E2=80=94
Kind Regards
Jostein = Kj=C3=B8nigsen



In GNU Emacs 31.0.50 (build = 7, aarch64-apple-darwin24.4.0, NS
 appkit-2575.50 Version = 15.4.1 (Build 24E263)) of 2025-05-20 built = on
 SOK67R3KWV97
Repository revision: = e9bab32bc7229d4260e5870efc54ae4458c6ccc9
Repository branch: = master
Windowing system distributor 'Apple', version = 10.3.2575
System Description:  macOS = 15.5

Configured = using:
 'configure --with-tree-sitter = --with-native-compilation
 --with-imagemagick = --with-harfbuzz'

Configured = features:
ACL GLIB GNUTLS IMAGEMAGICK LCMS2 LIBXML2 MODULES = NATIVE_COMP NOTIFY
KQUEUE NS PDUMPER PNG RSVG SQLITE3 THREADS = TOOLKIT_SCROLL_BARS
TREE_SITTER WEBP XIM = ZLIB

Important settings:
  value = of $LC_ALL: en_US.UTF-8
  value of $LC_CTYPE: = UTF-8
  value of $LANG: en_US.UTF-8
  = locale-coding-system: utf-8-unix

Major mode: = Elisp/l

Minor modes in effect:
  = bug-reference-prog-mode: t
  global-git-commit-mode: = t
  magit-auto-revert-mode: t
  = elisp-slime-nav-mode: t
  paredit-mode: = t
  highlight-symbol-mode: t
  = flycheck-mode: t
  indent-bars-mode: t
  = completion-preview-mode: t
  delete-selection-mode: = t
  global-auto-revert-mode: t
  = editorconfig-mode: t
  all-the-icons-completion-mode: = t
  marginalia-mode: t
  vertico-mode: = t
  global-nlinum-mode: t
  nlinum-mode: = t
  override-global-mode: t
  server-mode: = t
  global-hl-line-mode: t
  = pixel-scroll-precision-mode: t
  doom-modeline-mode: = t
  tooltip-mode: t
  global-eldoc-mode: = t
  eldoc-mode: t
  show-paren-mode: = t
  electric-indent-mode: t
  = mouse-wheel-mode: t
  menu-bar-mode: t
  = file-name-shadow-mode: t
  global-font-lock-mode: = t
  font-lock-mode: t
  blink-cursor-mode: = t
  minibuffer-regexp-mode: t
  = column-number-mode: t
  line-number-mode: = t
  auto-fill-function: do-auto-fill
  = transient-mark-mode: t
  auto-composition-mode: = t
  auto-encryption-mode: t
  = auto-compression-mode: t
  hs-minor-mode: = t

Load-path = shadows:
/Users/josteink/.emacs.d/elpa/ef-themes-1.9.0/theme-loa= ddefs hides = /Users/josteink/.emacs.d/elpa/modus-themes-20250220.647/theme-loaddefs
/Users/josteink/.emacs.d/elpa/transient-20250301.2218/transient = hides = /Users/josteink/build/emacs/lisp/transient
/Users/josteink/.emac= s.d/elpa/ef-themes-1.9.0/theme-loaddefs hides = /Users/josteink/build/emacs/lisp/theme-loaddefs

F= eatures:
(shadow sort mail-extr emacsbug help-fns radix-tree = git-rebase pet
let-alist json-ts-mode goto-addr vc-hg vc-bzr = vc-src vc-sccs vc-svn
vc-cvs vc-rcs log-view vc bug-reference = magit-extras magit-bookmark
magit-submodule 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
magit-repos magit-apply = magit-wip magit-log which-func magit-diff
smerge-mode = git-commit log-edit pcvs-util add-log = magit-core
magit-autorevert magit-margin magit-transient = magit-process with-editor
magit-mode benchmark magit-git = magit-base magit-section cursor-sensor
crm llama markdown-mode = edit-indirect pulse misearch multi-isearch
lisp-mnt elec-pair = csharp-mode c-ts-common cc-langs cc-mode cc-fonts
cc-guess = cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars = cc-defs
vc-git vc-dispatcher org-duration diary-lib = diary-loaddefs cal-iso
disp-table oc-basic ol-eww 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 gnus-spec gnus-int gnus-range
message = sendmail yank-media rfc822 mml mml-sec epa epg = rfc6068
epg-config mm-decode mm-bodies mm-encode mail-parse = rfc2231 rfc2047
rfc2045 ietf-drums mailabbrev gmm-utils = mailheader gnus-win ol-docview
doc-view jka-compr image-mode = exif dired dired-loaddefs ol-bibtex bibtex
ol-bbdb ol-w3m = ol-doi org-link-doi org-agenda elisp-slime-nav etags
fileloop = paredit highlight-symbol flycheck indent-bars-ts = indent-bars
cus-edit cus-start cus-load face-remap color = powershell eglot
tree-widget derived external-completion = jsonrpc flymake diff ert ewoc
debug backtrace = completion-preview hideshow compile eww vtable url-queue
shr = pixel-fill kinsoku url-file svg xml puny mm-url gnus = nnheader
gnus-util mail-utils range wid-edit mm-util = mail-prsvr tramp trampver
tramp-integration tramp-message = tramp-compat shell parse-time iso8601
tramp-loaddefs imenu = ob-plantuml delsel autorevert filenotify = embark-org
org-element org-persist org-id org-refile = org-element-ast inline
avl-tree org ob ob-tangle ob-ref ob-lob = ob-table ob-exp org-macro
org-src sh-script smie executable = ob-comint org-pcomplete pcomplete
org-list org-footnote = org-faces org-entities time-date 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 = bicep-ts-mode editorconfig
editorconfig-core = editorconfig-core-handle editorconfig-fnmatch
embark-consult = consult bookmark text-property-search embark ffap
orderless = all-the-icons-completion marginalia vertico nlinum = linum
use-package-bind-key bind-key server hl-line = pixel-scroll cua-base
all-the-icons all-the-icons-faces = data-material data-weathericons
data-octicons data-fileicons = data-faicons data-alltheicons = doom-modeline
doom-modeline-segments doom-modeline-env = doom-modeline-core shrink-path
f s dash nerd-icons = nerd-icons-faces nerd-icons-data
nerd-icons-data-mdicon = nerd-icons-data-flicon = nerd-icons-data-codicon
nerd-icons-data-devicon = nerd-icons-data-sucicon = nerd-icons-data-wicon
nerd-icons-data-faicon = nerd-icons-data-powerline = nerd-icons-data-octicon
nerd-icons-data-pomicon = nerd-icons-data-ipsicon dracula-theme
use-package-ensure = use-package-core finder-inf
all-the-icons-completion-autoloads = all-the-icons-autoloads
bicep-ts-mode-autoloads = bmx-mode-autoloads cargo-autoloads
cmake-mode-autoloads = color-theme-sanityinc-tomorrow-autoloads
combobulate-autoloads = combobulate-go combobulate-json = combobulate-yaml
combobulate-css combobulate-js-ts = combobulate-python combobulate-html
combobulate-toml = combobulate-cursor multiple-cursors
mc-separate-operations = rectangular-region-mode mc-mark-pop = mc-edit-lines
mc-hide-unmatched-lines-mode mc-mark-more = sgml-mode facemenu dom
thingatpt mc-cycle-cursors = multiple-cursors-core advice comp comp-cstr
cl-extra help-mode = warnings comp-run comp-common rect combobulate-query
savehist = xref files-x scheme combobulate-ui transient pp = format-spec
edmacro kmacro combobulate-display = combobulate-ztree
combobulate-envelope = combobulate-manipulation python rx project compat
comint = ansi-osc ring ansi-color = combobulate-procedure
combobulate-navigation combobulate-misc = combobulate-setup tempo
combobulate-interface = combobulate-settings diff-mode track-changes
easy-mmode = treesit generator combobulate-rules = company-autoloads
copilot-mode-autoloads = crontab-mode-autoloads dap-mode-autoloads
bui-autoloads = doom-modeline-autoloads = doom-themes-autoloads
dracula-theme-autoloads = edit-indirect-autoloads = ef-themes-autoloads
elisp-slime-nav-autoloads = embark-consult-autoloads consult-autoloads
embark-autoloads = expand-region-autoloads = flycheck-autoloads
highlight-symbol-autoloads = indent-bars-autoloads = lsp-docker-autoloads
lsp-treemacs-autoloads lsp-mode-autoloads = magit-autoloads pcase
magit-section-autoloads llama-autoloads = marginalia-autoloads
markdown-mode-autoloads = modus-themes-autoloads
multiple-cursors-autoloads = nerd-icons-autoloads nlinum-autoloads
orderless-autoloads = paredit-autoloads pet-autoloads = poetry-autoloads
powershell-autoloads pyvenv-autoloads = shrink-path-autoloads f-autoloads
spinner-autoloads = transient-autoloads treemacs-autoloads = cfrs-autoloads
posframe-autoloads ht-autoloads hydra-autoloads = lv-autoloads
pfuture-autoloads ace-window-autoloads = avy-autoloads s-autoloads
dash-autoloads undo-tree-autoloads = queue-autoloads vertico-autoloads
wgrep-autoloads info = with-editor-autoloads wsd-mode-autoloads
yaml-autoloads = package browse-url xdg 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 icons = password-cache json subr-x map byte-opt
gv bytecomp = byte-compile url-vars cl-loaddefs cl-lib rmc = iso-transl
tooltip cconv eldoc paren electric uniquify = ediff-hook vc-hooks
lisp-float-type elisp-mode mwheel = term/ns-win ns-win ucs-normalize
mule-util term/common-win = 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 kqueue cocoa ns lcms2 multi-tty = make-network-process
tty-child-frames native-compile = emacs)

Memory information:
((conses = 16 1279995 196050) (symbols 48 56184 2)
 (strings 32 = 307557 14688) (string-bytes 1 8465336)
 (vectors 16 = 106135) (vector-slots 8 2019006 218077)
 (floats 8 2291 = 3855) (intervals 56 40777 6537) (buffers 1064 = 68))

= --Apple-Mail=_4A8939E1-147B-4B86-9B9F-BA26D3D84F48-- --Apple-Mail=_F284CB4E-743E-48CC-AE6A-C5FDB010B51C-- ------------=_1749021062-26500-1--