From debbugs-submit-bounces@debbugs.gnu.org Fri Dec 01 10:03:52 2023 Received: (at submit) by debbugs.gnu.org; 1 Dec 2023 15:03:52 +0000 Received: from localhost ([127.0.0.1]:55929 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r953V-0005yY-5E for submit@debbugs.gnu.org; Fri, 01 Dec 2023 10:03:52 -0500 Received: from lists.gnu.org ([2001:470:142::17]:50356) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r94Wz-0004wv-Ud for submit@debbugs.gnu.org; Fri, 01 Dec 2023 09:30:17 -0500 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 1r94Wl-0003Fh-4R for bug-gnu-emacs@gnu.org; Fri, 01 Dec 2023 09:29:59 -0500 Received: from out5-smtp.messagingengine.com ([66.111.4.29]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1r94Wf-0001vs-VA for bug-gnu-emacs@gnu.org; Fri, 01 Dec 2023 09:29:58 -0500 Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailout.nyi.internal (Postfix) with ESMTP id 0AB4C5C020C for ; Fri, 1 Dec 2023 09:29:51 -0500 (EST) Received: from mailfrontend1 ([10.202.2.162]) by compute1.internal (MEProxy); Fri, 01 Dec 2023 09:29:51 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mjhoy.com; h=cc :content-type:content-type:date:date:from:from:in-reply-to :message-id:mime-version:reply-to:sender:subject:subject:to:to; s=fm2; t=1701440991; x=1701527391; bh=bYww/7HzYJHYejQ8CYhsOyMAl IejRub2s7dJdQ8ecR8=; b=ua1gk0ONCJ1vKcyVt9eEm4xjXGi80P2wSt3x64myN pSjw2ev93LCePE+YRJtkjGAGyCsaFxzxQiQx4hIxHNzkbneMUrMmbt9vRehx3eaD 0HaBPFNrAsKjsd9t8J18dSum9eN2BDkwohUqfvTfv2TcbohToIh7A1JFHMHowuah +/QNpokeL+lIUBJRZU8ek1+D2/hBMVP+G+eNnq74MEfRRXQwDbf5WhE4LiG9sE6s G18AV2NfEQHivF5F6EidPxbpR5VIGoS43XJAGlRk+DMlj/GOsR7hd9w3f6Lm84SS cq9TDYc7VPqbEkij6NfZEbubyRXzUHJsIEvLSBDi+oQpQ== 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:sender:subject:subject:to:to:x-me-proxy :x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t= 1701440991; x=1701527391; bh=bYww/7HzYJHYejQ8CYhsOyMAlIejRub2s7d JdQ8ecR8=; b=wxwA7BQG4KjJxubRE22b/0CyTaXLk4agtAIGjTscjdeWQz+eaiT eQ2PAyhCyTxmBZgqmM2qkTlvBGU10CQhiuUl1jQAazxVztk6V/S2w/v4aDpK8eFU CcNvFzRs4sYcw15HANDfFxDMQoCf0ACqqhOhCeSbo2EGPT+Z8oDPTGeTSOD7o/Bb 4+IcE1w46pZNQ3VpuzIBRbwY+ZS85M+ERokpjCw0LvghYKKzfccaLRCsZT1MaUxE r2Q5GshqUVcypQ/AAaZ6Y77M3ta96t1ll5SQVdjKcs2Bonq9JAUEoljP/v9Atpq9 LpVT8IlOqjzuzjZybmhDRu8spQdNLAjlL0g== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvkedrudeiledgieehucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucenucfjughrpegfhffvufffkfggtgesthdtredttd ertdenucfhrhhomhepofhitghhrggvlhcujfhohicuoehmjhhhsehmjhhhohihrdgtohhm qeenucggtffrrghtthgvrhhnpefgtdevjedvjeevfeejffelfeelleffudefueetveevie effeejieeluefgueekveenucffohhmrghinhepshhtrggtkhgvgigthhgrnhhgvgdrtgho mhenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehmjh hhsehmjhhhohihrdgtohhm X-ME-Proxy: Feedback-ID: ia044402f:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA for ; Fri, 1 Dec 2023 09:29:50 -0500 (EST) User-agent: mu4e 1.10.8; emacs 29.1 From: Michael Hoy To: bug-gnu-emacs@gnu.org Subject: 29.1; ruby-mode syntax highlighting breaks with variable named "index" and "/" operator Date: Fri, 01 Dec 2023 09:27:47 -0500 Message-ID: MIME-Version: 1.0 Content-Type: text/plain Received-SPF: pass client-ip=66.111.4.29; envelope-from=mjh@mjhoy.com; helo=out5-smtp.messagingengine.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 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, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: 0.6 (/) X-Debbugs-Envelope-To: submit X-Mailman-Approved-At: Fri, 01 Dec 2023 10:03:47 -0500 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.4 (/) In the standard ruby-mode, a variable named "index" followed by a "/" causes the syntax highlighting to break -- it appears that after the slash everything is interpreted as part of a regular expression until another "/" appears. You can reproduce this fairly easily. using 'emacs -Q', go to the scratch buffer and clear it. Run 'M-x ruby-mode'. Enter something like the following: def foo index = 5 x = index / 3 puts "#{x}" end Note that starting after the "/" until the end, syntax highlighting and indentation break (everything, in my color scheme, is purple). If you add a "/" for instance to the "puts" line, syntax highlighting and indentation will be restored after that. There is a report here about the bug: https://emacs.stackexchange.com/questions/23802/division-sometimes-breaks-syntax-highlighting-in-ruby-mode The author says in the comments they used "M-x report-emacs-bug", but I couldn't find it (and the comments suggest that it may not have been sent correctly). Apologies if this is already reported! Thanks. Mikey In GNU Emacs 29.1 (build 1, aarch64-apple-darwin22.6.0, NS appkit-2299.70 Version 13.5 (Build 22G74)) Windowing system distributor 'Apple', version 10.3.2487 System Description: macOS 14.1.1 Configured using: 'configure --prefix=/nix/store/m59in30p0apsv029wrq68ng8si3i1wxh-emacs-29.1 --disable-build-details --with-modules --disable-ns-self-contained --with-ns --with-native-compilation --with-tree-sitter' Configured features: ACL GLIB GMP GNUTLS JPEG JSON LIBXML2 MODULES NATIVE_COMP NOTIFY KQUEUE NS PDUMPER PNG RSVG SQLITE3 THREADS TIFF TOOLKIT_SCROLL_BARS TREE_SITTER WEBP ZLIB Important settings: value of $EMACSLOADPATH: value of $EMACSNATIVELOADPATH: /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/native-lisp:: value of $LANG: en_US.UTF-8 locale-coding-system: utf-8 Major mode: Ruby Minor modes in effect: inf-ruby-minor-mode: t yard-mode: t yafolding-mode: t ruby-test-mode: t treemacs-filewatch-mode: t treemacs-follow-mode: t treemacs-git-mode: t treemacs-fringe-indicator-mode: t global-git-commit-mode: t magit-auto-revert-mode: t server-mode: t flycheck-mode: t company-box-mode: t global-company-mode: t company-mode: t yas-minor-mode: t counsel-projectile-mode: t projectile-mode: t ivy-mode: t windmove-mode: t shell-dirtrack-mode: t global-hl-line-mode: t tooltip-mode: t global-eldoc-mode: t 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 line-number-mode: t transient-mark-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t Load-path shadows: /Users/mjhoy/.nix-profile/share/emacs/site-lisp/site-start hides /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/site-start /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/ace-window-0.10.0/ace-window-autoloads hides /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/ace-window-20220911.358/ace-window-autoloads /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/ace-window-0.10.0/ace-window hides /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/ace-window-20220911.358/ace-window /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/ace-window-0.10.0/ace-window-pkg hides /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/ace-window-20220911.358/ace-window-pkg /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/avy-0.5.0/avy-autoloads hides /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/avy-20230420.404/avy-autoloads /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/avy-0.5.0/avy hides /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/avy-20230420.404/avy /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/avy-0.5.0/avy-pkg hides /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/avy-20230420.404/avy-pkg /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/counsel-0.14.2/counsel hides /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/counsel-20231025.2311/counsel /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/counsel-0.14.2/counsel-pkg hides /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/counsel-20231025.2311/counsel-pkg /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/counsel-0.14.2/counsel-autoloads hides /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/counsel-20231025.2311/counsel-autoloads /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/flycheck-20230813.620/flycheck-autoloads hides /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/flycheck-32/flycheck-autoloads /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/flycheck-20230813.620/flycheck-pkg hides /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/flycheck-32/flycheck-pkg /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/flycheck-20230813.620/flycheck-ert hides /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/flycheck-32/flycheck-ert /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/flycheck-20230813.620/flycheck-buttercup hides /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/flycheck-32/flycheck-buttercup /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/flycheck-20230813.620/flycheck hides /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/flycheck-32/flycheck /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/js2-mode-20230408/js2-mode hides /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/js2-mode-20230628.238/js2-mode /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/js2-mode-20230408/js2-mode-pkg hides /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/js2-mode-20230628.238/js2-mode-pkg /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/js2-mode-20230408/js2-mode-autoloads hides /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/js2-mode-20230628.238/js2-mode-autoloads /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/js2-mode-20230408/js2-imenu-extras hides /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/js2-mode-20230628.238/js2-imenu-extras /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/js2-mode-20230408/js2-old-indent hides /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/js2-mode-20230628.238/js2-old-indent /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/markdown-mode-2.6/markdown-mode hides /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/markdown-mode-20231028.853/markdown-mode /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/markdown-mode-2.6/markdown-mode-pkg hides /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/markdown-mode-20231028.853/markdown-mode-pkg /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/markdown-mode-2.6/markdown-mode-autoloads hides /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/markdown-mode-20231028.853/markdown-mode-autoloads /Users/mjhoy/.nix-profile/share/emacs/site-lisp/password-store hides /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/password-store-1.7.4/password-store /Users/mjhoy/.nix-profile/share/emacs/site-lisp/password-store hides /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/password-store-20230503.619/password-store /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/password-store-1.7.4/password-store-autoloads hides /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/password-store-20230503.619/password-store-autoloads /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/password-store-1.7.4/password-store-pkg hides /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/password-store-20230503.619/password-store-pkg /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/posframe-1.4.2/posframe-benchmark hides /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/posframe-20230714.227/posframe-benchmark /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/posframe-1.4.2/posframe-autoloads hides /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/posframe-20230714.227/posframe-autoloads /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/posframe-1.4.2/posframe hides /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/posframe-20230714.227/posframe /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/posframe-1.4.2/posframe-pkg hides /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/posframe-20230714.227/posframe-pkg /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/projectile-2.8.0/projectile-autoloads hides /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/projectile-20231013.1509/projectile-autoloads /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/projectile-2.8.0/projectile hides /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/projectile-20231013.1509/projectile /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/projectile-2.8.0/projectile-pkg hides /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/projectile-20231013.1509/projectile-pkg /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/rust-mode-1.0.5/rust-rustfmt hides /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/rust-mode-20230805.1558/rust-rustfmt /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/rust-mode-1.0.5/rust-playpen hides /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/rust-mode-20230805.1558/rust-playpen /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/rust-mode-1.0.5/rust-mode-pkg hides /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/rust-mode-20230805.1558/rust-mode-pkg /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/rust-mode-1.0.5/rust-mode hides /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/rust-mode-20230805.1558/rust-mode /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/rust-mode-1.0.5/rust-cargo hides /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/rust-mode-20230805.1558/rust-cargo /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/rust-mode-1.0.5/rust-compile hides /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/rust-mode-20230805.1558/rust-compile /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/rust-mode-1.0.5/rust-utils hides /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/rust-mode-20230805.1558/rust-utils /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/rust-mode-1.0.5/rust-mode-autoloads hides /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/rust-mode-20230805.1558/rust-mode-autoloads /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/ivy-20231025.2311/elpa hides /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/ace-window-0.10.0/test/elpa /Users/mjhoy/.nix-profile/share/emacs/site-lisp/site-start hides /nix/store/m59in30p0apsv029wrq68ng8si3i1wxh-emacs-29.1/share/emacs/site-lisp/site-start /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/external-completion-0.1/external-completion hides /nix/store/m59in30p0apsv029wrq68ng8si3i1wxh-emacs-29.1/share/emacs/29.1/lisp/external-completion /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/jsonrpc-1.0.17/jsonrpc hides /nix/store/m59in30p0apsv029wrq68ng8si3i1wxh-emacs-29.1/share/emacs/29.1/lisp/jsonrpc /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/transient-20231118.1318/transient hides /nix/store/m59in30p0apsv029wrq68ng8si3i1wxh-emacs-29.1/share/emacs/29.1/lisp/transient /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/xref-1.6.3/xref hides /nix/store/m59in30p0apsv029wrq68ng8si3i1wxh-emacs-29.1/share/emacs/29.1/lisp/progmodes/xref /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/project-0.10.0/project hides /nix/store/m59in30p0apsv029wrq68ng8si3i1wxh-emacs-29.1/share/emacs/29.1/lisp/progmodes/project /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/eglot-1.15/eglot hides /nix/store/m59in30p0apsv029wrq68ng8si3i1wxh-emacs-29.1/share/emacs/29.1/lisp/progmodes/eglot /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/flymake-1.3.7/flymake hides /nix/store/m59in30p0apsv029wrq68ng8si3i1wxh-emacs-29.1/share/emacs/29.1/lisp/progmodes/flymake /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.6.12/ob-exp hides /nix/store/m59in30p0apsv029wrq68ng8si3i1wxh-emacs-29.1/share/emacs/29.1/lisp/org/ob-exp /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.6.12/ob-emacs-lisp hides /nix/store/m59in30p0apsv029wrq68ng8si3i1wxh-emacs-29.1/share/emacs/29.1/lisp/org/ob-emacs-lisp /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.6.12/oc hides /nix/store/m59in30p0apsv029wrq68ng8si3i1wxh-emacs-29.1/share/emacs/29.1/lisp/org/oc /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.6.12/ob-css hides /nix/store/m59in30p0apsv029wrq68ng8si3i1wxh-emacs-29.1/share/emacs/29.1/lisp/org/ob-css /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.6.12/ob-lob hides /nix/store/m59in30p0apsv029wrq68ng8si3i1wxh-emacs-29.1/share/emacs/29.1/lisp/org/ob-lob /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.6.12/ol-irc hides /nix/store/m59in30p0apsv029wrq68ng8si3i1wxh-emacs-29.1/share/emacs/29.1/lisp/org/ol-irc /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.6.12/ob-forth hides /nix/store/m59in30p0apsv029wrq68ng8si3i1wxh-emacs-29.1/share/emacs/29.1/lisp/org/ob-forth /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.6.12/org-macs hides /nix/store/m59in30p0apsv029wrq68ng8si3i1wxh-emacs-29.1/share/emacs/29.1/lisp/org/org-macs /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.6.12/ob hides /nix/store/m59in30p0apsv029wrq68ng8si3i1wxh-emacs-29.1/share/emacs/29.1/lisp/org/ob /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.6.12/org-version hides /nix/store/m59in30p0apsv029wrq68ng8si3i1wxh-emacs-29.1/share/emacs/29.1/lisp/org/org-version /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.6.12/ob-scheme hides /nix/store/m59in30p0apsv029wrq68ng8si3i1wxh-emacs-29.1/share/emacs/29.1/lisp/org/ob-scheme /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.6.12/ox hides /nix/store/m59in30p0apsv029wrq68ng8si3i1wxh-emacs-29.1/share/emacs/29.1/lisp/org/ox /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.6.12/ob-C hides /nix/store/m59in30p0apsv029wrq68ng8si3i1wxh-emacs-29.1/share/emacs/29.1/lisp/org/ob-C /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.6.12/org-capture hides /nix/store/m59in30p0apsv029wrq68ng8si3i1wxh-emacs-29.1/share/emacs/29.1/lisp/org/org-capture /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.6.12/ob-ref hides /nix/store/m59in30p0apsv029wrq68ng8si3i1wxh-emacs-29.1/share/emacs/29.1/lisp/org/ob-ref /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.6.12/ob-clojure hides /nix/store/m59in30p0apsv029wrq68ng8si3i1wxh-emacs-29.1/share/emacs/29.1/lisp/org/ob-clojure /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.6.12/org-mouse hides /nix/store/m59in30p0apsv029wrq68ng8si3i1wxh-emacs-29.1/share/emacs/29.1/lisp/org/org-mouse /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.6.12/org-persist hides /nix/store/m59in30p0apsv029wrq68ng8si3i1wxh-emacs-29.1/share/emacs/29.1/lisp/org/org-persist /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.6.12/org-ctags hides /nix/store/m59in30p0apsv029wrq68ng8si3i1wxh-emacs-29.1/share/emacs/29.1/lisp/org/org-ctags /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.6.12/org-entities hides /nix/store/m59in30p0apsv029wrq68ng8si3i1wxh-emacs-29.1/share/emacs/29.1/lisp/org/org-entities /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.6.12/org-archive hides /nix/store/m59in30p0apsv029wrq68ng8si3i1wxh-emacs-29.1/share/emacs/29.1/lisp/org/org-archive /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.6.12/ob-screen hides /nix/store/m59in30p0apsv029wrq68ng8si3i1wxh-emacs-29.1/share/emacs/29.1/lisp/org/ob-screen /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.6.12/ol-bibtex hides /nix/store/m59in30p0apsv029wrq68ng8si3i1wxh-emacs-29.1/share/emacs/29.1/lisp/org/ol-bibtex /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.6.12/ob-haskell hides /nix/store/m59in30p0apsv029wrq68ng8si3i1wxh-emacs-29.1/share/emacs/29.1/lisp/org/ob-haskell /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.6.12/org-loaddefs hides /nix/store/m59in30p0apsv029wrq68ng8si3i1wxh-emacs-29.1/share/emacs/29.1/lisp/org/org-loaddefs /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.6.12/org-table hides /nix/store/m59in30p0apsv029wrq68ng8si3i1wxh-emacs-29.1/share/emacs/29.1/lisp/org/org-table /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.6.12/ol-eww hides /nix/store/m59in30p0apsv029wrq68ng8si3i1wxh-emacs-29.1/share/emacs/29.1/lisp/org/ol-eww /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.6.12/ol-man hides /nix/store/m59in30p0apsv029wrq68ng8si3i1wxh-emacs-29.1/share/emacs/29.1/lisp/org/ol-man /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.6.12/ox-org hides /nix/store/m59in30p0apsv029wrq68ng8si3i1wxh-emacs-29.1/share/emacs/29.1/lisp/org/ox-org /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.6.12/org-num hides /nix/store/m59in30p0apsv029wrq68ng8si3i1wxh-emacs-29.1/share/emacs/29.1/lisp/org/org-num /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.6.12/org-plot hides /nix/store/m59in30p0apsv029wrq68ng8si3i1wxh-emacs-29.1/share/emacs/29.1/lisp/org/org-plot /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.6.12/ol-rmail hides /nix/store/m59in30p0apsv029wrq68ng8si3i1wxh-emacs-29.1/share/emacs/29.1/lisp/org/ol-rmail /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.6.12/ob-awk hides /nix/store/m59in30p0apsv029wrq68ng8si3i1wxh-emacs-29.1/share/emacs/29.1/lisp/org/ob-awk /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.6.12/ob-groovy hides /nix/store/m59in30p0apsv029wrq68ng8si3i1wxh-emacs-29.1/share/emacs/29.1/lisp/org/ob-groovy /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.6.12/ob-octave hides /nix/store/m59in30p0apsv029wrq68ng8si3i1wxh-emacs-29.1/share/emacs/29.1/lisp/org/ob-octave /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.6.12/org-faces hides /nix/store/m59in30p0apsv029wrq68ng8si3i1wxh-emacs-29.1/share/emacs/29.1/lisp/org/org-faces /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.6.12/oc-biblatex hides /nix/store/m59in30p0apsv029wrq68ng8si3i1wxh-emacs-29.1/share/emacs/29.1/lisp/org/oc-biblatex /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.6.12/org-colview hides /nix/store/m59in30p0apsv029wrq68ng8si3i1wxh-emacs-29.1/share/emacs/29.1/lisp/org/org-colview /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.6.12/ob-R hides /nix/store/m59in30p0apsv029wrq68ng8si3i1wxh-emacs-29.1/share/emacs/29.1/lisp/org/ob-R /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.6.12/org-refile hides /nix/store/m59in30p0apsv029wrq68ng8si3i1wxh-emacs-29.1/share/emacs/29.1/lisp/org/org-refile /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.6.12/org-timer hides /nix/store/m59in30p0apsv029wrq68ng8si3i1wxh-emacs-29.1/share/emacs/29.1/lisp/org/org-timer /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.6.12/org-mobile hides /nix/store/m59in30p0apsv029wrq68ng8si3i1wxh-emacs-29.1/share/emacs/29.1/lisp/org/org-mobile /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.6.12/ob-fortran hides /nix/store/m59in30p0apsv029wrq68ng8si3i1wxh-emacs-29.1/share/emacs/29.1/lisp/org/ob-fortran /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.6.12/ob-shell hides /nix/store/m59in30p0apsv029wrq68ng8si3i1wxh-emacs-29.1/share/emacs/29.1/lisp/org/ob-shell /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.6.12/ob-perl hides /nix/store/m59in30p0apsv029wrq68ng8si3i1wxh-emacs-29.1/share/emacs/29.1/lisp/org/ob-perl /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.6.12/ob-sqlite hides /nix/store/m59in30p0apsv029wrq68ng8si3i1wxh-emacs-29.1/share/emacs/29.1/lisp/org/ob-sqlite /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.6.12/oc-basic hides /nix/store/m59in30p0apsv029wrq68ng8si3i1wxh-emacs-29.1/share/emacs/29.1/lisp/org/oc-basic /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.6.12/ob-sed hides /nix/store/m59in30p0apsv029wrq68ng8si3i1wxh-emacs-29.1/share/emacs/29.1/lisp/org/ob-sed /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.6.12/org-list hides /nix/store/m59in30p0apsv029wrq68ng8si3i1wxh-emacs-29.1/share/emacs/29.1/lisp/org/org-list /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.6.12/ob-ruby hides /nix/store/m59in30p0apsv029wrq68ng8si3i1wxh-emacs-29.1/share/emacs/29.1/lisp/org/ob-ruby /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.6.12/ob-eval hides /nix/store/m59in30p0apsv029wrq68ng8si3i1wxh-emacs-29.1/share/emacs/29.1/lisp/org/ob-eval /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.6.12/org-habit hides /nix/store/m59in30p0apsv029wrq68ng8si3i1wxh-emacs-29.1/share/emacs/29.1/lisp/org/org-habit /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.6.12/org-clock hides /nix/store/m59in30p0apsv029wrq68ng8si3i1wxh-emacs-29.1/share/emacs/29.1/lisp/org/org-clock /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.6.12/org-goto hides /nix/store/m59in30p0apsv029wrq68ng8si3i1wxh-emacs-29.1/share/emacs/29.1/lisp/org/org-goto /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.6.12/ox-html hides /nix/store/m59in30p0apsv029wrq68ng8si3i1wxh-emacs-29.1/share/emacs/29.1/lisp/org/ox-html /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.6.12/org-src hides /nix/store/m59in30p0apsv029wrq68ng8si3i1wxh-emacs-29.1/share/emacs/29.1/lisp/org/org-src /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.6.12/ob-lisp hides /nix/store/m59in30p0apsv029wrq68ng8si3i1wxh-emacs-29.1/share/emacs/29.1/lisp/org/ob-lisp /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.6.12/ol-eshell hides /nix/store/m59in30p0apsv029wrq68ng8si3i1wxh-emacs-29.1/share/emacs/29.1/lisp/org/ol-eshell /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.6.12/ob-ditaa hides /nix/store/m59in30p0apsv029wrq68ng8si3i1wxh-emacs-29.1/share/emacs/29.1/lisp/org/ob-ditaa /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.6.12/org-pcomplete hides /nix/store/m59in30p0apsv029wrq68ng8si3i1wxh-emacs-29.1/share/emacs/29.1/lisp/org/org-pcomplete /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.6.12/org-lint hides /nix/store/m59in30p0apsv029wrq68ng8si3i1wxh-emacs-29.1/share/emacs/29.1/lisp/org/org-lint /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.6.12/ox-latex hides /nix/store/m59in30p0apsv029wrq68ng8si3i1wxh-emacs-29.1/share/emacs/29.1/lisp/org/ox-latex /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.6.12/ob-sass hides /nix/store/m59in30p0apsv029wrq68ng8si3i1wxh-emacs-29.1/share/emacs/29.1/lisp/org/ob-sass /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.6.12/ob-tangle hides /nix/store/m59in30p0apsv029wrq68ng8si3i1wxh-emacs-29.1/share/emacs/29.1/lisp/org/ob-tangle /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.6.12/ob-calc hides /nix/store/m59in30p0apsv029wrq68ng8si3i1wxh-emacs-29.1/share/emacs/29.1/lisp/org/ob-calc /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.6.12/ob-java hides /nix/store/m59in30p0apsv029wrq68ng8si3i1wxh-emacs-29.1/share/emacs/29.1/lisp/org/ob-java /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.6.12/ox-icalendar hides /nix/store/m59in30p0apsv029wrq68ng8si3i1wxh-emacs-29.1/share/emacs/29.1/lisp/org/ox-icalendar /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.6.12/ol-mhe hides /nix/store/m59in30p0apsv029wrq68ng8si3i1wxh-emacs-29.1/share/emacs/29.1/lisp/org/ol-mhe /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.6.12/org-attach-git hides /nix/store/m59in30p0apsv029wrq68ng8si3i1wxh-emacs-29.1/share/emacs/29.1/lisp/org/org-attach-git /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.6.12/ox-md hides /nix/store/m59in30p0apsv029wrq68ng8si3i1wxh-emacs-29.1/share/emacs/29.1/lisp/org/ox-md /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.6.12/ox-beamer hides /nix/store/m59in30p0apsv029wrq68ng8si3i1wxh-emacs-29.1/share/emacs/29.1/lisp/org/ox-beamer /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.6.12/org-element hides /nix/store/m59in30p0apsv029wrq68ng8si3i1wxh-emacs-29.1/share/emacs/29.1/lisp/org/org-element /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.6.12/oc-natbib hides /nix/store/m59in30p0apsv029wrq68ng8si3i1wxh-emacs-29.1/share/emacs/29.1/lisp/org/oc-natbib /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.6.12/org-protocol hides /nix/store/m59in30p0apsv029wrq68ng8si3i1wxh-emacs-29.1/share/emacs/29.1/lisp/org/org-protocol /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.6.12/ob-gnuplot hides /nix/store/m59in30p0apsv029wrq68ng8si3i1wxh-emacs-29.1/share/emacs/29.1/lisp/org/ob-gnuplot /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.6.12/org-tempo hides /nix/store/m59in30p0apsv029wrq68ng8si3i1wxh-emacs-29.1/share/emacs/29.1/lisp/org/org-tempo /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.6.12/ob-latex hides /nix/store/m59in30p0apsv029wrq68ng8si3i1wxh-emacs-29.1/share/emacs/29.1/lisp/org/ob-latex /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.6.12/ol-w3m hides /nix/store/m59in30p0apsv029wrq68ng8si3i1wxh-emacs-29.1/share/emacs/29.1/lisp/org/ol-w3m /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.6.12/org-id hides /nix/store/m59in30p0apsv029wrq68ng8si3i1wxh-emacs-29.1/share/emacs/29.1/lisp/org/org-id /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.6.12/ox-man hides /nix/store/m59in30p0apsv029wrq68ng8si3i1wxh-emacs-29.1/share/emacs/29.1/lisp/org/ox-man /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.6.12/ol-doi hides /nix/store/m59in30p0apsv029wrq68ng8si3i1wxh-emacs-29.1/share/emacs/29.1/lisp/org/ol-doi /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.6.12/org-feed hides /nix/store/m59in30p0apsv029wrq68ng8si3i1wxh-emacs-29.1/share/emacs/29.1/lisp/org/org-feed /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.6.12/org-fold-core hides /nix/store/m59in30p0apsv029wrq68ng8si3i1wxh-emacs-29.1/share/emacs/29.1/lisp/org/org-fold-core /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.6.12/ob-julia hides /nix/store/m59in30p0apsv029wrq68ng8si3i1wxh-emacs-29.1/share/emacs/29.1/lisp/org/ob-julia /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.6.12/ob-lua hides /nix/store/m59in30p0apsv029wrq68ng8si3i1wxh-emacs-29.1/share/emacs/29.1/lisp/org/ob-lua /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.6.12/ob-table hides /nix/store/m59in30p0apsv029wrq68ng8si3i1wxh-emacs-29.1/share/emacs/29.1/lisp/org/ob-table /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.6.12/ob-ocaml hides /nix/store/m59in30p0apsv029wrq68ng8si3i1wxh-emacs-29.1/share/emacs/29.1/lisp/org/ob-ocaml /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.6.12/oc-csl hides /nix/store/m59in30p0apsv029wrq68ng8si3i1wxh-emacs-29.1/share/emacs/29.1/lisp/org/oc-csl /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.6.12/ol-gnus hides /nix/store/m59in30p0apsv029wrq68ng8si3i1wxh-emacs-29.1/share/emacs/29.1/lisp/org/ol-gnus /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.6.12/org-indent hides /nix/store/m59in30p0apsv029wrq68ng8si3i1wxh-emacs-29.1/share/emacs/29.1/lisp/org/org-indent /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.6.12/ob-lilypond hides /nix/store/m59in30p0apsv029wrq68ng8si3i1wxh-emacs-29.1/share/emacs/29.1/lisp/org/ob-lilypond /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.6.12/ob-matlab hides /nix/store/m59in30p0apsv029wrq68ng8si3i1wxh-emacs-29.1/share/emacs/29.1/lisp/org/ob-matlab /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.6.12/org-datetree hides /nix/store/m59in30p0apsv029wrq68ng8si3i1wxh-emacs-29.1/share/emacs/29.1/lisp/org/org-datetree /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.6.12/ol-docview hides /nix/store/m59in30p0apsv029wrq68ng8si3i1wxh-emacs-29.1/share/emacs/29.1/lisp/org/ol-docview /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.6.12/oc-bibtex hides /nix/store/m59in30p0apsv029wrq68ng8si3i1wxh-emacs-29.1/share/emacs/29.1/lisp/org/oc-bibtex /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.6.12/ob-python hides /nix/store/m59in30p0apsv029wrq68ng8si3i1wxh-emacs-29.1/share/emacs/29.1/lisp/org/ob-python /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.6.12/ob-makefile hides /nix/store/m59in30p0apsv029wrq68ng8si3i1wxh-emacs-29.1/share/emacs/29.1/lisp/org/ob-makefile /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.6.12/org-duration hides /nix/store/m59in30p0apsv029wrq68ng8si3i1wxh-emacs-29.1/share/emacs/29.1/lisp/org/org-duration /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.6.12/org-agenda hides /nix/store/m59in30p0apsv029wrq68ng8si3i1wxh-emacs-29.1/share/emacs/29.1/lisp/org/org-agenda /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.6.12/ob-dot hides /nix/store/m59in30p0apsv029wrq68ng8si3i1wxh-emacs-29.1/share/emacs/29.1/lisp/org/ob-dot /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.6.12/ob-js hides /nix/store/m59in30p0apsv029wrq68ng8si3i1wxh-emacs-29.1/share/emacs/29.1/lisp/org/ob-js /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.6.12/ox-publish hides /nix/store/m59in30p0apsv029wrq68ng8si3i1wxh-emacs-29.1/share/emacs/29.1/lisp/org/ox-publish /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.6.12/org-inlinetask hides /nix/store/m59in30p0apsv029wrq68ng8si3i1wxh-emacs-29.1/share/emacs/29.1/lisp/org/org-inlinetask /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.6.12/ob-org hides /nix/store/m59in30p0apsv029wrq68ng8si3i1wxh-emacs-29.1/share/emacs/29.1/lisp/org/ob-org /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.6.12/org-keys hides /nix/store/m59in30p0apsv029wrq68ng8si3i1wxh-emacs-29.1/share/emacs/29.1/lisp/org/org-keys /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.6.12/ob-core hides /nix/store/m59in30p0apsv029wrq68ng8si3i1wxh-emacs-29.1/share/emacs/29.1/lisp/org/ob-core /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.6.12/org-compat hides /nix/store/m59in30p0apsv029wrq68ng8si3i1wxh-emacs-29.1/share/emacs/29.1/lisp/org/org-compat /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.6.12/ol hides /nix/store/m59in30p0apsv029wrq68ng8si3i1wxh-emacs-29.1/share/emacs/29.1/lisp/org/ol /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.6.12/ox-odt hides /nix/store/m59in30p0apsv029wrq68ng8si3i1wxh-emacs-29.1/share/emacs/29.1/lisp/org/ox-odt /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.6.12/ol-info hides /nix/store/m59in30p0apsv029wrq68ng8si3i1wxh-emacs-29.1/share/emacs/29.1/lisp/org/ol-info /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.6.12/ob-plantuml hides /nix/store/m59in30p0apsv029wrq68ng8si3i1wxh-emacs-29.1/share/emacs/29.1/lisp/org/ob-plantuml /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.6.12/ob-eshell hides /nix/store/m59in30p0apsv029wrq68ng8si3i1wxh-emacs-29.1/share/emacs/29.1/lisp/org/ob-eshell /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.6.12/ox-ascii hides /nix/store/m59in30p0apsv029wrq68ng8si3i1wxh-emacs-29.1/share/emacs/29.1/lisp/org/ox-ascii /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.6.12/ox-koma-letter hides /nix/store/m59in30p0apsv029wrq68ng8si3i1wxh-emacs-29.1/share/emacs/29.1/lisp/org/ox-koma-letter /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.6.12/ob-maxima hides /nix/store/m59in30p0apsv029wrq68ng8si3i1wxh-emacs-29.1/share/emacs/29.1/lisp/org/ob-maxima /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.6.12/org hides /nix/store/m59in30p0apsv029wrq68ng8si3i1wxh-emacs-29.1/share/emacs/29.1/lisp/org/org /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.6.12/ol-bbdb hides /nix/store/m59in30p0apsv029wrq68ng8si3i1wxh-emacs-29.1/share/emacs/29.1/lisp/org/ol-bbdb /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.6.12/org-macro hides /nix/store/m59in30p0apsv029wrq68ng8si3i1wxh-emacs-29.1/share/emacs/29.1/lisp/org/org-macro /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.6.12/org-fold hides /nix/store/m59in30p0apsv029wrq68ng8si3i1wxh-emacs-29.1/share/emacs/29.1/lisp/org/org-fold /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.6.12/ob-sql hides /nix/store/m59in30p0apsv029wrq68ng8si3i1wxh-emacs-29.1/share/emacs/29.1/lisp/org/ob-sql /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.6.12/org-attach hides /nix/store/m59in30p0apsv029wrq68ng8si3i1wxh-emacs-29.1/share/emacs/29.1/lisp/org/org-attach /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.6.12/org-cycle hides /nix/store/m59in30p0apsv029wrq68ng8si3i1wxh-emacs-29.1/share/emacs/29.1/lisp/org/org-cycle /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.6.12/ob-processing hides /nix/store/m59in30p0apsv029wrq68ng8si3i1wxh-emacs-29.1/share/emacs/29.1/lisp/org/ob-processing /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.6.12/ox-texinfo hides /nix/store/m59in30p0apsv029wrq68ng8si3i1wxh-emacs-29.1/share/emacs/29.1/lisp/org/ox-texinfo /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.6.12/org-crypt hides /nix/store/m59in30p0apsv029wrq68ng8si3i1wxh-emacs-29.1/share/emacs/29.1/lisp/org/org-crypt /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.6.12/org-footnote hides /nix/store/m59in30p0apsv029wrq68ng8si3i1wxh-emacs-29.1/share/emacs/29.1/lisp/org/org-footnote /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/org-9.6.12/ob-comint hides /nix/store/m59in30p0apsv029wrq68ng8si3i1wxh-emacs-29.1/share/emacs/29.1/lisp/org/ob-comint /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/let-alist-1.0.6/let-alist hides /nix/store/m59in30p0apsv029wrq68ng8si3i1wxh-emacs-29.1/share/emacs/29.1/lisp/emacs-lisp/let-alist /nix/store/2q514vlbcayf355xm92z6pvkl5jd8vhz-emacs-packages-deps/share/emacs/site-lisp/elpa/eldoc-1.14.0/eldoc hides /nix/store/m59in30p0apsv029wrq68ng8si3i1wxh-emacs-29.1/share/emacs/29.1/lisp/emacs-lisp/eldoc Features: (shadow emacsbug misearch multi-isearch mailalias gnus-icalendar icalendar ace-window avy cal-move org-datetree inf-ruby yard-mode pcmpl-unix gptel-curl gptel-transient dired-aux ffap goto-addr network-stream url-cache epa-file sh-script executable view conf-mode org-archive timezone org-duration cargo cargo-process rust-utils rust-mode rust-rustfmt rust-playpen rust-compile rust-cargo qp sort gnus-cite smiley shr-color mm-archive mail-extr textsec uni-scripts idna-mapping uni-confusable textsec-check vc-hg vc-bzr vc-src vc-sccs vc-svn vc-cvs vc-rcs log-view vc magit-extras emacsql-sqlite-builtin sqlite tabify orgit org-capture cal-china lunar solar cal-dst cal-bahai cal-islam cal-hebrew holidays holiday-loaddefs diary-lib diary-loaddefs cal-iso vc-git vc-dispatcher org-eldoc org-indent oc-basic ol-eww eww url-queue mm-url ol-rmail ol-mhe ol-irc ol-info ol-gnus nnselect ol-docview doc-view jka-compr image-mode exif ol-bibtex bibtex ol-bbdb ol-w3m ol-doi org-link-doi face-remap yafolding company-oddmuse company-keywords company-etags company-gtags company-dabbrev-code company-dabbrev company-files company-clang company-capf company-cmake company-semantic company-template company-bbdb init-misc bm mjhoy-misc sensitive-mode init-pass init-presentation init-dotfile-shortcuts init-ledger ledger-mode ledger-check ledger-texi ledger-test ledger-sort ledger-report ledger-reconcile ledger-occur ledger-fonts ledger-fontify ledger-state ledger-complete ledger-schedule ledger-init ledger-xact ledger-post ledger-exec ledger-navigate ledger-context ledger-commodities ledger-regex init-avy init-folding init-copilot copilot editorconfig editorconfig-core editorconfig-core-handle editorconfig-fnmatch init-gpt gptel gptel-openai init-term init-protobuf init-coq init-css init-xml init-php init-gdk init-yaml init-swift init-go init-csharp init-c init-scala sbt-mode sbt-mode-rgrep sbt-mode-comint sbt-mode-buffer sbt-mode-project sbt-mode-vars scala-mode scala-mode-prettify-symbols scala-mode-imenu scala-mode-map scala-mode-fontlock scala-mode-indent scala-mode-paragraph scala-mode-syntax scala-mode-lib init-elm elm-mode elm-interactive elm-font-lock elm-indent-simple elm-indent elm-imenu elm-format reformatter elm-tags elm-util inf-haskell haskell-decl-scan f f-shortdoc init-haskell haskell-mode haskell-cabal haskell-utils haskell-font-lock haskell-indentation haskell-string haskell-sort-imports haskell-lexeme haskell-align-imports haskell-complete-module haskell-ghc-support etags fileloop dabbrev haskell-customize flymake-proc init-svelte init-web-mode init-typescript web-mode disp-table init-purescript init-javascript init-rust flycheck-rust init-python init-ruby ruby-test-mode pcre2el rxt re-builder ruby-mode smie init-scheme init-eglot eglot external-completion jsonrpc flymake ert ewoc debug backtrace init-treemacs treemacs treemacs-header-line treemacs-compatibility treemacs-mode treemacs-bookmarks treemacs-tags treemacs-interface treemacs-persistence treemacs-filewatch-mode treemacs-follow-mode treemacs-rendering treemacs-annotations treemacs-async treemacs-workspaces treemacs-dom treemacs-visuals treemacs-fringe-indicator pulse treemacs-faces treemacs-icons treemacs-scope treemacs-themes treemacs-core-utils pfuture inline ht treemacs-logging treemacs-customization treemacs-macros s init-magit forge-list forge-commands forge-semi forge-bitbucket buck forge-gogs gogs forge-gitea gtea forge-gitlab glab forge-github ghub-graphql treepy gsexp ghub let-alist forge-notify forge-revnote forge-pullreq forge-issue forge-topic yaml bug-reference forge-post forge-repo forge forge-core forge-db closql emacsql-sqlite-common emacsql emacsql-compiler eieio-base 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 imenu magit-diff smerge-mode diff diff-mode git-commit log-edit pcvs-util add-log magit-core magit-autorevert autorevert filenotify magit-margin magit-transient magit-process with-editor server magit-mode transient edmacro kmacro magit-git magit-base magit-section cursor-sensor crm init-ivy init-flyspell flyspell ispell init-flycheck flycheck init-sql init-mu4e mu4e-contrib eshell esh-cmd esh-ext esh-opt esh-proc esh-io esh-arg esh-module esh-groups esh-util mu4e mu4e-org mu4e-notification notifications mu4e-main mu4e-view 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 gnus-win gnus nnheader range wid-edit mu4e-headers mu4e-compose mu4e-draft mu4e-actions smtpmail mu4e-search mu4e-lists mu4e-bookmarks mu4e-mark mu4e-message shr pixel-fill kinsoku url-file svg xml dom flow-fill mu4e-contacts mu4e-update mu4e-folders mu4e-context mu4e-query-items mu4e-server mu4e-modeline mu4e-vars mu4e-helpers mu4e-config mu4e-window bookmark ido mu4e-obsolete init-company company-box company-box-doc frame-local company-box-icons dash company init-yas yasnippet init-uniquify init-dired init-ibuffer ibuffer-vc init-projectile counsel-projectile projectile lisp-mnt grep ibuf-ext ibuffer ibuffer-loaddefs counsel xref compile swiper ivy delsel ivy-faces ivy-overlay colir init-compilation init-winring winring init-windmove windmove init-erc erc-truncate erc-goodies erc pp erc-backend erc-networks erc-common erc-compat erc-loaddefs init-org-ai org-ai org-ai-useful easy-mmode org-ai-openai-image org-ai-openai url-http url-auth url-gw nsm org-ai-block init-org init-org/bindings init-org/captures init-org/code ob-diagrams ob-scheme geiser-impl help-fns radix-tree geiser-custom geiser-base geiser ob-dot ob-R ob-python python project compat treesit ob-haskell ob-sql ob-shell org-tempo tempo init-org/todo init-org/shortcuts init-org/agenda ox-reveal org-habit org-agenda org-clock org-mime message sendmail yank-media puny dired dired-loaddefs rfc822 mml mml-sec epa derived epg rfc6068 epg-config gnus-util text-property-search mm-decode mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045 mm-util ietf-drums mail-prsvr mailabbrev mail-utils gmm-utils mailheader ox-org 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-md ox-html table ox-ascii ox-publish ox org-element org-persist xdg org-id org-refile avl-tree generator org ob ob-tangle ob-ref ob-lob ob-table ob-exp org-macro org-src ob-comint org-pcomplete org-list org-footnote org-faces org-entities 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 init-tramp tramp tramp-loaddefs trampver tramp-integration files-x tramp-compat shell pcomplete comint ansi-osc ansi-color ring parse-time iso8601 time-date format-spec init-markdown markdown-mode edit-indirect noutline outline init-prog init-multiple-cursors multiple-cursors mc-hide-unmatched-lines-mode mc-separate-operations rectangular-region-mode mc-mark-pop mc-mark-more thingatpt mc-cycle-cursors mc-edit-lines multiple-cursors-core comp comp-cstr warnings icons rx cl-extra help-mode advice rect init-hl-line hl-line init-theme sanityinc-tomorrow-night-theme color-theme-sanityinc-tomorrow color init-ui init-diminish diminish init-env init-local init-basic finder-inf ag-autoloads apache-mode-autoloads bm-autoloads cargo-autoloads color-theme-sanityinc-tomorrow-autoloads company-box-autoloads company-racer-autoloads company-autoloads counsel-projectile-autoloads counsel-autoloads dap-mode-autoloads bui-autoloads deferred-autoloads diminish-autoloads dracula-theme-autoloads edit-indirect-autoloads editorconfig-autoloads eglot-autoloads elm-mode-autoloads ess-autoloads ess-generics flycheck-rust-autoloads flycheck-autoloads flymake-autoloads forge-autoloads closql-autoloads emacsql-autoloads frame-local-autoloads geiser-autoloads ghub-autoloads go-mode-autoloads gptel-autoloads haml-mode-autoloads haskell-mode-autoloads ibuffer-vc-autoloads inf-ruby-autoloads ivy-pass-autoloads jsonrpc-autoloads julia-mode-autoloads ledger-mode-autoloads lsp-treemacs-autoloads lsp-mode-autoloads eldoc-autoloads markdown-mode-autoloads material-theme-autoloads multiple-cursors-autoloads nix-mode-autoloads org-contrib-autoloads org-mime-autoloads org-tree-slide-autoloads orgit-autoloads magit-autoloads pcase magit-section-autoloads git-commit-autoloads ox-reveal-autoloads org-autoloads password-store-autoloads php-mode-autoloads pkg-info-autoloads epl-autoloads prettier-autoloads nvm-autoloads iter2-autoloads project-autoloads projectile-autoloads proof-general-autoloads proof-site proof-autoloads protobuf-mode-autoloads purescript-mode-autoloads racer-autoloads f-autoloads rainbow-mode-autoloads reformatter-autoloads restclient-autoloads rjsx-mode-autoloads js2-mode-autoloads ruby-test-mode-autoloads pcre2el-autoloads rust-mode-autoloads sbt-mode-autoloads scala-mode-autoloads spinner-autoloads swift-mode-autoloads swiper-autoloads ivy-autoloads terraform-mode-autoloads hcl-mode-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 treepy-autoloads web-mode-autoloads winring-autoloads with-editor-autoloads info compat-autoloads yafolding-autoloads yaml-autoloads yaml-mode-autoloads yard-mode-autoloads yasnippet-autoloads package browse-url url url-proxy url-privacy url-expand url-methods url-history url-cookie generate-lisp-file url-domsuf url-util mailcap url-handlers url-parse auth-source cl-seq eieio eieio-core cl-macs password-cache json subr-x map byte-opt gv bytecomp byte-compile url-vars cl-loaddefs cl-lib 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 multi-tty make-network-process native-compile emacs) Memory information: ((conses 16 1502968 193402) (symbols 48 61997 7) (strings 32 282179 39694) (string-bytes 1 9281094) (vectors 16 152902) (vector-slots 8 3606903 260823) (floats 8 1619 852) (intervals 56 67417 2734) (buffers 984 181)) From debbugs-submit-bounces@debbugs.gnu.org Sat Dec 09 03:33:01 2023 Received: (at 67569) by debbugs.gnu.org; 9 Dec 2023 08:33:01 +0000 Received: from localhost ([127.0.0.1]:46783 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rBslh-0002Zr-0C for submit@debbugs.gnu.org; Sat, 09 Dec 2023 03:33:01 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:43186) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rBslf-0002Ze-1O for 67569@debbugs.gnu.org; Sat, 09 Dec 2023 03:32:59 -0500 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 1rBslM-00055b-7o; Sat, 09 Dec 2023 03:32:40 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=sVWxP5VomIFao2Tfvm80MWP+XAvaOi8UgV0EYOLD/lU=; b=Mlce265en1rN Xc+D8PB4IIap2gGwoSrGxReepAMPSXturfTF89+E37M0dsj4o7Y9lP8490+XdMS1EfLQqhm+laZJx bc4ZuoKdq/MwMHOnF5FqgdnEfqvUBrm9DaoL2K0+MYbd74pFNPrh5WAaiQS9JYuZw0u2keasL90Ix 9dBfHIRvLz7Y5ZiXFAWyr6v761WhUqcyU83onTgeHSW2uRQxPXdAcmXGnzik6bHcqRP9JmEdF3BMK MpSB8dM/Z0FUbGwoT1c2fJ2J8rYflrz3WRkNVX0HaIMdZe/wNdVyPvlhNW4FYxs2beW8EdHzAUUTo domuwm4Qp3jRNEXpg1ZK+A==; Date: Sat, 09 Dec 2023 10:32:22 +0200 Message-Id: <83o7ezydwp.fsf@gnu.org> From: Eli Zaretskii To: Michael Hoy , Dmitry Gutov In-Reply-To: (message from Michael Hoy on Fri, 01 Dec 2023 09:27:47 -0500) Subject: Re: bug#67569: 29.1; ruby-mode syntax highlighting breaks with variable named "index" and "/" operator References: X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 67569 Cc: 67569@debbugs.gnu.org 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: Michael Hoy > Date: Fri, 01 Dec 2023 09:27:47 -0500 > > In the standard ruby-mode, a variable named "index" followed by a "/" > causes the syntax highlighting to break -- it appears that after the > slash everything is interpreted as part of a regular expression until > another "/" appears. > > You can reproduce this fairly easily. using 'emacs -Q', go to the > scratch buffer and clear it. Run 'M-x ruby-mode'. Enter something like > the following: > > def foo > index = 5 > x = index / 3 > puts "#{x}" > end > > Note that starting after the "/" until the end, syntax highlighting and > indentation break (everything, in my color scheme, is purple). If you > add a "/" for instance to the "puts" line, syntax highlighting and > indentation will be restored after that. > > There is a report here about the bug: > https://emacs.stackexchange.com/questions/23802/division-sometimes-breaks-syntax-highlighting-in-ruby-mode > The author says in the comments they used "M-x report-emacs-bug", but I > couldn't find it (and the comments suggest that it may not have been > sent correctly). Apologies if this is already reported! Dmitry, any comments? From debbugs-submit-bounces@debbugs.gnu.org Sat Dec 09 09:13:30 2023 Received: (at 67569) by debbugs.gnu.org; 9 Dec 2023 14:13:30 +0000 Received: from localhost ([127.0.0.1]:47042 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rBy5B-0000nE-QQ for submit@debbugs.gnu.org; Sat, 09 Dec 2023 09:13:30 -0500 Received: from out3-smtp.messagingengine.com ([66.111.4.27]:60477) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rBy57-0000mx-Mo for 67569@debbugs.gnu.org; Sat, 09 Dec 2023 09:13:28 -0500 Received: from compute7.internal (compute7.nyi.internal [10.202.2.48]) by mailout.nyi.internal (Postfix) with ESMTP id ED5A15C00DF; Sat, 9 Dec 2023 09:13:06 -0500 (EST) Received: from mailfrontend1 ([10.202.2.162]) by compute7.internal (MEProxy); Sat, 09 Dec 2023 09:13:06 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gutov.dev; h=cc :content-type:content-type:date:date:from:from:in-reply-to :in-reply-to:message-id:mime-version:references:reply-to:sender :subject:subject:to:to; s=fm3; t=1702131186; x=1702217586; bh=A0 9F0NMmNR2RV1uqmqq7R4l2/Zu/mtFecXqWoRf/mBE=; b=s0Dbw4b+qFAXe75SeY Nuc6wxaeOde6HbrmamBGVq539kTC+a/+5c9wvEC3/IupoDmZqPwPnh1BXNsfoS7B ppXoy+Tzsf+nu+MnGvoRCZWvoDIyFBjFzLTnuvzM0vXDzO/FaEKrzMiMtRBYV22u LOgRcYDjwqmpH4PmCd2LlCI3xzaxrW2z1ar8Dx8UlCVqrld/SeJTX2ekHBTgZdZk MuOVYZT97atrOGd4kAgoBn+yEGFw66Rg694nXLf8H7WjxH2raTjnXBGe8cms4kH0 qoQSW0GUGT/50oVC8xbCpUVzt3MSSReoNNjV91ka1lXsj44O+1VwLqumpDx0ftEz 39RQ== 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:in-reply-to :message-id:mime-version:references:reply-to:sender:subject :subject:to:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender :x-sasl-enc; s=fm1; t=1702131186; x=1702217586; bh=A09F0NMmNR2RV 1uqmqq7R4l2/Zu/mtFecXqWoRf/mBE=; b=LPKLp5BvowIemk8gcz6ePDm2cPWo6 39gV1fasWEIow6JkYySpN0eXblY5TOhBz32WDN/i7jHEQii3GT6zTWh+vjX8EDeX /AnECu0rs9zftFRNhnv3YSx0K8JrGK9y7cIR167dYpCIH6tEoadQnZVcJJ/2Q+Ir ydXNRlkhxPGk3UxXdnCWT9GEb6SmGjHQ4QyypOq222NXQ6nHhwDGoO3mFi+1pDop 5y/x9/mu5MuGgP6FCsjo7/9RZUhiHiqG2EKXwa30yFpjwfbvwoACw/tPZFIJb0FI qjh1fW3JqiSeaoQHYjtNzoXx2fSLv1iUZuzQusUkUFTFVfzoihekcthaA== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvkedrudekkedgiedvucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurheptgfkffggfgfuvfhfhfgjsehmtderredtfeejnecuhfhrohhmpeffmhhithhr hicuifhuthhovhcuoegumhhithhrhiesghhuthhovhdruggvvheqnecuggftrfgrthhtvg hrnhepleeiveefgfdtvdegfeffkeeghedvtdffffehleffgeekfeelvefggfekjeektedv necuffhomhgrihhnpehsthgrtghkvgigtghhrghnghgvrdgtohhmnecuvehluhhsthgvrh fuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepughmihhtrhihsehguhhtohhv rdguvghv X-ME-Proxy: Feedback-ID: i0e71465a:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Sat, 9 Dec 2023 09:13:05 -0500 (EST) Content-Type: multipart/mixed; boundary="------------jvQGAiOxDpQQ7zk0fyCrCCkX" Message-ID: <0ee4ce91-c344-4859-8b13-07de5876368d@gutov.dev> Date: Sat, 9 Dec 2023 16:13:02 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.13.0 Subject: Re: bug#67569: 29.1; ruby-mode syntax highlighting breaks with variable named "index" and "/" operator Content-Language: en-US To: Michael Hoy , 67569@debbugs.gnu.org, Eli Zaretskii References: From: Dmitry Gutov In-Reply-To: X-Spam-Score: -2.9 (--) X-Debbugs-Envelope-To: 67569 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.9 (---) This is a multi-part message in MIME format. --------------jvQGAiOxDpQQ7zk0fyCrCCkX Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 01/12/2023 16:27, Michael Hoy wrote: > In the standard ruby-mode, a variable named "index" followed by a "/" > causes the syntax highlighting to break -- it appears that after the > slash everything is interpreted as part of a regular expression until > another "/" appears. > > You can reproduce this fairly easily. using 'emacs -Q', go to the > scratch buffer and clear it. Run 'M-x ruby-mode'. Enter something like > the following: > > def foo > index = 5 > x = index / 3 > puts "#{x}" > end > > Note that starting after the "/" until the end, syntax highlighting and > indentation break (everything, in my color scheme, is purple). If you > add a "/" for instance to the "puts" line, syntax highlighting and > indentation will be restored after that. Thanks for filing this. The reasons is our regexp detection mechanism, with a whitelist for methods that call accept regexps (of which 'index' is one), and could be called without parens. Anyway, it looks like Ruby actually looks at whether there is a space after "/", and if so, interprets this as division (when there is nothing else to disambiguate, such as parens around the call). So we can follow suit, the attached patch seems to fix it. Also, perhaps you'll want to try ruby-ts-mode which is in Emacs 29.1, and which uses a "real" (tree-sitter) grammar. Indentation-wise, it should behave more or less the same as ruby-mode. Eli, should we put this in Emacs 29.2? It's not a regression (a fairly old problem), but the fix looks simple enough. > There is a report here about the bug: > https://emacs.stackexchange.com/questions/23802/division-sometimes-breaks-syntax-highlighting-in-ruby-mode > The author says in the comments they used "M-x report-emacs-bug", but I > couldn't find it (and the comments suggest that it may not have been > sent correctly). Apologies if this is already reported! I was hoping the author would follow through with investigating why the bug did not reach the tracker, but that didn't happen. I've seen this kind of feedback a few times, but not lately. Maybe whatever the issue was, got resolved in 2016. Or people still send reports into nowhere, and we just don't hear about it. --------------jvQGAiOxDpQQ7zk0fyCrCCkX Content-Type: text/x-patch; charset=UTF-8; name="ruby-index-slash-no-regexp.diff" Content-Disposition: attachment; filename="ruby-index-slash-no-regexp.diff" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL2xpc3AvcHJvZ21vZGVzL3J1YnktbW9kZS5lbCBiL2xpc3AvcHJvZ21v ZGVzL3J1YnktbW9kZS5lbAppbmRleCA1YzM0ZGRjNTYyYi4uYjJkODMzZmEyYjAgMTAwNjQ0 Ci0tLSBhL2xpc3AvcHJvZ21vZGVzL3J1YnktbW9kZS5lbAorKysgYi9saXNwL3Byb2dtb2Rl cy9ydWJ5LW1vZGUuZWwKQEAgLTIxMjUsNyArMjEyNSw3IEBAIHJ1YnktZmluZC1saWJyYXJ5 LWZpbGUKICAgICAgICAgICAgICAgICAgICAib3IiICJub3QiICImJiIgInx8IikpCiAgICAg IDs7IE1ldGhvZCBuYW1lIGZyb20gdGhlIGxpc3QuCiAgICAgICJcXHxcXF88IgotICAgICAo cmVnZXhwLW9wdCBydWJ5LXN5bnRheC1tZXRob2RzLWJlZm9yZS1yZWdleHApCisgICAgIChy ZWdleHAtb3B0IHJ1Ynktc3ludGF4LW1ldGhvZHMtYmVmb3JlLXJlZ2V4cCB0KQogICAgICAi XFwpXFxzICoiKQogICAgICJSZWdleHAgdG8gbWF0Y2ggdGV4dCB0aGF0IGNhbiBiZSBmb2xs b3dlZCBieSBhIHJlZ3VsYXIgZXhwcmVzc2lvbi4iKSkKIApAQCAtMjE4MywxNCArMjE4Mywx OCBAQCBydWJ5LXN5bnRheC1wcm9wZXJ0aXplCiAgICAgICAgICh3aGVuIChzYXZlLWV4Y3Vy c2lvbgogICAgICAgICAgICAgICAgIChmb3J3YXJkLWNoYXIgLTEpCiAgICAgICAgICAgICAg ICAgKGNsLWV2ZW5wIChza2lwLWNoYXJzLWJhY2t3YXJkICJcXFxcIikpKQotICAgICAgICAg IChsZXQgKChzdGF0ZSAoc2F2ZS1leGN1cnNpb24gKHN5bnRheC1wcHNzIChtYXRjaC1iZWdp bm5pbmcgMSkpKSkpCisgICAgICAgICAgKGxldCAoKHN0YXRlIChzYXZlLWV4Y3Vyc2lvbiAo c3ludGF4LXBwc3MgKG1hdGNoLWJlZ2lubmluZyAxKSkpKQorICAgICAgICAgICAgICAgIHNw YWNlLWFmdGVyLXNsYXNoKQogICAgICAgICAgICAgKHdoZW4gKG9yCiAgICAgICAgICAgICAg ICAgICAgOzsgQmVnaW5uaW5nIG9mIGEgcmVnZXhwLgogICAgICAgICAgICAgICAgICAgIChh bmQgKG51bGwgKG50aCA4IHN0YXRlKSkKICAgICAgICAgICAgICAgICAgICAgICAgIChzYXZl LWV4Y3Vyc2lvbgorICAgICAgICAgICAgICAgICAgICAgICAgICAoc2V0cSBzcGFjZS1hZnRl ci1zbGFzaCAoZXFsIChjaGFyLWFmdGVyKSA/XHMpKQogICAgICAgICAgICAgICAgICAgICAg ICAgICAoZm9yd2FyZC1jaGFyIC0xKQogICAgICAgICAgICAgICAgICAgICAgICAgICAobG9v a2luZy1iYWNrIHJ1Ynktc3ludGF4LWJlZm9yZS1yZWdleHAtcmUKLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAobGluZS1iZWdpbm5pbmctcG9zaXRpb24pKSkp CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGxpbmUtYmVnaW5u aW5nLXBvc2l0aW9uKSkpCisgICAgICAgICAgICAgICAgICAgICAgICAob3IgKG5vdCBzcGFj ZS1hZnRlci1zbGFzaCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAobm90IChtYXRj aC1iZWdpbm5pbmcgMikpKSkKICAgICAgICAgICAgICAgICAgICA7OyBFbmQgb2YgcmVnZXhw LiAgV2UgZG9uJ3QgbWF0Y2ggdGhlIHdob2xlCiAgICAgICAgICAgICAgICAgICAgOzsgcmVn ZXhwIGF0IG9uY2UgYmVjYXVzZSBpdCBjYW4gaGF2ZQogICAgICAgICAgICAgICAgICAgIDs7 IHN0cmluZyBpbnRlcnBvbGF0aW9uIGluc2lkZSwgb3Igc3Bhbgo= --------------jvQGAiOxDpQQ7zk0fyCrCCkX-- From debbugs-submit-bounces@debbugs.gnu.org Sat Dec 09 09:36:22 2023 Received: (at 67569) by debbugs.gnu.org; 9 Dec 2023 14:36:22 +0000 Received: from localhost ([127.0.0.1]:47063 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rByRK-0001Nj-Ha for submit@debbugs.gnu.org; Sat, 09 Dec 2023 09:36:22 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:53326) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rByRF-0001NR-60 for 67569@debbugs.gnu.org; Sat, 09 Dec 2023 09:36:20 -0500 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 1rByQv-0003gN-G4; Sat, 09 Dec 2023 09:35:57 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=UsU6o1sbGTZO1EZ7TTLErOAPA8qT0TlO6QiK8KK4eyM=; b=XO+HSJOCYndS 8IOW173KDkvNHp2W9vidQETKwCBP5qvloGCWRdG5OP4jwUyucL8ZHCTLCOlheaoG7zCsMm6ZZaO+r uLK7o3AfoPq+Z5tobRIh27IRM7+f2k4EQ/hKJk3c3lwY/Ih/9owBwkX+vjo0vM666O+90hQgHUcFm csAAU6pfYwa7VsrG6wsI/KzmHXQ0llxraCn9lh55OePK3OGfYBWTH+R8k/SiobCHyzc/zPeBVjZdn LKMfTI5aV43S5VpBkNI5p4If2NJj9I35K6aGoeE+zVDGgWPjCT8HYDinICGPruCwC2zvsuAjLpVjV zSZ3bzYUxQa3hx8Q/OzADQ==; Date: Sat, 09 Dec 2023 16:35:33 +0200 Message-Id: <83zfyjwiiy.fsf@gnu.org> From: Eli Zaretskii To: Dmitry Gutov In-Reply-To: <0ee4ce91-c344-4859-8b13-07de5876368d@gutov.dev> (message from Dmitry Gutov on Sat, 9 Dec 2023 16:13:02 +0200) Subject: Re: bug#67569: 29.1; ruby-mode syntax highlighting breaks with variable named "index" and "/" operator References: <0ee4ce91-c344-4859-8b13-07de5876368d@gutov.dev> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 67569 Cc: mjh@mjhoy.com, 67569@debbugs.gnu.org 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 (---) > Date: Sat, 9 Dec 2023 16:13:02 +0200 > From: Dmitry Gutov > > Eli, should we put this in Emacs 29.2? It's not a regression (a fairly > old problem), but the fix looks simple enough. Yes, please. Thanks. From debbugs-submit-bounces@debbugs.gnu.org Sat Dec 09 12:39:03 2023 Received: (at 67569) by debbugs.gnu.org; 9 Dec 2023 17:39:03 +0000 Received: from localhost ([127.0.0.1]:48857 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rC1I3-0000tS-V4 for submit@debbugs.gnu.org; Sat, 09 Dec 2023 12:39:03 -0500 Received: from out1-smtp.messagingengine.com ([66.111.4.25]:50135) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rC1Hz-0000t9-6h for 67569@debbugs.gnu.org; Sat, 09 Dec 2023 12:38:58 -0500 Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailout.nyi.internal (Postfix) with ESMTP id 5E6605C010E; Sat, 9 Dec 2023 12:38:35 -0500 (EST) Received: from mailfrontend1 ([10.202.2.162]) by compute1.internal (MEProxy); Sat, 09 Dec 2023 12:38:35 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gutov.dev; h=cc :cc:content-type:content-type:date:date:from:from:in-reply-to :in-reply-to:message-id:mime-version:references:reply-to:sender :subject:subject:to:to; s=fm3; t=1702143515; x=1702229915; bh=XR nZSVNTrQXbc8R8B+RUeLI7pGv7Uyh65l4IygjPFgg=; b=Dj1bF+zOI83VLvJXud ULhEIcQNoN2PCY2a9N/eihcOYi5Hno0boFmRayz1cxy1XUswIc9gVPh8+fHQDUpD ejt00dRsgJk90zUVSfkMhwPjhcBqp7rdvPhEQwSyqJjsTSyyCdPtVoQZZLwydu5B Eyz/7ZtPaa4D8n14kkiR0gLDqoYLWx/LzUJTLDvGQQyteISP+kTQXR7JJy9tWZlS AXvX/IR1CZz0be+pTjpjEzVXe0g4uALKu/GC5pnOCM+/j6M99Mn4HCsSivFylQrL 3aiiS0bUnCQwPSIkK9Bi25sxIh2kqLUp1rjEBAc3hqtdOqFCE8N32CidpNOdvgQ6 CLLQ== 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:sender:subject :subject:to:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender :x-sasl-enc; s=fm1; t=1702143515; x=1702229915; bh=XRnZSVNTrQXbc 8R8B+RUeLI7pGv7Uyh65l4IygjPFgg=; b=sypG9PLIZ+r9+eP0GedohxN5tqTrU UqJi3BHBciSyTzyKDBVr/NCz9RzUeDSa8huRJRoVxyAxRnfwBDhI5H7pKQzSBghh W66BJyog+DpRZuEXALkDwTAZZ/FgWgfUvycVxRX3wWbKtBrCJKaC694dyL2X761H ZU/xY+iIw95vHyJxLBqameWlMSr7IROklfaBCCl58h2upuiR08nAH9xpZiEmqBd4 FtEDDeA75JmbytN+I7suOGqiHnW+g82XdxnvuyfvV4UQmCAZ5gBr+Ui5FhpipUai 2J3gFCvWN/yXcaMH5PWYkA6Z5ByWZLlkI/kDnmrjbaMnHq9P912K3ZwdA== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvkedrudekkedguddtgecutefuodetggdotefrod ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfgh necuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmd enucfjughrpegtkfffgggfuffvvehfhfgjsehmtderredtfeejnecuhfhrohhmpeffmhhi thhrhicuifhuthhovhcuoegumhhithhrhiesghhuthhovhdruggvvheqnecuggftrfgrth htvghrnhepheetkefgteeiueejuedvtddvleetffeljeetuddvfeffjeeiheehueetffev ieejnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepug hmihhtrhihsehguhhtohhvrdguvghv X-ME-Proxy: Feedback-ID: i0e71465a:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Sat, 9 Dec 2023 12:38:33 -0500 (EST) Content-Type: multipart/mixed; boundary="------------KjOLRv5WZ90ES1oslfz2bcb8" Message-ID: Date: Sat, 9 Dec 2023 19:38:28 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.13.0 Subject: Re: bug#67569: 29.1; ruby-mode syntax highlighting breaks with variable named "index" and "/" operator Content-Language: en-US To: Eli Zaretskii References: <0ee4ce91-c344-4859-8b13-07de5876368d@gutov.dev> <83zfyjwiiy.fsf@gnu.org> From: Dmitry Gutov In-Reply-To: <83zfyjwiiy.fsf@gnu.org> X-Spam-Score: -2.9 (--) X-Debbugs-Envelope-To: 67569 Cc: mjh@mjhoy.com, 67569@debbugs.gnu.org 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.9 (---) This is a multi-part message in MIME format. --------------KjOLRv5WZ90ES1oslfz2bcb8 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 09/12/2023 16:35, Eli Zaretskii wrote: >> Date: Sat, 9 Dec 2023 16:13:02 +0200 >> From: Dmitry Gutov >> >> Eli, should we put this in Emacs 29.2? It's not a regression (a fairly >> old problem), but the fix looks simple enough. > Yes, please. Very good, pushed to emacs-29. Here's a second patch on top which gets rid of the whitelist altogether (the new heuristic seems to cover the cases better anyway), though I'm on the fence whether this should go here or into master. It seems to work well with some testing, but it is more adventurous than the previous one. --------------KjOLRv5WZ90ES1oslfz2bcb8 Content-Type: text/x-patch; charset=UTF-8; name="ruby-parenless-regexp-no-whitelist.diff" Content-Disposition: attachment; filename="ruby-parenless-regexp-no-whitelist.diff" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL2xpc3AvcHJvZ21vZGVzL3J1YnktbW9kZS5lbCBiL2xpc3AvcHJvZ21v ZGVzL3J1YnktbW9kZS5lbAppbmRleCAwZWNiMzU3OTI3OC4uODYyYWFmOGUxODIgMTAwNjQ0 Ci0tLSBhL2xpc3AvcHJvZ21vZGVzL3J1YnktbW9kZS5lbAorKysgYi9saXNwL3Byb2dtb2Rl cy9ydWJ5LW1vZGUuZWwKQEAgLTIxMDUsMTIgKzIxMDUsNiBAQCBydWJ5LWZpbmQtbGlicmFy eS1maWxlCiAgICAgIlxcKCVcXClbcVFyc3dXeElpXT9cXChbWzpwdW5jdDpdXVxcKSIKICAg ICAiUmVnZXhwIHRvIG1hdGNoIHRoZSBiZWdpbm5pbmcgb2YgcGVyY2VudCBsaXRlcmFsLiIp CiAKLSAgKGRlZmNvbnN0IHJ1Ynktc3ludGF4LW1ldGhvZHMtYmVmb3JlLXJlZ2V4cAotICAg ICcoImdzdWIiICJnc3ViISIgInN1YiIgInN1YiEiICJzY2FuIiAic3BsaXQiICJzcGxpdCEi ICJpbmRleCIgIm1hdGNoIgotICAgICAgImFzc2VydF9tYXRjaCIgIkdpdmVuIiAiVGhlbiIg IldoZW4iKQotICAgICJNZXRob2RzIHRoYXQgY2FuIHRha2UgcmVnZXhwIGFzIHRoZSBmaXJz dCBhcmd1bWVudC4KLUl0IHdpbGwgYmUgcHJvcGVybHkgaGlnaGxpZ2h0ZWQgZXZlbiB3aGVu IHRoZSBjYWxsIG9taXRzIHBhcmVucy4iKQotCiAgIChkZWZ2YXIgcnVieS1zeW50YXgtYmVm b3JlLXJlZ2V4cC1yZQogICAgIChjb25jYXQKICAgICAgOzsgU3BlY2lhbCB0b2tlbnMgdGhh dCBjYW4ndCBiZSBmb2xsb3dlZCBieSBhIGRpdmlzaW9uIG9wZXJhdG9yLgpAQCAtMjEyMiwx MSArMjExNiw5IEBAIHJ1YnktZmluZC1saWJyYXJ5LWZpbGUKICAgICAgIlxcfFxcKD86Xlxc fFxccyBcXCkiCiAgICAgIChyZWdleHAtb3B0ICcoImlmIiAiZWxzaWYiICJ1bmxlc3MiICJ3 aGlsZSIgInVudGlsIiAid2hlbiIgImFuZCIKICAgICAgICAgICAgICAgICAgICAib3IiICJu b3QiICImJiIgInx8IikpCi0gICAgIDs7IE1ldGhvZCBuYW1lIGZyb20gdGhlIGxpc3QuCi0g ICAgICJcXHxcXF88IgotICAgICAocmVnZXhwLW9wdCBydWJ5LXN5bnRheC1tZXRob2RzLWJl Zm9yZS1yZWdleHAgdCkKICAgICAgIlxcKVxccyAqIikKLSAgICAiUmVnZXhwIHRvIG1hdGNo IHRleHQgdGhhdCBjYW4gYmUgZm9sbG93ZWQgYnkgYSByZWd1bGFyIGV4cHJlc3Npb24uIikp CisgICAgIlJlZ2V4cCB0byBtYXRjaCB0ZXh0IHRoYXQgZGlzYW1iaWd1YXRlcyBhIHJlZ3Vs YXIgZXhwcmVzc2lvbi4KK0FueSBzbGFzaCBjaGFyYWN0ZXIgYWZ0ZXIgYW55IG9mIHRoZXNl IHNob3VsZCBiZWdpbiBhIHJlZ2V4cC4iKSkKIAogKGRlZnVuIHJ1Ynktc3ludGF4LXByb3Bl cnRpemUgKHN0YXJ0IGVuZCkKICAgIlN5bnRhY3RpYyBrZXl3b3JkcyBmb3IgUnVieSBtb2Rl LiAgU2VlIGBzeW50YXgtcHJvcGVydGl6ZS1mdW5jdGlvbicuIgpAQCAtMjE4MiwyMCArMjE3 NCwxOCBAQCBydWJ5LXN5bnRheC1wcm9wZXJ0aXplCiAgICAgICAgICh3aGVuIChzYXZlLWV4 Y3Vyc2lvbgogICAgICAgICAgICAgICAgIChmb3J3YXJkLWNoYXIgLTEpCiAgICAgICAgICAg ICAgICAgKGNsLWV2ZW5wIChza2lwLWNoYXJzLWJhY2t3YXJkICJcXFxcIikpKQotICAgICAg ICAgIChsZXQgKChzdGF0ZSAoc2F2ZS1leGN1cnNpb24gKHN5bnRheC1wcHNzIChtYXRjaC1i ZWdpbm5pbmcgMSkpKSkKLSAgICAgICAgICAgICAgICBkaXZpc2lvbi1saWtlKQorICAgICAg ICAgIChsZXQgKChzdGF0ZSAoc2F2ZS1leGN1cnNpb24gKHN5bnRheC1wcHNzIChtYXRjaC1i ZWdpbm5pbmcgMSkpKSkpCiAgICAgICAgICAgICAod2hlbiAob3IKICAgICAgICAgICAgICAg ICAgICA7OyBCZWdpbm5pbmcgb2YgYSByZWdleHAuCiAgICAgICAgICAgICAgICAgICAgKGFu ZCAobnVsbCAobnRoIDggc3RhdGUpKQotICAgICAgICAgICAgICAgICAgICAgICAgKHNhdmUt ZXhjdXJzaW9uCi0gICAgICAgICAgICAgICAgICAgICAgICAgIChzZXRxIGRpdmlzaW9uLWxp a2UKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG9yIChlcWwgKGNoYXItYWZ0 ZXIpID9ccykKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChub3QgKGVx bCAoY2hhci1iZWZvcmUgKDEtIChwb2ludCkpKSA/XHMpKSkpCi0gICAgICAgICAgICAgICAg ICAgICAgICAgIChmb3J3YXJkLWNoYXIgLTEpCi0gICAgICAgICAgICAgICAgICAgICAgICAg IChsb29raW5nLWJhY2sgcnVieS1zeW50YXgtYmVmb3JlLXJlZ2V4cC1yZQotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChsaW5lLWJlZ2lubmluZy1wb3NpdGlv bikpKQotICAgICAgICAgICAgICAgICAgICAgICAgKG5vdCAoYW5kIGRpdmlzaW9uLWxpa2UK LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobWF0Y2gtYmVnaW5uaW5nIDIp KSkpCisgICAgICAgICAgICAgICAgICAgICAgICAob3IgKG5vdAorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICA7OyBMb29rcyBsaWtlIGRpdmlzaW9uLgorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAob3IgKGVxbCAoY2hhci1hZnRlcikgP1xzKQorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgKG5vdCAoZXFsIChjaGFyLWJlZm9yZSAoMS0gKHBvaW50 KSkpID9ccykpKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc2F2ZS1leGN1cnNp b24KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChmb3J3YXJkLWNoYXIgLTEpCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobG9va2luZy1iYWNrIHJ1Ynktc3ludGF4 LWJlZm9yZS1yZWdleHAtcmUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgKGxpbmUtYmVnaW5uaW5nLXBvc2l0aW9uKSkpKSkKICAgICAgICAgICAgICAg ICAgICA7OyBFbmQgb2YgcmVnZXhwLiAgV2UgZG9uJ3QgbWF0Y2ggdGhlIHdob2xlCiAgICAg ICAgICAgICAgICAgICAgOzsgcmVnZXhwIGF0IG9uY2UgYmVjYXVzZSBpdCBjYW4gaGF2ZQog ICAgICAgICAgICAgICAgICAgIDs7IHN0cmluZyBpbnRlcnBvbGF0aW9uIGluc2lkZSwgb3Ig c3BhbgpkaWZmIC0tZ2l0IGEvdGVzdC9saXNwL3Byb2dtb2Rlcy9ydWJ5LW1vZGUtcmVzb3Vy Y2VzL3J1YnkucmIgYi90ZXN0L2xpc3AvcHJvZ21vZGVzL3J1YnktbW9kZS1yZXNvdXJjZXMv cnVieS5yYgppbmRleCA4MWQwZGZkNzVjOS4uYTQxMWIzOWE4ZmMgMTAwNjQ0Ci0tLSBhL3Rl c3QvbGlzcC9wcm9nbW9kZXMvcnVieS1tb2RlLXJlc291cmNlcy9ydWJ5LnJiCisrKyBiL3Rl c3QvbGlzcC9wcm9nbW9kZXMvcnVieS1tb2RlLXJlc291cmNlcy9ydWJ5LnJiCkBAIC0zNCwx MSArMzQsMTEgQEAgZGVmIGZvbwogIyBSZWdleHAgYWZ0ZXIgd2hpdGVsaXN0ZWQgbWV0aG9k LgogImFiYyIuc3ViIC9iLywgJ2QnCiAKLSMgRG9uJ3QgbWlzbWF0Y2ggInN1YiIgYXQgdGhl IGVuZCBvZiB3b3Jkcy4KLWEgPSBhc3ViIC8gYXNsYiArIGJzdWIgLyBic2xiOworIyBEb24n dCBtaXN0YWtlIGRpdmlzaW9uIGZvciByZWdleHAuCithID0gc3ViIC8gYXNsYiArIGJzdWIg LyBic2xiOwogCiAjIEhpZ2hsaWdodCB0aGUgcmVnZXhwIGFmdGVyICJpZiIuCi14ID0gdG90 byAvIGZvbyBpZiAvZG8gYmFyLyA9fiAiZG9iYXIiCit4ID0gdG90byAvIGZvbyBpZiAvIGRv IGJhci8gPX4gImRvYmFyIgogCiAjIFJlZ2V4cCBvcHRpb25zIGFyZSBoaWdobGlnaHRlZC4K IApkaWZmIC0tZ2l0IGEvdGVzdC9saXNwL3Byb2dtb2Rlcy9ydWJ5LW1vZGUtdGVzdHMuZWwg Yi90ZXN0L2xpc3AvcHJvZ21vZGVzL3J1YnktbW9kZS10ZXN0cy5lbAppbmRleCBhOTMxNTQx YmEzNS4uZmVhNWY1OGI5MmUgMTAwNjQ0Ci0tLSBhL3Rlc3QvbGlzcC9wcm9nbW9kZXMvcnVi eS1tb2RlLXRlc3RzLmVsCisrKyBiL3Rlc3QvbGlzcC9wcm9nbW9kZXMvcnVieS1tb2RlLXRl c3RzLmVsCkBAIC0xNjQsNyArMTY0LDcgQEAgcnVieS1zbGFzaC1ub3QtcmVnZXhwLXdoZW4t bm8tc3BhY2VzCiAgIChydWJ5LWFzc2VydC1zdGF0ZSAieCA9IGluZGV4LzMiIDMgbmlsKSkK IAogKGVydC1kZWZ0ZXN0IHJ1YnktcmVnZXhwLW5vdC1kaXZpc2lvbi13aGVuLW9ubHktc3Bh Y2UtYmVmb3JlICgpCi0gIChydWJ5LWFzc2VydC1zdGF0ZSAieCA9IGluZGV4IC8zIiAzID8v KSkKKyAgKHJ1YnktYXNzZXJ0LXN0YXRlICJ4ID0gZm9vX2luZGV4IC8zIiAzID8vKSkKIAog KGVydC1kZWZ0ZXN0IHJ1Ynktc2xhc2gtbm90LXJlZ2V4cC13aGVuLW9ubHktc3BhY2UtYWZ0 ZXIgKCkKICAgKHJ1YnktYXNzZXJ0LXN0YXRlICJ4ID0gaW5kZXgvIDMiIDMgbmlsKSkK --------------KjOLRv5WZ90ES1oslfz2bcb8-- From debbugs-submit-bounces@debbugs.gnu.org Sat Dec 09 12:48:38 2023 Received: (at 67569) by debbugs.gnu.org; 9 Dec 2023 17:48:38 +0000 Received: from localhost ([127.0.0.1]:48866 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rC1RN-0001Bs-MX for submit@debbugs.gnu.org; Sat, 09 Dec 2023 12:48:38 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:45004) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rC1RJ-0001Ap-5Z for 67569@debbugs.gnu.org; Sat, 09 Dec 2023 12:48:36 -0500 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 1rC1Qz-0001UI-Rx; Sat, 09 Dec 2023 12:48:13 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=uj8oIY1Yq4HKO6s6XuF6nWoqjAezECDjIkg6m9tidUo=; b=lwjmHLNoSwP7 XDHlRmppPGtE4Ll8ECboGFQ2kdfyyKVysGK8Bqr8HKCJRt8tz+pSH2anvuBH7C+SKGZNFi63D8juE R5831gHOk9hVVRdK3nRBILAD2mbR9zrm7Ung4EH5AmkHqo1Wwe36SptBLCmLBe7U9+pAbBFbtmgVA 4dvULLRYQDzIRMKF1tGfMmM0svzAitj1zvlt7FmyApAWY5zoh3GSKvjtcP6/SYTIlNRu8L9jMohUa 3MEhFfYp3Mn783NiykDdhQLDikSwoQxv5GGyeRUfLV2w52plzxtw6ctYrIfzxvTC3hFN6HWFRUXUK 0faSzU5InL8yXZ8nWDYUbw==; Date: Sat, 09 Dec 2023 19:47:58 +0200 Message-Id: <83plzfw9m9.fsf@gnu.org> From: Eli Zaretskii To: Dmitry Gutov In-Reply-To: (message from Dmitry Gutov on Sat, 9 Dec 2023 19:38:28 +0200) Subject: Re: bug#67569: 29.1; ruby-mode syntax highlighting breaks with variable named "index" and "/" operator References: <0ee4ce91-c344-4859-8b13-07de5876368d@gutov.dev> <83zfyjwiiy.fsf@gnu.org> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 67569 Cc: mjh@mjhoy.com, 67569@debbugs.gnu.org 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 (---) > Date: Sat, 9 Dec 2023 19:38:28 +0200 > Cc: mjh@mjhoy.com, 67569@debbugs.gnu.org > From: Dmitry Gutov > > >> Eli, should we put this in Emacs 29.2? It's not a regression (a fairly > >> old problem), but the fix looks simple enough. > > Yes, please. > > Very good, pushed to emacs-29. > > Here's a second patch on top which gets rid of the whitelist altogether > (the new heuristic seems to cover the cases better anyway), though I'm > on the fence whether this should go here or into master. > > It seems to work well with some testing, but it is more adventurous than > the previous one. Yes, I think we have enough adventures on emacs-29. From debbugs-submit-bounces@debbugs.gnu.org Sat Dec 09 13:00:54 2023 Received: (at 67569-done) by debbugs.gnu.org; 9 Dec 2023 18:00:55 +0000 Received: from localhost ([127.0.0.1]:48879 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rC1dG-0001WJ-9M for submit@debbugs.gnu.org; Sat, 09 Dec 2023 13:00:54 -0500 Received: from out1-smtp.messagingengine.com ([66.111.4.25]:43657) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rC1dB-0001W3-MF for 67569-done@debbugs.gnu.org; Sat, 09 Dec 2023 13:00:53 -0500 Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailout.nyi.internal (Postfix) with ESMTP id 8D1945C0195; Sat, 9 Dec 2023 13:00:30 -0500 (EST) Received: from mailfrontend1 ([10.202.2.162]) by compute1.internal (MEProxy); Sat, 09 Dec 2023 13:00:30 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gutov.dev; h=cc :cc:content-transfer-encoding:content-type:content-type:date :date:from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:sender:subject:subject:to:to; s=fm3; t= 1702144830; x=1702231230; bh=ji9LQOTBkoZ1ql4dPbV8hCeeHxcMUhLpWkG tXvcsYa0=; b=oAigmbdwTFbdrY7WJFVoQ9njhy6j7+rKuuYZBwwIEYaipToGOZa I6w7sWP3jF6hwsiskNNkrU0BYsxmEeqlf6kNKIqMqBDGOj87WoHO5Rg2fHk9Vc1Q N89zgZBdwx0Ux0rnr5oXOSOtv0TNCB/11Wt2qmywWFkgMcpZmbDeKwF2+X/RG+GM cJK82F3Z3Ri3EkCkERIkFtY6WhrK4Cx2fE3QH2TpZ1m+/mebhAq0dOcV0DRB4ApO y0GhcTce0sq0wLjcKE/GPWKQOqJN5PigcoHeOUM7tdDDErutrC4abuSbUC1JwLSY 7gVJEN3Spnnqdt1bYz22DcZ8jccf2U6zIwA== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :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:sender:subject:subject:to:to:x-me-proxy :x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t= 1702144830; x=1702231230; bh=ji9LQOTBkoZ1ql4dPbV8hCeeHxcMUhLpWkG tXvcsYa0=; b=ZU2GvSjOih2pdW9VyFpIDYwfdpdSRk6OwwMXWRCo430XHqulTPk rRNm9bSa6N77TrROqjaZLAtBSv/PQBcqQXh/B3tueilf61nvM0F/lS+d95c4xSXH DZNitRfIdQ5+cr9KaXfAfD5BDaE3ltG8veVW8ZyIp0vg4BJtmUWoivrMTqA9zGxW O00rZ9+aXL/tui6lkjBYI8OWIvudRZ4ftot8xp4IP6nKLCnSGk2EYX5yESaG3rmb bzZvWMDsl/R5Hq+LbSxMi+TQWRYMZNQnyGg+iU2aUAZPeyYCV6ntY2rCYnwk+u8a TgE2LwOARXwpk3IMELkfs2Z9RkHwJ8hLFEQ== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvkedrudekkedguddtkecutefuodetggdotefrod ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfgh necuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmd enucfjughrpefkffggfgfuvfevfhfhjggtgfesthejredttdefjeenucfhrhhomhepffhm ihhtrhihucfiuhhtohhvuceoughmihhtrhihsehguhhtohhvrdguvghvqeenucggtffrrg htthgvrhhnpeeigfetveehveevffehledtueekieeikeeufeegudfgfeeghfdulefgfeev ledvveenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpe gumhhithhrhiesghhuthhovhdruggvvh X-ME-Proxy: Feedback-ID: i0e71465a:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Sat, 9 Dec 2023 13:00:29 -0500 (EST) Message-ID: Date: Sat, 9 Dec 2023 20:00:27 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.13.0 Subject: Re: bug#67569: 29.1; ruby-mode syntax highlighting breaks with variable named "index" and "/" operator Content-Language: en-US To: Eli Zaretskii References: <0ee4ce91-c344-4859-8b13-07de5876368d@gutov.dev> <83zfyjwiiy.fsf@gnu.org> <83plzfw9m9.fsf@gnu.org> From: Dmitry Gutov In-Reply-To: <83plzfw9m9.fsf@gnu.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -2.9 (--) X-Debbugs-Envelope-To: 67569-done Cc: mjh@mjhoy.com, 67569-done@debbugs.gnu.org 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.9 (---) On 09/12/2023 19:47, Eli Zaretskii wrote: >> Date: Sat, 9 Dec 2023 19:38:28 +0200 >> Cc:mjh@mjhoy.com,67569@debbugs.gnu.org >> From: Dmitry Gutov >> >>>> Eli, should we put this in Emacs 29.2? It's not a regression (a fairly >>>> old problem), but the fix looks simple enough. >>> Yes, please. >> Very good, pushed to emacs-29. >> >> Here's a second patch on top which gets rid of the whitelist altogether >> (the new heuristic seems to cover the cases better anyway), though I'm >> on the fence whether this should go here or into master. >> >> It seems to work well with some testing, but it is more adventurous than >> the previous one. > Yes, I think we have enough adventures on emacs-29. All right. Guess I'm closing this, then, and will push the second patch after the next merge into master. From debbugs-submit-bounces@debbugs.gnu.org Sat Dec 16 06:58:37 2023 Received: (at 67569) by debbugs.gnu.org; 16 Dec 2023 11:58:37 +0000 Received: from localhost ([127.0.0.1]:54089 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rETJU-0003js-ED for submit@debbugs.gnu.org; Sat, 16 Dec 2023 06:58:37 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:39038) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rETJS-0003jQ-2e for 67569@debbugs.gnu.org; Sat, 16 Dec 2023 06:58:34 -0500 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 1rETJM-0006Qv-6A; Sat, 16 Dec 2023 06:58:28 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=Sone1Ff6S/6NGerMU85iLi0TSRrRQQyS0JVVK71sFS0=; b=IR007u+QTeAs vPtPvHYZ3tmZnChVwyqn31GMUduWYMBJx+uB3cL7oB6JSbDpSxNCMDLZx1xywI73Hy+R1m03urIEs TI8L5U/55nxnQ6tzM/odDWRbk1OUzhHevOF+aOXxGRXru1bT2ooAQnIatcNyTf1ujHb5V90OzRk0G GavbmWO/+JQ48hVKrk/f9GVGkQRUG6IrttfEScT9oAh65+O73XZuX/V0b1r53ykiTXBcWX93OMvR9 JP2uIUoBFrETOmlE8BmPusAORGz8EVIJl6IYsEwXJHWCzxcttcXtt0fpx2oNt887Rz2BN0b3gM7ov 2IemmEmGrOjuVHuSOh2j5w==; Date: Sat, 16 Dec 2023 13:58:09 +0200 Message-Id: <83sf42mka6.fsf@gnu.org> From: Eli Zaretskii To: dmitry@gutov.dev In-Reply-To: <83o7ezydwp.fsf@gnu.org> (message from Eli Zaretskii on Sat, 09 Dec 2023 10:32:22 +0200) Subject: Re: bug#67569: 29.1; ruby-mode syntax highlighting breaks with variable named "index" and "/" operator References: <83o7ezydwp.fsf@gnu.org> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 67569 Cc: mjh@mjhoy.com, 67569@debbugs.gnu.org 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 (---) Ping! > Cc: 67569@debbugs.gnu.org > Date: Sat, 09 Dec 2023 10:32:22 +0200 > From: Eli Zaretskii > > > From: Michael Hoy > > Date: Fri, 01 Dec 2023 09:27:47 -0500 > > > > In the standard ruby-mode, a variable named "index" followed by a "/" > > causes the syntax highlighting to break -- it appears that after the > > slash everything is interpreted as part of a regular expression until > > another "/" appears. > > > > You can reproduce this fairly easily. using 'emacs -Q', go to the > > scratch buffer and clear it. Run 'M-x ruby-mode'. Enter something like > > the following: > > > > def foo > > index = 5 > > x = index / 3 > > puts "#{x}" > > end > > > > Note that starting after the "/" until the end, syntax highlighting and > > indentation break (everything, in my color scheme, is purple). If you > > add a "/" for instance to the "puts" line, syntax highlighting and > > indentation will be restored after that. > > > > There is a report here about the bug: > > https://emacs.stackexchange.com/questions/23802/division-sometimes-breaks-syntax-highlighting-in-ruby-mode > > The author says in the comments they used "M-x report-emacs-bug", but I > > couldn't find it (and the comments suggest that it may not have been > > sent correctly). Apologies if this is already reported! > > Dmitry, any comments? > > > > From debbugs-submit-bounces@debbugs.gnu.org Sat Dec 16 07:17:50 2023 Received: (at 67569) by debbugs.gnu.org; 16 Dec 2023 12:17:50 +0000 Received: from localhost ([127.0.0.1]:54111 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rETc6-000149-Du for submit@debbugs.gnu.org; Sat, 16 Dec 2023 07:17:50 -0500 Received: from out2-smtp.messagingengine.com ([66.111.4.26]:45147) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rETc3-00013u-At for 67569@debbugs.gnu.org; Sat, 16 Dec 2023 07:17:49 -0500 Received: from compute6.internal (compute6.nyi.internal [10.202.2.47]) by mailout.nyi.internal (Postfix) with ESMTP id 924845C00A0; Sat, 16 Dec 2023 07:17:41 -0500 (EST) Received: from mailfrontend1 ([10.202.2.162]) by compute6.internal (MEProxy); Sat, 16 Dec 2023 07:17:41 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gutov.dev; h=cc :cc:content-transfer-encoding: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=1702729061; x=1702815461; bh=NnetjeCK2hD8KvJnsoDe84lDwXOvEm6KpOiENNHcl3k=; b= okl6fOm3UpluWeldEPtCsrG17wdRPxnLdnyTmoYDdau2gY8f+hivUlfUc7aGQLz/ AGGfdHXSHSE6J2rpC85bTW2LxaVjjsdHVjfEQTtJYqaROIMPn3OYcXrYr2am4FI8 Nl7eg4PNKv5SD8lT2qhOym2u48HeuCN2yRj//MYnHs0hc+lvz7/bA6EpvVWZXoEX pNXwq5044IksgChIS1fjU3JYDR3Hxhn1bPK1qL61OL419jh1TfYoYo/lkW4GxSbf tsXCgrHGTkw2zOJt9kZxWOhFFRNGVgSGjVNdY/H9Zj8EkBn9ebgRaQ2aXw1AfaPu FJPB+Ay/4UNeyb4f7oOkhA== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :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-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t=1702729061; x= 1702815461; bh=NnetjeCK2hD8KvJnsoDe84lDwXOvEm6KpOiENNHcl3k=; b=s LhwJZWMBFUSFObUVsvk3AeW6fC5vE/pIWPBa7DSb3nRnVfPZXhP3f1+qS9z9kbk+ uz4x7fFzSPCtpuNSzoub8WMMKi2cW8lStl78JHjx+u/6ag6VVBlsXrJeCQ7T5u2M vA2srHZgwO3nsNJOsGkyvI+UfP7aJtmeiF7PmpO6S43QXSEMpvnXylmeiNcICgQv FnzTQMkRE00j0G8C8/bQBlbvbHb/KrI8vBMrpQu41TDfJ0cM/Dmdz7+caJUkgHA4 YLHwkYmuFt0BhrMjKSDlyp1Vchs+G5vvDvKy6fc61eOHU6U7YckbrFif2yZP22fJ VfrEknPWFefOnA/7FtKWA== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvkedrvddtgedgfeelucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhepkfffgggfuffvvehfhfgjtgfgsehtjeertddtfeejnecuhfhrohhmpeffmhhi thhrhicuifhuthhovhcuoegumhhithhrhiesghhuthhovhdruggvvheqnecuggftrfgrth htvghrnhepteeggeeuffeffeevhefgheekfeelheehgfehveeffeelfefhvdduuefghfff tdejnecuffhomhgrihhnpehsthgrtghkvgigtghhrghnghgvrdgtohhmnecuvehluhhsth gvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepughmihhtrhihsehguhht ohhvrdguvghv X-ME-Proxy: Feedback-ID: i0e71465a:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Sat, 16 Dec 2023 07:17:40 -0500 (EST) Message-ID: <58e3e731-099a-41a4-4c36-9da7ed093c18@gutov.dev> Date: Sat, 16 Dec 2023 14:17:36 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.13.0 Subject: Re: bug#67569: 29.1; ruby-mode syntax highlighting breaks with variable named "index" and "/" operator Content-Language: en-US To: Eli Zaretskii References: <83o7ezydwp.fsf@gnu.org> <83sf42mka6.fsf@gnu.org> From: Dmitry Gutov In-Reply-To: <83sf42mka6.fsf@gnu.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -1.4 (-) X-Debbugs-Envelope-To: 67569 Cc: mjh@mjhoy.com, 67569@debbugs.gnu.org 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: -2.4 (--) This is resolved and closed, I just replied to a different subthread. I suppose you set up some automation for pinging non-respondents? :) On 16/12/2023 13:58, Eli Zaretskii wrote: > Ping! > >> Cc:67569@debbugs.gnu.org >> Date: Sat, 09 Dec 2023 10:32:22 +0200 >> From: Eli Zaretskii >> >>> From: Michael Hoy >>> Date: Fri, 01 Dec 2023 09:27:47 -0500 >>> >>> In the standard ruby-mode, a variable named "index" followed by a "/" >>> causes the syntax highlighting to break -- it appears that after the >>> slash everything is interpreted as part of a regular expression until >>> another "/" appears. >>> >>> You can reproduce this fairly easily. using 'emacs -Q', go to the >>> scratch buffer and clear it. Run 'M-x ruby-mode'. Enter something like >>> the following: >>> >>> def foo >>> index = 5 >>> x = index / 3 >>> puts "#{x}" >>> end >>> >>> Note that starting after the "/" until the end, syntax highlighting and >>> indentation break (everything, in my color scheme, is purple). If you >>> add a "/" for instance to the "puts" line, syntax highlighting and >>> indentation will be restored after that. >>> >>> There is a report here about the bug: >>> https://emacs.stackexchange.com/questions/23802/division-sometimes-breaks-syntax-highlighting-in-ruby-mode >>> The author says in the comments they used "M-x report-emacs-bug", but I >>> couldn't find it (and the comments suggest that it may not have been >>> sent correctly). Apologies if this is already reported! >> Dmitry, any comments? >> >> >> >> From unknown Sun Aug 17 00:57:59 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Sat, 13 Jan 2024 12:24:08 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator