From unknown Thu Sep 11 18:37:13 2025 X-Loop: help-debbugs@gnu.org Subject: bug#66989: 30.0.50; tree-sitter: treesit-defun-at-point wrong behavior in python-ts-mode Resent-From: Denis Zubarev Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 07 Nov 2023 16:20:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 66989 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: 66989@debbugs.gnu.org X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.169937400013413 (code B ref -1); Tue, 07 Nov 2023 16:20:02 +0000 Received: (at submit) by debbugs.gnu.org; 7 Nov 2023 16:20:00 +0000 Received: from localhost ([127.0.0.1]:43101 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r0Onx-0003UB-SC for submit@debbugs.gnu.org; Tue, 07 Nov 2023 11:20:00 -0500 Received: from lists.gnu.org ([2001:470:142::17]:42498) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r0Olw-0003P1-MZ for submit@debbugs.gnu.org; Tue, 07 Nov 2023 11:17:50 -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 1r0OlA-0008Re-Kz for bug-gnu-emacs@gnu.org; Tue, 07 Nov 2023 11:17:01 -0500 Received: from forward401a.mail.yandex.net ([2a02:6b8:c0e:500:1:45:d181:db02]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1r0Ol6-0005bi-AQ for bug-gnu-emacs@gnu.org; Tue, 07 Nov 2023 11:17:00 -0500 Received: from mail-nwsmtp-smtp-production-main-84.iva.yp-c.yandex.net (mail-nwsmtp-smtp-production-main-84.iva.yp-c.yandex.net [IPv6:2a02:6b8:c0c:a712:0:640:cd83:0]) by forward401a.mail.yandex.net (Yandex) with ESMTP id 5987668484 for ; Tue, 7 Nov 2023 19:16:46 +0300 (MSK) Received: by mail-nwsmtp-smtp-production-main-84.iva.yp-c.yandex.net (smtp/Yandex) with ESMTPSA id jGfVRM7UteA0-UFMBn5pH; Tue, 07 Nov 2023 19:16:45 +0300 X-Yandex-Fwd: 1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yandex.ru; s=mail; t=1699373806; bh=03r52Plju21M815N7V4DhMxovIHqTjDAwohhSPIvK98=; h=Message-ID:Date:Subject:To:From; b=JY7KQx7u+0/yxUAS6D/gnw1PeULjcmT+yoMOSYNth8hbYukckgxLK4b7Ygx4/dEcU yGaAHU59DaYVDbuEzuiG1F3kB8Q8ogfHakCa6HD7UxudQo6aOnfM9TTZP5TctyraTM cmmxQyhFc8qTJsY5aUUzH2K+d2bvYrpw6r/qCdNU= Authentication-Results: mail-nwsmtp-smtp-production-main-84.iva.yp-c.yandex.net; dkim=pass header.i=@yandex.ru From: Denis Zubarev Date: Tue, 07 Nov 2023 19:16:45 +0300 Message-ID: <87pm0l1qtu.fsf@yandex.ru> MIME-Version: 1.0 Content-Type: text/plain Received-SPF: pass client-ip=2a02:6b8:c0e:500:1:45:d181:db02; envelope-from=dvzubarev@yandex.ru; helo=forward401a.mail.yandex.net X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, SPF_HELO_NONE=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: 3.0 (+++) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: Steps to reproduce: 1. emacs -Q 2. M-x find-file /tmp/t.py 3. paste to the buffer def premain(): pa|ss def main(): pass where | is cursor position for further steps Content analysis details: (3.0 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (dvzubarev[at]yandex.ru) -0.0 SPF_HELO_PASS SPF: HELO matches SPF record 1.0 SPF_SOFTFAIL SPF: sender does not match SPF record (softfail) 2.0 SPOOFED_FREEMAIL No description available. X-Mailman-Approved-At: Tue, 07 Nov 2023 11:19:52 -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.0 (/) Steps to reproduce: 1. emacs -Q 2. M-x find-file /tmp/t.py 3. paste to the buffer def premain(): pa|ss def main(): pass where | is cursor position for further steps 4. M-x python-ts-mode 5. M-x eval-expression (treesit-defun-at-point) treesit-defun-at-point returns nil, but I expect that it will return a node for `premain`. If you move the cursor to the beginning of the word `pass` and try again it will return node for `premain` function. If you eval `(treesit--things-around (point) treesit-defun-type-regexp)`, it returns `(nil # nil)` It seems that when cursor is not on the beginning of the node, treesit erroneously finds next sibling. It prevents finding parent node correctly (premain function in this case). I managed to fix the problem by replacing `(cursor (or (nth 0 result) (nth 1 result) node)` with ~(cursor node)~ - here https://github.com/emacs-mirror/emacs/blob/12d1f33ceb37a2d0399af7e4054024c60a465ab8/lisp/treesit.el#L2383 But I'm sure it is not the proper fix. In GNU Emacs 30.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.33, cairo version 1.16.0) of 2023-11-07 built on NUC-here Repository revision: a1abb6a85e6605c256595b8d7b885018e5421c28 Repository branch: master Windowing system distributor 'The X.Org Foundation', version 11.0.12101004 System Description: Ubuntu 22.04.3 LTS Configured using: 'configure --with-modules --with-native-compilation=aot --with-imagemagick --with-json --with-tree-sitter --with-xft' Configured features: ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ IMAGEMAGICK JPEG JSON LCMS2 LIBOTF LIBSELINUX LIBSYSTEMD LIBXML2 M17N_FLT MODULES NATIVE_COMP NOTIFY INOTIFY PDUMPER PNG RSVG SECCOMP SOUND THREADS TIFF TOOLKIT_SCROLL_BARS TREE_SITTER X11 XDBE XIM XINPUT2 XPM GTK3 ZLIB Important settings: value of $LC_MONETARY: ru_RU.UTF-8 value of $LC_NUMERIC: ru_RU.UTF-8 value of $LC_TIME: ru_RU.UTF-8 value of $LANG: en_US.UTF-8 locale-coding-system: utf-8-unix Major mode: ELisp/l Minor modes in effect: git-gutter-mode: t dap-tooltip-mode: t dap-ui-mode: t treemacs-filewatch-mode: t treemacs-git-mode: t treemacs-fringe-indicator-mode: t dap-mode: t lispyville-mode: t lispy-mode: t highlight-quoted-mode: t rainbow-delimiters-mode: t save-place-mode: t global-so-long-mode: t winum-mode: t projectile-mode: t flycheck-popup-tip-mode: t +emacs-lisp-non-package-mode: t vi-tilde-fringe-mode: t display-line-numbers-mode: t hl-todo-mode: t outline-minor-mode: t global-git-commit-mode: t yas-global-mode: t yas-minor-mode: t recentf-mode: t which-key-mode: t savehist-mode: t better-jumper-mode: t better-jumper-local-mode: t global-company-mode: t company-mode: t vertico-mode: t marginalia-mode: t evil-goggles-mode: t evil-escape-mode: t evil-snipe-override-mode: t evil-snipe-mode: t evil-snipe-override-local-mode: t evil-snipe-local-mode: t pcre-mode: t server-mode: t gcmh-mode: t global-hl-line-mode: t hl-line-mode: t winner-mode: t smartparens-global-mode: t ws-butler-global-mode: t ws-butler-mode: t undo-fu-session-global-mode: t undo-fu-session-mode: t undo-fu-mode: t global-flycheck-mode: t flycheck-mode: t persp-mode: t global-jinx-mode: t jinx-mode: t doom-modeline-mode: t solaire-global-mode: t highlight-numbers-mode: t hexl-follow-ascii: t global-evil-surround-mode: t evil-surround-mode: t dirvish-override-dired-mode: t direnv-mode: t evil-mode: t evil-local-mode: t +popup-mode: t override-global-mode: t general-override-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 window-divider-mode: t minibuffer-regexp-mode: t size-indication-mode: t column-number-mode: t line-number-mode: t transient-mark-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t Load-path shadows: /home/denin/.emacs.d/.local/straight/build-30.0.50/ivy/elpa hides /home/denin/.emacs.d/.local/straight/build-30.0.50/lispy/elpa /home/denin/.emacs.d/.local/straight/build-30.0.50/transient/transient hides /usr/local/share/emacs/30.0.50/lisp/transient /home/denin/.emacs.d/.local/straight/build-30.0.50/bind-key/bind-key hides /usr/local/share/emacs/30.0.50/lisp/bind-key /home/denin/.emacs.d/.local/straight/build-30.0.50/use-package/use-package-delight hides /usr/local/share/emacs/30.0.50/lisp/use-package/use-package-delight /home/denin/.emacs.d/.local/straight/build-30.0.50/use-package/use-package-lint hides /usr/local/share/emacs/30.0.50/lisp/use-package/use-package-lint /home/denin/.emacs.d/.local/straight/build-30.0.50/use-package/use-package-jump hides /usr/local/share/emacs/30.0.50/lisp/use-package/use-package-jump /home/denin/.emacs.d/.local/straight/build-30.0.50/use-package/use-package-diminish hides /usr/local/share/emacs/30.0.50/lisp/use-package/use-package-diminish /home/denin/.emacs.d/.local/straight/build-30.0.50/use-package/use-package-ensure hides /usr/local/share/emacs/30.0.50/lisp/use-package/use-package-ensure /home/denin/.emacs.d/.local/straight/build-30.0.50/use-package/use-package hides /usr/local/share/emacs/30.0.50/lisp/use-package/use-package /home/denin/.emacs.d/.local/straight/build-30.0.50/use-package/use-package-bind-key hides /usr/local/share/emacs/30.0.50/lisp/use-package/use-package-bind-key /home/denin/.emacs.d/.local/straight/build-30.0.50/use-package/use-package-core hides /usr/local/share/emacs/30.0.50/lisp/use-package/use-package-core /home/denin/.emacs.d/.local/straight/build-30.0.50/project/project hides /usr/local/share/emacs/30.0.50/lisp/progmodes/project /home/denin/.emacs.d/.local/straight/build-30.0.50/gdb-mi/gdb-mi hides /usr/local/share/emacs/30.0.50/lisp/progmodes/gdb-mi /home/denin/.emacs.d/.local/straight/build-30.0.50/xref/xref hides /usr/local/share/emacs/30.0.50/lisp/progmodes/xref /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ob-ref hides /usr/local/share/emacs/30.0.50/lisp/org/ob-ref /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ol-irc hides /usr/local/share/emacs/30.0.50/lisp/org/ol-irc /home/denin/.emacs.d/.local/straight/build-30.0.50/org/org-crypt hides /usr/local/share/emacs/30.0.50/lisp/org/org-crypt /home/denin/.emacs.d/.local/straight/build-30.0.50/org/org-attach hides /usr/local/share/emacs/30.0.50/lisp/org/org-attach /home/denin/.emacs.d/.local/straight/build-30.0.50/org/org-mouse hides /usr/local/share/emacs/30.0.50/lisp/org/org-mouse /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ob-latex hides /usr/local/share/emacs/30.0.50/lisp/org/ob-latex /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ol-eww hides /usr/local/share/emacs/30.0.50/lisp/org/ol-eww /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ob-ditaa hides /usr/local/share/emacs/30.0.50/lisp/org/ob-ditaa /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ob-groovy hides /usr/local/share/emacs/30.0.50/lisp/org/ob-groovy /home/denin/.emacs.d/.local/straight/build-30.0.50/org/org-compat hides /usr/local/share/emacs/30.0.50/lisp/org/org-compat /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ol-info hides /usr/local/share/emacs/30.0.50/lisp/org/ol-info /home/denin/.emacs.d/.local/straight/build-30.0.50/org/org-protocol hides /usr/local/share/emacs/30.0.50/lisp/org/org-protocol /home/denin/.emacs.d/.local/straight/build-30.0.50/org/org-footnote hides /usr/local/share/emacs/30.0.50/lisp/org/org-footnote /home/denin/.emacs.d/.local/straight/build-30.0.50/org/org-id hides /usr/local/share/emacs/30.0.50/lisp/org/org-id /home/denin/.emacs.d/.local/straight/build-30.0.50/org/oc-biblatex hides /usr/local/share/emacs/30.0.50/lisp/org/oc-biblatex /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ob-C hides /usr/local/share/emacs/30.0.50/lisp/org/ob-C /home/denin/.emacs.d/.local/straight/build-30.0.50/org/org-colview hides /usr/local/share/emacs/30.0.50/lisp/org/org-colview /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ob-calc hides /usr/local/share/emacs/30.0.50/lisp/org/ob-calc /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ob-octave hides /usr/local/share/emacs/30.0.50/lisp/org/ob-octave /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ob-java hides /usr/local/share/emacs/30.0.50/lisp/org/ob-java /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ob-js hides /usr/local/share/emacs/30.0.50/lisp/org/ob-js /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ob-R hides /usr/local/share/emacs/30.0.50/lisp/org/ob-R /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ob-ruby hides /usr/local/share/emacs/30.0.50/lisp/org/ob-ruby /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ob-css hides /usr/local/share/emacs/30.0.50/lisp/org/ob-css /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ox-odt hides /usr/local/share/emacs/30.0.50/lisp/org/ox-odt /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ol-man hides /usr/local/share/emacs/30.0.50/lisp/org/ol-man /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ob-perl hides /usr/local/share/emacs/30.0.50/lisp/org/ob-perl /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ox-org hides /usr/local/share/emacs/30.0.50/lisp/org/ox-org /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ox-html hides /usr/local/share/emacs/30.0.50/lisp/org/ox-html /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ob-gnuplot hides /usr/local/share/emacs/30.0.50/lisp/org/ob-gnuplot /home/denin/.emacs.d/.local/straight/build-30.0.50/org/org-entities hides /usr/local/share/emacs/30.0.50/lisp/org/org-entities /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ol-bibtex hides /usr/local/share/emacs/30.0.50/lisp/org/ol-bibtex /home/denin/.emacs.d/.local/straight/build-30.0.50/org/org-goto hides /usr/local/share/emacs/30.0.50/lisp/org/org-goto /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ob hides /usr/local/share/emacs/30.0.50/lisp/org/ob /home/denin/.emacs.d/.local/straight/build-30.0.50/org/org-inlinetask hides /usr/local/share/emacs/30.0.50/lisp/org/org-inlinetask /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ob-comint hides /usr/local/share/emacs/30.0.50/lisp/org/ob-comint /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ol-gnus hides /usr/local/share/emacs/30.0.50/lisp/org/ol-gnus /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ox-latex hides /usr/local/share/emacs/30.0.50/lisp/org/ox-latex /home/denin/.emacs.d/.local/straight/build-30.0.50/org/org-version hides /usr/local/share/emacs/30.0.50/lisp/org/org-version /home/denin/.emacs.d/.local/straight/build-30.0.50/org/org-agenda hides /usr/local/share/emacs/30.0.50/lisp/org/org-agenda /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ob-lisp hides /usr/local/share/emacs/30.0.50/lisp/org/ob-lisp /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ob-matlab hides /usr/local/share/emacs/30.0.50/lisp/org/ob-matlab /home/denin/.emacs.d/.local/straight/build-30.0.50/org/org hides /usr/local/share/emacs/30.0.50/lisp/org/org /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ob-maxima hides /usr/local/share/emacs/30.0.50/lisp/org/ob-maxima /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ob-lua hides /usr/local/share/emacs/30.0.50/lisp/org/ob-lua /home/denin/.emacs.d/.local/straight/build-30.0.50/org/org-refile hides /usr/local/share/emacs/30.0.50/lisp/org/org-refile /home/denin/.emacs.d/.local/straight/build-30.0.50/org/org-faces hides /usr/local/share/emacs/30.0.50/lisp/org/org-faces /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ob-python hides /usr/local/share/emacs/30.0.50/lisp/org/ob-python /home/denin/.emacs.d/.local/straight/build-30.0.50/org/org-loaddefs hides /usr/local/share/emacs/30.0.50/lisp/org/org-loaddefs /home/denin/.emacs.d/.local/straight/build-30.0.50/org/org-lint hides /usr/local/share/emacs/30.0.50/lisp/org/org-lint /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ol-docview hides /usr/local/share/emacs/30.0.50/lisp/org/ol-docview /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ox-md hides /usr/local/share/emacs/30.0.50/lisp/org/ox-md /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ox-man hides /usr/local/share/emacs/30.0.50/lisp/org/ox-man /home/denin/.emacs.d/.local/straight/build-30.0.50/org/org-indent hides /usr/local/share/emacs/30.0.50/lisp/org/org-indent /home/denin/.emacs.d/.local/straight/build-30.0.50/org/org-mobile hides /usr/local/share/emacs/30.0.50/lisp/org/org-mobile /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ob-scheme hides /usr/local/share/emacs/30.0.50/lisp/org/ob-scheme /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ox hides /usr/local/share/emacs/30.0.50/lisp/org/ox /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ob-tangle hides /usr/local/share/emacs/30.0.50/lisp/org/ob-tangle /home/denin/.emacs.d/.local/straight/build-30.0.50/org/oc-csl hides /usr/local/share/emacs/30.0.50/lisp/org/oc-csl /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ob-shell hides /usr/local/share/emacs/30.0.50/lisp/org/ob-shell /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ox-beamer hides /usr/local/share/emacs/30.0.50/lisp/org/ox-beamer /home/denin/.emacs.d/.local/straight/build-30.0.50/org/oc-natbib hides /usr/local/share/emacs/30.0.50/lisp/org/oc-natbib /home/denin/.emacs.d/.local/straight/build-30.0.50/org/org-habit hides /usr/local/share/emacs/30.0.50/lisp/org/org-habit /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ob-emacs-lisp hides /usr/local/share/emacs/30.0.50/lisp/org/ob-emacs-lisp /home/denin/.emacs.d/.local/straight/build-30.0.50/org/org-persist hides /usr/local/share/emacs/30.0.50/lisp/org/org-persist /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ob-core hides /usr/local/share/emacs/30.0.50/lisp/org/ob-core /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ox-icalendar hides /usr/local/share/emacs/30.0.50/lisp/org/ox-icalendar /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ob-haskell hides /usr/local/share/emacs/30.0.50/lisp/org/ob-haskell /home/denin/.emacs.d/.local/straight/build-30.0.50/org/org-attach-git hides /usr/local/share/emacs/30.0.50/lisp/org/org-attach-git /home/denin/.emacs.d/.local/straight/build-30.0.50/org/oc hides /usr/local/share/emacs/30.0.50/lisp/org/oc /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ob-sed hides /usr/local/share/emacs/30.0.50/lisp/org/ob-sed /home/denin/.emacs.d/.local/straight/build-30.0.50/org/org-pcomplete hides /usr/local/share/emacs/30.0.50/lisp/org/org-pcomplete /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ox-koma-letter hides /usr/local/share/emacs/30.0.50/lisp/org/ox-koma-letter /home/denin/.emacs.d/.local/straight/build-30.0.50/org/org-list hides /usr/local/share/emacs/30.0.50/lisp/org/org-list /home/denin/.emacs.d/.local/straight/build-30.0.50/org/org-ctags hides /usr/local/share/emacs/30.0.50/lisp/org/org-ctags /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ob-dot hides /usr/local/share/emacs/30.0.50/lisp/org/ob-dot /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ol-rmail hides /usr/local/share/emacs/30.0.50/lisp/org/ol-rmail /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ob-forth hides /usr/local/share/emacs/30.0.50/lisp/org/ob-forth /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ob-sqlite hides /usr/local/share/emacs/30.0.50/lisp/org/ob-sqlite /home/denin/.emacs.d/.local/straight/build-30.0.50/org/org-cycle hides /usr/local/share/emacs/30.0.50/lisp/org/org-cycle /home/denin/.emacs.d/.local/straight/build-30.0.50/org/org-num hides /usr/local/share/emacs/30.0.50/lisp/org/org-num /home/denin/.emacs.d/.local/straight/build-30.0.50/org/org-src hides /usr/local/share/emacs/30.0.50/lisp/org/org-src /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ob-sql hides /usr/local/share/emacs/30.0.50/lisp/org/ob-sql /home/denin/.emacs.d/.local/straight/build-30.0.50/org/org-plot hides /usr/local/share/emacs/30.0.50/lisp/org/org-plot /home/denin/.emacs.d/.local/straight/build-30.0.50/org/org-clock hides /usr/local/share/emacs/30.0.50/lisp/org/org-clock /home/denin/.emacs.d/.local/straight/build-30.0.50/org/org-element hides /usr/local/share/emacs/30.0.50/lisp/org/org-element /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ox-ascii hides /usr/local/share/emacs/30.0.50/lisp/org/ox-ascii /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ol-mhe hides /usr/local/share/emacs/30.0.50/lisp/org/ol-mhe /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ob-table hides /usr/local/share/emacs/30.0.50/lisp/org/ob-table /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ob-plantuml hides /usr/local/share/emacs/30.0.50/lisp/org/ob-plantuml /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ox-texinfo hides /usr/local/share/emacs/30.0.50/lisp/org/ox-texinfo /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ob-ocaml hides /usr/local/share/emacs/30.0.50/lisp/org/ob-ocaml /home/denin/.emacs.d/.local/straight/build-30.0.50/org/org-datetree hides /usr/local/share/emacs/30.0.50/lisp/org/org-datetree /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ol-doi hides /usr/local/share/emacs/30.0.50/lisp/org/ol-doi /home/denin/.emacs.d/.local/straight/build-30.0.50/org/org-macs hides /usr/local/share/emacs/30.0.50/lisp/org/org-macs /home/denin/.emacs.d/.local/straight/build-30.0.50/org/org-macro hides /usr/local/share/emacs/30.0.50/lisp/org/org-macro /home/denin/.emacs.d/.local/straight/build-30.0.50/org/oc-basic hides /usr/local/share/emacs/30.0.50/lisp/org/oc-basic /home/denin/.emacs.d/.local/straight/build-30.0.50/org/org-fold hides /usr/local/share/emacs/30.0.50/lisp/org/org-fold /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ob-exp hides /usr/local/share/emacs/30.0.50/lisp/org/ob-exp /home/denin/.emacs.d/.local/straight/build-30.0.50/org/org-capture hides /usr/local/share/emacs/30.0.50/lisp/org/org-capture /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ob-fortran hides /usr/local/share/emacs/30.0.50/lisp/org/ob-fortran /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ob-lob hides /usr/local/share/emacs/30.0.50/lisp/org/ob-lob /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ob-awk hides /usr/local/share/emacs/30.0.50/lisp/org/ob-awk /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ol hides /usr/local/share/emacs/30.0.50/lisp/org/ol /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ol-w3m hides /usr/local/share/emacs/30.0.50/lisp/org/ol-w3m /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ob-makefile hides /usr/local/share/emacs/30.0.50/lisp/org/ob-makefile /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ob-lilypond hides /usr/local/share/emacs/30.0.50/lisp/org/ob-lilypond /home/denin/.emacs.d/.local/straight/build-30.0.50/org/org-archive hides /usr/local/share/emacs/30.0.50/lisp/org/org-archive /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ob-processing hides /usr/local/share/emacs/30.0.50/lisp/org/ob-processing /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ob-eshell hides /usr/local/share/emacs/30.0.50/lisp/org/ob-eshell /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ob-julia hides /usr/local/share/emacs/30.0.50/lisp/org/ob-julia /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ob-sass hides /usr/local/share/emacs/30.0.50/lisp/org/ob-sass /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ob-screen hides /usr/local/share/emacs/30.0.50/lisp/org/ob-screen /home/denin/.emacs.d/.local/straight/build-30.0.50/org/oc-bibtex hides /usr/local/share/emacs/30.0.50/lisp/org/oc-bibtex /home/denin/.emacs.d/.local/straight/build-30.0.50/org/org-duration hides /usr/local/share/emacs/30.0.50/lisp/org/org-duration /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ob-org hides /usr/local/share/emacs/30.0.50/lisp/org/ob-org /home/denin/.emacs.d/.local/straight/build-30.0.50/org/org-tempo hides /usr/local/share/emacs/30.0.50/lisp/org/org-tempo /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ol-bbdb hides /usr/local/share/emacs/30.0.50/lisp/org/ol-bbdb /home/denin/.emacs.d/.local/straight/build-30.0.50/org/org-fold-core hides /usr/local/share/emacs/30.0.50/lisp/org/org-fold-core /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ob-clojure hides /usr/local/share/emacs/30.0.50/lisp/org/ob-clojure /home/denin/.emacs.d/.local/straight/build-30.0.50/org/org-timer hides /usr/local/share/emacs/30.0.50/lisp/org/org-timer /home/denin/.emacs.d/.local/straight/build-30.0.50/org/org-keys hides /usr/local/share/emacs/30.0.50/lisp/org/org-keys /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ob-eval hides /usr/local/share/emacs/30.0.50/lisp/org/ob-eval /home/denin/.emacs.d/.local/straight/build-30.0.50/org/org-table hides /usr/local/share/emacs/30.0.50/lisp/org/org-table /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ol-eshell hides /usr/local/share/emacs/30.0.50/lisp/org/ol-eshell /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ox-publish hides /usr/local/share/emacs/30.0.50/lisp/org/ox-publish /home/denin/.emacs.d/.local/straight/build-30.0.50/org/org-feed hides /usr/local/share/emacs/30.0.50/lisp/org/org-feed /home/denin/.emacs.d/.local/straight/build-30.0.50/soap-client/soap-inspect hides /usr/local/share/emacs/30.0.50/lisp/net/soap-inspect /home/denin/.emacs.d/.local/straight/build-30.0.50/soap-client/soap-client hides /usr/local/share/emacs/30.0.50/lisp/net/soap-client /home/denin/.emacs.d/.local/straight/build-30.0.50/eldoc/eldoc hides /usr/local/share/emacs/30.0.50/lisp/emacs-lisp/eldoc /home/denin/.emacs.d/.local/straight/build-30.0.50/map/map hides /usr/local/share/emacs/30.0.50/lisp/emacs-lisp/map Features: (vertico-quick smtpmail epa-file company-yasnippet git-gutter-fringe fringe-helper git-gutter flycheck-cask elisp-demos evil-collection-indent mm-archive evil-collection-tabulated-list debbugs-gnu debbugs-compat evil-collection-debbugs debbugs soap-client rng-xsd rng-dt rng-util xsd-regexp evil-collection-vc-git vc-git vc-dispatcher mailalias mailclient textsec uni-scripts idna-mapping ucs-normalize uni-confusable textsec-check char-fold lsp-pyright dap-gdb-lldb dap-utils dap-lldb ccls ccls-member-hierarchy ccls-inheritance-hierarchy ccls-call-hierarchy ccls-tree ccls-code-lens ccls-semantic-highlight ccls-common smartparens-c cc-mode-expansions cc-mode cc-fonts cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine dap-mouse dap-ui lsp-treemacs lsp-treemacs-generic lsp-treemacs-themes treemacs-treelib treemacs-magit treemacs-persp treemacs-projectile treemacs-evil treemacs-nerd-icons 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 treemacs-faces treemacs-icons treemacs-scope treemacs-themes treemacs-core-utils pfuture treemacs-logging treemacs-customization treemacs-macros gdb-mi gdb-module bui bui-list bui-info bui-entry bui-core bui-history bui-button bui-utils lsp-lens dap-python dap-mode dap-tasks dap-launch lsp-docker dap-overlays lsp-mode lsp-protocol spinner ewoc smartparens-python python-el-fgallina-expansions pyvenv evil-collection-python python lispyville lispy lispy-inline etags fileloop evil-collection-xref xref lispy-tags mode-local zoutline highlight-quoted rainbow-delimiters jka-compr auto-minor-mode org-eldoc toc-org evil-org org-indent oc-basic ol-bibtex bibtex saveplace evil-collection-so-long so-long tramp-sh jupyter-tramp tramp-cache time-stamp jupyter-server jupyter-server-kernel jupyter-repl jupyter-widget-client simple-httpd jupyter-client jupyter-kernel jupyter-kernelspec jupyter-env jupyter-monads thunk jupyter-messages hmac-def jupyter-mime jupyter-rest-api websocket bindat jupyter-base eieio-base tramp trampver tramp-integration tramp-message tramp-compat tramp-loaddefs winum hydra lv evil-collection-evil-mc evil-mc evil-mc-command-execute evil-mc-command-record evil-mc-cursor-make evil-mc-region evil-mc-cursor-state evil-mc-undo evil-mc-vars evil-mc-known-commands evil-mc-common evil-collection-help shadow sort projectile project ibuffer-vc ibuf-ext evil-collection-ibuffer ibuffer ibuffer-loaddefs whitespace flycheck-popup-tip evil-collection-popup popup vi-tilde-fringe display-line-numbers mail-extr network-stream url-cache hide-mode-line go-translate gts-engine-youdao gts-engine-stardict gts-engine-deepl gts-engine-google-rpc gts-engine-google gts-engine-bing gts-implements posframe gts-faces gts-core emacsbug org-capture org-agenda the-org-mode-expansions evil-collection-org smartparens-org org-yt org-element org-persist xdg org-id org-refile org-element-ast inline avl-tree org ob-emacs-lisp org-table org-loaddefs ob ob-tangle ol ob-ref ob-lob ob-table ob-exp org-macro org-src evil-collection-sh-script sh-script smie executable org-keys oc ob-comint org-pcomplete org-list org-footnote org-entities org-faces evil-collection-calendar cal-menu calendar cal-loaddefs evil-collection-magit-todos magit-todos hl-todo async evil-collection-grep grep code-review code-review-actions code-review-comment code-review-section code-review-bitbucket code-review-faces shr pixel-fill kinsoku url-file svg xml emojify evil-collection-apropos apropos code-review-gitlab code-review-utils evil-collection-forge forge-list forge-commands forge-semi forge-bitbucket buck forge-gogs gogs forge-gitea gtea forge-gitlab glab forge-github forge-notify forge-revnote forge-pullreq forge-issue forge-topic yaml parse-time iso8601 bug-reference forge-post smartparens-markdown evil-collection-markdown-mode markdown-mode edit-indirect noutline outline forge-repo forge forge-core forge-db code-review-parse-hunk code-review-github code-review-db uuidgen calc-misc calc-ext calc calc-loaddefs calc-macs a code-review-interfaces deferred ghub-graphql treepy gsexp ghub url-http url-gw nsm url-auth gnutls closql emacsql-sqlite emacsql-sqlite-common emacsql emacsql-compiler magit-bookmark magit-autoloads evil-collection-magit magit-submodule magit-blame magit-stash magit-reflog magit-bisect magit-push magit-pull magit-fetch magit-clone magit-remote magit-commit magit-sequence magit-notes magit-worktree magit-tag magit-merge magit-branch magit-reset magit-files magit-refs magit-status magit magit-repos magit-apply magit-wip magit-log which-func magit-diff smerge-mode diff magit-core magit-autorevert magit-margin magit-transient magit-process magit-mode git-commit magit-git magit-base evil-collection-magit-section magit-section crm evil-collection-log-edit log-edit message sendmail yank-media puny rfc822 mml mml-sec evil-collection-epa epa epg rfc6068 epg-config gnus-util mm-decode mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045 mm-util ietf-drums mail-prsvr mailabbrev mail-utils gmm-utils mailheader pcvs-util add-log with-editor doom-snippets doom-snippets-lib yasnippet evil-collection-elisp-mode elisp-mode recentf vertico-directory mule-util cursor-sensor delsel evil-collection-minibuffer vertico-repeat evil-collection-helpful helpful cc-langs cc-vars cc-defs trace evil-collection-edebug edebug evil-collection-debug debug backtrace info-look evil-collection-info info help-fns radix-tree evil-collection-elisp-refs elisp-refs tree-widget time-date evil-collection-which-key which-key savehist better-jumper company-capf company-fuzzy ht ffap company evil-collection-vertico vertico orderless marginalia evil-goggles evil-easymotion evil-escape evil-snipe pcre2el rxt re-builder quail ace-window avy evil-nerd-commenter evil-nerd-commenter-operator evil-nerd-commenter-sdk smartparens-html html-mode-expansions sgml-mode facemenu dom consult-flycheck evil-collection-consult consult evil-collection-bookmark bookmark server pulse color autorevert filenotify gcmh hl-line winner smartparens-config smartparens-text smartparens loadhist ws-butler undo-fu-session undo-fu flycheck-package package-lint evil-collection-imenu imenu evil-collection-finder finder finder-inf lisp-mnt evil-collection-package-menu doom-packages package browse-url url-handlers evil-collection-flycheck flycheck persp-mode jinx doom-modeline doom-modeline-segments doom-modeline-env doom-modeline-core shrink-path f f-shortdoc nerd-icons nerd-icons-faces nerd-icons-data nerd-icons-data-mdicon nerd-icons-data-flicon nerd-icons-data-codicon nerd-icons-data-devicon nerd-icons-data-sucicon nerd-icons-data-wicon nerd-icons-data-faicon nerd-icons-data-powerline nerd-icons-data-octicon nerd-icons-data-pomicon nerd-icons-data-ipsicon doom-themes-ext-org solaire-mode face-remap spacemacs-light-theme spacemacs-theme chatgpt-shell shell-maker evil-collection-view view shell goto-addr highlight-numbers parent-mode ielm find-func evil-collection-eshell em-prompt eshell esh-mode esh-var esh-cmd generator esh-ext esh-opt esh-proc esh-io esh-arg pcomplete esh-module esh-groups esh-util files-x nhexl-mode disp-table hexl ascii-table evil-embrace embrace expand-region text-mode-expansions er-basic-expansions expand-region-core expand-region-custom evil-surround let-alist ob-core org-cycle org-fold org-fold-core org-compat ob-eval org-version org-macs turbo-log s evil-textobj-tree-sitter evil-textobj-tree-sitter-thing-at-point evil-textobj-tree-sitter-core treesit-langs treesit-faces treesit-langs-build dtrt-indent evil-collection-tar-mode tar-mode evil-collection-arc-mode arc-mode archive-mode url url-proxy url-privacy url-expand url-methods url-history url-cookie generate-lisp-file url-domsuf url-util url-parse auth-source password-cache url-vars mailcap treesit delight tree-sitter tree-sitter-load tree-sitter-cli tsc tsc-dyn tsc-dyn-get evil-collection-compile compile text-property-search evil-collection-comint comint ansi-osc ansi-color dired-aux dired-rainbow dired-hacks-utils dirvish transient format-spec eieio eieio-core compat evil-collection-dired dired dired-loaddefs tsc-obsolete direnv json map evil-collection-diff-mode evil-collection-custom cus-edit cus-load wid-edit evil-collection annalist diff-mode dash use-package-delight ibuf-macs targets evil evil-integration evil-maps evil-commands reveal evil-jumps evil-command-window evil-types evil-search evil-macros evil-repeat evil-states evil-core advice evil-common thingatpt rect evil-vars ring derived edmacro kmacro byte-opt use-package-bind-key bind-key comp comp-cstr warnings icons rx doom-editor doom-projects doom-ui easy-mmode doom-keybinds pp cl-extra help-mode use-package-core bytecomp byte-compile general tex-site doom-start doom-modules cl-seq doom doom-lib cl-macs cl-loaddefs cl-lib pcase gv harfbuzz jansson dynamic-modules subr-x rmc iso-transl tooltip cconv eldoc paren electric uniquify ediff-hook vc-hooks lisp-float-type mwheel term/x-win x-win term/common-win x-dnd touch-screen tool-bar dnd fontset image regexp-opt fringe tabulated-list replace newcomment text-mode lisp-mode prog-mode register page tab-bar menu-bar rfn-eshadow isearch easymenu timer select scroll-bar mouse jit-lock font-lock syntax font-core term/tty-colors frame minibuffer nadvice seq simple cl-generic indonesian philippine cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese composite emoji-zwj charscript charprop case-table epa-hook jka-cmpr-hook help abbrev obarray oclosure cl-preloaded button loaddefs theme-loaddefs faces cus-face macroexp files window text-properties overlay sha1 md5 base64 format env code-pages mule custom widget keymap hashtable-print-readable backquote threads dbusbind inotify lcms2 dynamic-setting system-font-setting font-render-setting cairo gtk x-toolkit xinput2 x multi-tty move-toolbar make-network-process native-compile emacs) Memory information: ((conses 16 1636739 456871) (symbols 48 101258 239) (strings 32 373071 186944) (string-bytes 1 11965486) (vectors 16 187590) (vector-slots 8 4292959 194670) (floats 8 4131 14649) (intervals 56 10845 3508) (buffers 992 27)) From unknown Thu Sep 11 18:37:13 2025 X-Loop: help-debbugs@gnu.org Subject: bug#66989: 30.0.50; tree-sitter: treesit-defun-at-point wrong behavior in python-ts-mode Resent-From: Yuan Fu Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 08 Nov 2023 07:10:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66989 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Denis Zubarev Cc: 66989@debbugs.gnu.org Received: via spool by 66989-submit@debbugs.gnu.org id=B66989.169942739629955 (code B ref 66989); Wed, 08 Nov 2023 07:10:02 +0000 Received: (at 66989) by debbugs.gnu.org; 8 Nov 2023 07:09:56 +0000 Received: from localhost ([127.0.0.1]:43922 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r0chI-0007n4-C0 for submit@debbugs.gnu.org; Wed, 08 Nov 2023 02:09:56 -0500 Received: from mail-pf1-x435.google.com ([2607:f8b0:4864:20::435]:42357) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r0chF-0007mq-Nn for 66989@debbugs.gnu.org; Wed, 08 Nov 2023 02:09:55 -0500 Received: by mail-pf1-x435.google.com with SMTP id d2e1a72fcca58-6b77ab73c6fso376162b3a.1 for <66989@debbugs.gnu.org>; Tue, 07 Nov 2023 23:09:15 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1699427349; x=1700032149; darn=debbugs.gnu.org; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=RLSya6QWYxWVjAOKMEKu2x7vtz5wGWoflctaNTBKR9k=; b=VrHM55bwwtuofnlZ9NmDA/Js1cnBH1Q4Bx4GvtgLm4slkm39uUpjX/9Z5BxMcdpHQx SrWWQU6nWnZ8Gt9kR6xES/sZaA8QyjuatLDhf+yMZM0ou5kFPh8zyXhiKFtuyhba3yIu qkmzs3xyuRvE+fPhFKfGxvXwkflxVQxut60cSpKsrsske7TFovglCq+BFyj9xWl5t+cs v+CDuF5TWO5BC1Vx5IeJo6TJFfMUWQLuzPcLmFHTb2bwNQ13z6Qx9nRWBlin6h8HanGY gMl74h/98W3ZJqq8CLEy50X/UIG3V8eEWgSyGOFbpZgNGxwkr8Z+IkvPJJ5g7qItEoCJ ueXg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1699427349; x=1700032149; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=RLSya6QWYxWVjAOKMEKu2x7vtz5wGWoflctaNTBKR9k=; b=WS9jg7jWg/3boJxjgy6C6dqVZydBRPBidoeAygy9iqt+A6f7rihinDOM8RAqFXMaQH 9FasROeKB7qTB39M4A5z9HQ66EXTWvr+61tsxhatO01PovLCpoPHM+ePyKZQo8sCvfV7 v1qHLbkJnIAFsp0sVFwNFDaGMeNCdv0JP8cYpZc+oY2/VJcoLwb9QtFP9odfho/JzIBA JTbyUxiiADG0L+hV9IsAtiDqH2eeYX7gBoE4+E/yd1CHVIKhi1jugFAfEWDsLMhpxWYe vKrxDhZYaVQ1TRabfkfmIeDMtPbOjMwK84lCe0qqoQK06om0r7UA7cAJtc8W1NEOso2+ NjyA== X-Gm-Message-State: AOJu0Yx1L9K+fuLNRbNZinaaIPruQHiwrbq9icQXpjGHtmPDAOZVHl8j m091y2DTeFhkXxA/P6+9uPI= X-Google-Smtp-Source: AGHT+IGUv5FxLx7GTwgskemhEA1D8845OhECyGGcS/lQxEkzCOhFbP2r9+vqC5FUQsQ0LxV8JhKm5A== X-Received: by 2002:a05:6a00:244b:b0:6c3:450f:2b64 with SMTP id d11-20020a056a00244b00b006c3450f2b64mr1786922pfj.6.1699427349344; Tue, 07 Nov 2023 23:09:09 -0800 (PST) Received: from smtpclient.apple (cpe-172-117-161-177.socal.res.rr.com. [172.117.161.177]) by smtp.gmail.com with ESMTPSA id ka19-20020a056a00939300b006905f6bfc37sm8291392pfb.31.2023.11.07.23.09.08 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 07 Nov 2023 23:09:09 -0800 (PST) Content-Type: text/plain; charset=utf-8 Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3731.700.6\)) From: Yuan Fu In-Reply-To: <87pm0l1qtu.fsf@yandex.ru> Date: Tue, 7 Nov 2023 23:08:53 -0800 Content-Transfer-Encoding: quoted-printable Message-Id: <1D1196AE-7E7F-4887-B9FE-4EBA61042A4F@gmail.com> References: <87pm0l1qtu.fsf@yandex.ru> X-Mailer: Apple Mail (2.3731.700.6) X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) > On Nov 7, 2023, at 8:16 AM, Denis Zubarev wrote: >=20 >=20 > Steps to reproduce: > 1. emacs -Q > 2. M-x find-file /tmp/t.py > 3. paste to the buffer >=20 > def premain(): > pa|ss > def main(): > pass >=20 > where | is cursor position for further steps >=20 > 4. M-x python-ts-mode > 5. M-x eval-expression (treesit-defun-at-point) > treesit-defun-at-point returns nil, but I expect that it will return > a node for `premain`. > If you move the cursor to the beginning of the word `pass` and try = again > it will return node for `premain` function. >=20 > If you eval `(treesit--things-around (point) = treesit-defun-type-regexp)`, > it returns `(nil # nil)` > It seems that when cursor is not on the beginning of the node, treesit > erroneously finds next sibling.=20 > It prevents finding parent node correctly (premain function in this = case). > I managed to fix the problem by replacing=20 > `(cursor (or (nth 0 result) (nth 1 result) node)` with ~(cursor node)~ = - here=20 > = https://github.com/emacs-mirror/emacs/blob/12d1f33ceb37a2d0399af7e4054024c= 60a465ab8/lisp/treesit.el#L2383 > But I'm sure it is not the proper fix. Thank you very much, Denis, your fix is actually the proper fix! But the = problem is more complicated. I didn=E2=80=99t clearly define the (prev = next parent) returned by treesit--things-around=E2=80=94maybe parent = must enclose the prev and next node, and if there are prev and next node = beyond the smallest parent node at point, they are not returned; maybe = parent doesn=E2=80=99t have to enclose prev and next node, and we will = include prev and next nodes in the return value as long as they exist. It=E2=80=99s not clear which definition is more correct. I=E2=80=99m = leaning towards the first. Maybe both are correct and useful and we = should support both, hmm... Yuan= From unknown Thu Sep 11 18:37:13 2025 X-Loop: help-debbugs@gnu.org Subject: bug#66989: 30.0.50; tree-sitter: treesit-defun-at-point wrong behavior in python-ts-mode Resent-From: Zubarev Dv Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 08 Nov 2023 20:39:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66989 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Yuan Fu Cc: 66989@debbugs.gnu.org Received: via spool by 66989-submit@debbugs.gnu.org id=B66989.169947591016895 (code B ref 66989); Wed, 08 Nov 2023 20:39:01 +0000 Received: (at 66989) by debbugs.gnu.org; 8 Nov 2023 20:38:30 +0000 Received: from localhost ([127.0.0.1]:46346 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r0pJm-0004OQ-6N for submit@debbugs.gnu.org; Wed, 08 Nov 2023 15:38:30 -0500 Received: from forward500a.mail.yandex.net ([178.154.239.80]:38780) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r0pJi-0004OB-VJ for 66989@debbugs.gnu.org; Wed, 08 Nov 2023 15:38:28 -0500 Received: from mail-nwsmtp-mxback-production-main-74.vla.yp-c.yandex.net (mail-nwsmtp-mxback-production-main-74.vla.yp-c.yandex.net [IPv6:2a02:6b8:c1d:3d26:0:640:beab:0]) by forward500a.mail.yandex.net (Yandex) with ESMTP id B92F061401; Wed, 8 Nov 2023 23:37:45 +0300 (MSK) Received: from mail.yandex.ru (2a02:6b8:c0d:282:0:640:476c:0 [2a02:6b8:c0d:282:0:640:476c:0]) by mail-nwsmtp-mxback-production-main-74.vla.yp-c.yandex.net (mxback/Yandex) with HTTP id WbkPLO3U80U0-vVXJkHLC; Wed, 08 Nov 2023 23:37:45 +0300 X-Yandex-Fwd: 1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yandex.ru; s=mail; t=1699475865; bh=WWIAZfdIN3ZywkN+6XDTdUgJvAVIjGLwyAkClAnQbuE=; h=Message-Id:References:Date:Cc:Subject:In-Reply-To:To:From; b=SOKN3D2joLWaE5uiPwYF+oLYVkED27q3vHLuOLdecdRejoXHGE6DeVPgNWHdAyVbf qXmsgLezyP0dVm+H+VP3cLEHy2WhU3fZ3DAla8Y3aMQ4ODGp44M9aOd5yDzDlO7vHy EbRo9cCyp5Wp0bqRF69D5hgaW92lwAV0DOhpavWk= Authentication-Results: mail-nwsmtp-mxback-production-main-74.vla.yp-c.yandex.net; dkim=pass header.i=@yandex.ru Received: by izsosstglkfltgsl.vla.yp-c.yandex.net with HTTP; Wed, 08 Nov 2023 23:37:45 +0300 From: Zubarev Dv In-Reply-To: <1D1196AE-7E7F-4887-B9FE-4EBA61042A4F@gmail.com> References: <87pm0l1qtu.fsf@yandex.ru> <1D1196AE-7E7F-4887-B9FE-4EBA61042A4F@gmail.com> MIME-Version: 1.0 X-Mailer: Yamail [ http://yandex.ru ] 5.0 Date: Wed, 08 Nov 2023 23:37:45 +0300 Message-Id: <2908341699475865@izsosstglkfltgsl.vla.yp-c.yandex.net> Content-Transfer-Encoding: 7bit Content-Type: text/plain X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Initially I thought that it is the second definition. It seems to be more intuitive. But after reading code, I was sure its the first case. But I actually don't sure that all three "things" are needed at once. For example, I think for `thing-at-point` only enclosing parent is needed. If parent is nil, it may optionally fallback to the next sibling thing. `treesit--navigate-thing` uses only `parent` and `next` or `prev`. I was playing with creating evil text objects, based on your awesome work with "things". I ended up extracting the second part (;; 2. Find the parent) from `treesit--things-around`. Since I only need to find enclosing parent and I don't want to pay for what I don't use. So it seems no function uses all results from `treesit--things-around`. Maybe it makes sense to decompose `treesit--things-around` into two functions: 1. (treesit--enclosing-thing (pos thing)) - returns node or nil if no enclosing parent 2. (treesit--find-sibling (pos thing dir)) - return sibling node in specified direction. BTW, I've found another unexpected behavior on the same code: 1. python-ts-mode def premain(): pa|ss def main(): pass 2. after (goto-char (treesit--navigate-thing (point) 1 'end treesit-defun-type-regexp)) def premain(): pass def main(): pass| cursor in the end of the second function 3. but if you move cursor to the beginning of pass def premain(): |pass def main(): pass 4. after (goto-char (treesit--navigate-thing (point) 1 'end treesit-defun-type-regexp)) def premain(): pass| def main(): pass This behavior does not affected by the fix proposed in the first message. From unknown Thu Sep 11 18:37:13 2025 X-Loop: help-debbugs@gnu.org Subject: bug#66989: 30.0.50; tree-sitter: treesit-defun-at-point wrong behavior in python-ts-mode Resent-From: Yuan Fu Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 09 Nov 2023 08:15:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66989 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Zubarev Dv Cc: 66989@debbugs.gnu.org Received: via spool by 66989-submit@debbugs.gnu.org id=B66989.1699517666639 (code B ref 66989); Thu, 09 Nov 2023 08:15:02 +0000 Received: (at 66989) by debbugs.gnu.org; 9 Nov 2023 08:14:26 +0000 Received: from localhost ([127.0.0.1]:46752 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r10BG-0000AF-7i for submit@debbugs.gnu.org; Thu, 09 Nov 2023 03:14:26 -0500 Received: from mail-pg1-x52e.google.com ([2607:f8b0:4864:20::52e]:45333) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r10BC-00009y-Hj for 66989@debbugs.gnu.org; Thu, 09 Nov 2023 03:14:24 -0500 Received: by mail-pg1-x52e.google.com with SMTP id 41be03b00d2f7-5b99bfca064so459119a12.3 for <66989@debbugs.gnu.org>; Thu, 09 Nov 2023 00:13:43 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1699517617; x=1700122417; darn=debbugs.gnu.org; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=eQS4lOOulGKfz+oPQwAPRQ6sklQCzHH7ROB/eb3QUwM=; b=HXDN1Og5fwyToM4x3miaaauvQwArP1XDvKRX5jDqQdEWkWG55RTk3XikptFutoP4Nj QOtsrvqqA7ny0Yyl6fb7R4AvFlIB/RONyrIpRo7uQfjOldvaetjl13H2lsuTVwLUZI2J 835WlzDFCQ0iWYrqG/2MM4UCvDDwnb9z4W4rYbuHGikBIiKnDSnxtxIszi9qU1wf1ryV brt291mSTdIKfLU0RTpa0IngIJR29HFVzdLqEqUx6F3p5HCNeYzRlGffDDvsd4gy9E0m ntDTyn//W+TPTYHkzokPDtQmLk0at9WSrvnADPR7WPeO6hP70tMSfW4WjdzmcWjKTMrg LEEw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1699517617; x=1700122417; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=eQS4lOOulGKfz+oPQwAPRQ6sklQCzHH7ROB/eb3QUwM=; b=Pcwkxn3JEvTJBnae4jrh/uRynfxTqKzPbqL3wlD9zkaqzFw9geBD/tpG6HX1JB6UKB oPtR2l2uUzFr32SPREeEuOpyNr4T9mBM7vjTIyZ5ZR827e8qXmapUu9BXLkJbD6PYj5i Q4sGzaX0WpyQAQoSgUtXhYQX+uhT8Sl5ZLGZvS/tQM4U3440HIOro/kavwQCe1VwHbld gYFPsZOo4gjNJaESbosSpbiV/wm+XQn1LdnZ76blJVbXob0gf+cWFU2DF0N/NMdkXjCW SmzMIV3DjrWUggYDif8qfgMogjU5anp9ci9vkf5tuYFEbqI9mJn6/IOtbF5G5KHCKPCe 727g== X-Gm-Message-State: AOJu0YxW0AdE/zsJHKbAfvs4GP2Jxd6+XgZudfyZo2idNN6oALMzK1Bh LrsbBIdCSTUy4UDheDNyKLN1HewLfgI= X-Google-Smtp-Source: AGHT+IHL15OgOfF5FIUNcTHP23uu3PZ+/lsAUz/UWogD3n94xXGpdUKmQveFJk4ijpwCFdf7yLiurg== X-Received: by 2002:a17:902:d4c5:b0:1c9:ea71:8032 with SMTP id o5-20020a170902d4c500b001c9ea718032mr4545436plg.31.1699517616650; Thu, 09 Nov 2023 00:13:36 -0800 (PST) Received: from smtpclient.apple (cpe-172-117-161-177.socal.res.rr.com. [172.117.161.177]) by smtp.gmail.com with ESMTPSA id s16-20020a170902ea1000b001bb0eebd90asm2905033plg.245.2023.11.09.00.13.35 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 09 Nov 2023 00:13:36 -0800 (PST) Content-Type: text/plain; charset=utf-8 Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3731.700.6\)) From: Yuan Fu In-Reply-To: <2908341699475865@izsosstglkfltgsl.vla.yp-c.yandex.net> Date: Thu, 9 Nov 2023 00:13:24 -0800 Content-Transfer-Encoding: quoted-printable Message-Id: <64784314-7290-47E6-A0B3-897D2FDC4D78@gmail.com> References: <87pm0l1qtu.fsf@yandex.ru> <1D1196AE-7E7F-4887-B9FE-4EBA61042A4F@gmail.com> <2908341699475865@izsosstglkfltgsl.vla.yp-c.yandex.net> X-Mailer: Apple Mail (2.3731.700.6) X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) > On Nov 8, 2023, at 12:37 PM, Zubarev Dv wrote: >=20 > Initially I thought that it is the second definition. It seems to be = more intuitive. But after reading code, I was sure its the first case. >=20 > But I actually don't sure that all three "things" are needed at once. > For example, I think for `thing-at-point` only enclosing parent is = needed. > If parent is nil, it may optionally fallback to the next sibling = thing. > `treesit--navigate-thing` uses only `parent` and `next` or `prev`. > I was playing with creating evil text objects, based on your awesome > work with "things". > I ended up extracting the second part (;; 2. Find the parent) from = `treesit--things-around`. > Since I only need to find enclosing parent and I don't want to pay for > what I don't use. > So it seems no function uses all results from = `treesit--things-around`. >=20 > Maybe it makes sense to decompose `treesit--things-around` into two > functions: > 1. (treesit--enclosing-thing (pos thing)) - returns node or nil if no > enclosing parent > 2. (treesit--find-sibling (pos thing dir)) - return sibling node in > specified direction. Makes sense. I think separating into two functions is ok. For = treesit--enclosing-thing, we might as well call it = treesit--thing-at-point ;-) Tentative plan: retire = treesit=E2=80=94things-around, add treesit--enclosing-thing (as = --thing-at-point), add treesit--find-sibling (as --sibling-thing), add = treesit-node-enclose-p which tests whether a node encloses another node. >=20 > BTW, I've found another unexpected behavior on the same code: >=20 >=20 > 1. python-ts-mode >=20 > def premain(): > pa|ss > def main(): > pass > 2. after > (goto-char (treesit--navigate-thing (point) 1 'end = treesit-defun-type-regexp)) >=20 > def premain(): > pass > def main(): > pass| >=20 > cursor in the end of the second function >=20 > 3. but if you move cursor to the beginning of pass >=20 > def premain(): > |pass > def main(): > pass >=20 > 4. after > (goto-char (treesit--navigate-thing (point) 1 'end = treesit-defun-type-regexp)) >=20 > def premain(): > pass| > def main(): > pass >=20 > This behavior does not affected by the fix proposed in the first = message. In the first case, treesit--navigate-thing returns a non-nil NEXT node. = And treesit=E2=80=94navigate will prioritize NEXT node over PARENT node = (because it assumes PARENT node always encloses NEXT node). Fixing the = original problem should fix this too. Yuan= From unknown Thu Sep 11 18:37:13 2025 X-Loop: help-debbugs@gnu.org Subject: bug#66989: 30.0.50; tree-sitter: treesit-defun-at-point wrong behavior in python-ts-mode Resent-From: Yuan Fu Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 10 Nov 2023 05:48:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66989 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Zubarev Dv Cc: 66989@debbugs.gnu.org Received: via spool by 66989-submit@debbugs.gnu.org id=B66989.169959523210025 (code B ref 66989); Fri, 10 Nov 2023 05:48:02 +0000 Received: (at 66989) by debbugs.gnu.org; 10 Nov 2023 05:47:12 +0000 Received: from localhost ([127.0.0.1]:49341 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r1KMG-0002ba-KT for submit@debbugs.gnu.org; Fri, 10 Nov 2023 00:47:12 -0500 Received: from mail-pg1-x531.google.com ([2607:f8b0:4864:20::531]:58805) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r1KMB-0002b2-3r for 66989@debbugs.gnu.org; Fri, 10 Nov 2023 00:47:07 -0500 Received: by mail-pg1-x531.google.com with SMTP id 41be03b00d2f7-5a9bf4fbd3fso1392301a12.1 for <66989@debbugs.gnu.org>; Thu, 09 Nov 2023 21:46:23 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1699595177; x=1700199977; darn=debbugs.gnu.org; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=5neD7QUbHYdbUt0U/sKy/RVD3at6IgpO8PF+zD1U7DQ=; b=MY57VcJiS/uh5dctobLW67wkPrCyox9kke7GfEBKp6OHb0YNgOhJlSDSJWX6cKvYTJ zRW2elBX6Xki4NGgVvd4bFFrE1r/C/hHIpDLD8CNRf+LpFgLwLL6iO9B9QpWJagn0kg5 yboxiU+XfOD9U8kbPnBdpS8hJ3u4ai0O2eLL1mxu6lGz4zF4C0Adk5K3KJHhE+pQWucN r6Pkcgx6M2bkR1Vxt6AH8k89Hfa13YpLAoUBbtOdrjfDnhoB5eClGxW5jOvD+YYolcWb kpbRewSbTYSCQvNgyjXM5ERV96sA+YxF4+y+HxEA4JE72pn8yNs4gNbQB1DFL0MbHLT6 fnQA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1699595177; x=1700199977; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=5neD7QUbHYdbUt0U/sKy/RVD3at6IgpO8PF+zD1U7DQ=; b=P1Lyx2hCcNxyOrv5CzqiMLMWbJwjiOiNchv9r+VZVJ8ylCJDZ3KfMkGxI5oyYbNqxl xAHUke6WRtM/VAofrTp8PejnPR1RpIS1yrXsVRuIciB9RnCnX6ftqueY/I3s1jumPjlp fcw8qo6h0ENFoVMMnVcfHLLzkQuw97YGCBya+F27vyCt7vpSPkEtXB2h0Hj2zgw/KDoP R1KlBm8G4hWu2klV/tU8X2BhIlwyMeC+QNhnTSyjyDlx6cuPcd5Em8COEjACnd4cPXZO KelXUj99DfQtKr5MMG0yQE4YctVofxS7XctTOiDx+uvBwOcT7Jjya3HMv4jiGWCllC6c YeEw== X-Gm-Message-State: AOJu0YyYF9rW5kziWP6x+Lq07IggRb0JR1yqJyFpcx2eBcB58rE7KFSg T7MfUEtHV+U6XzTXkBCmnGU= X-Google-Smtp-Source: AGHT+IHjlT/MwJ21M+l1jsHJtwjdSp7oY5rwMhy6i28xTQmRtZnwot+j+fCSD21K6a/fzdGeWF2j6A== X-Received: by 2002:a05:6a21:4982:b0:181:ed8b:481c with SMTP id ax2-20020a056a21498200b00181ed8b481cmr7959744pzc.14.1699595177398; Thu, 09 Nov 2023 21:46:17 -0800 (PST) Received: from smtpclient.apple (cpe-172-117-161-177.socal.res.rr.com. [172.117.161.177]) by smtp.gmail.com with ESMTPSA id 20-20020a17090a199400b0028028560c4bsm847423pji.57.2023.11.09.21.46.16 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 09 Nov 2023 21:46:17 -0800 (PST) Content-Type: text/plain; charset=utf-8 Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3731.700.6\)) From: Yuan Fu In-Reply-To: <64784314-7290-47E6-A0B3-897D2FDC4D78@gmail.com> Date: Thu, 9 Nov 2023 21:46:01 -0800 Content-Transfer-Encoding: quoted-printable Message-Id: <4EF82A33-6EA1-4EF1-A091-D1ED131FA62E@gmail.com> References: <87pm0l1qtu.fsf@yandex.ru> <1D1196AE-7E7F-4887-B9FE-4EBA61042A4F@gmail.com> <2908341699475865@izsosstglkfltgsl.vla.yp-c.yandex.net> <64784314-7290-47E6-A0B3-897D2FDC4D78@gmail.com> X-Mailer: Apple Mail (2.3731.700.6) X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) > On Nov 9, 2023, at 12:13 AM, Yuan Fu wrote: >=20 >=20 >=20 >> On Nov 8, 2023, at 12:37 PM, Zubarev Dv wrote: >>=20 >> Initially I thought that it is the second definition. It seems to be = more intuitive. But after reading code, I was sure its the first case. >>=20 >> But I actually don't sure that all three "things" are needed at once. >> For example, I think for `thing-at-point` only enclosing parent is = needed. >> If parent is nil, it may optionally fallback to the next sibling = thing. >> `treesit--navigate-thing` uses only `parent` and `next` or `prev`. >> I was playing with creating evil text objects, based on your awesome >> work with "things". >> I ended up extracting the second part (;; 2. Find the parent) from = `treesit--things-around`. >> Since I only need to find enclosing parent and I don't want to pay = for >> what I don't use. >> So it seems no function uses all results from = `treesit--things-around`. >>=20 >> Maybe it makes sense to decompose `treesit--things-around` into two >> functions: >> 1. (treesit--enclosing-thing (pos thing)) - returns node or nil if no >> enclosing parent >> 2. (treesit--find-sibling (pos thing dir)) - return sibling node in >> specified direction. >=20 > Makes sense. I think separating into two functions is ok. For = treesit--enclosing-thing, we might as well call it = treesit--thing-at-point ;-) Tentative plan: retire = treesit=E2=80=94things-around, add treesit--enclosing-thing (as = --thing-at-point), add treesit--find-sibling (as --sibling-thing), add = treesit-node-enclose-p which tests whether a node encloses another node. >=20 >>=20 >> BTW, I've found another unexpected behavior on the same code: >>=20 >>=20 >> 1. python-ts-mode >>=20 >> def premain(): >> pa|ss >> def main(): >> pass >> 2. after >> (goto-char (treesit--navigate-thing (point) 1 'end = treesit-defun-type-regexp)) >>=20 >> def premain(): >> pass >> def main(): >> pass| >>=20 >> cursor in the end of the second function >>=20 >> 3. but if you move cursor to the beginning of pass >>=20 >> def premain(): >> |pass >> def main(): >> pass >>=20 >> 4. after >> (goto-char (treesit--navigate-thing (point) 1 'end = treesit-defun-type-regexp)) >>=20 >> def premain(): >> pass| >> def main(): >> pass >>=20 >> This behavior does not affected by the fix proposed in the first = message. >=20 > In the first case, treesit--navigate-thing returns a non-nil NEXT = node. And treesit=E2=80=94navigate will prioritize NEXT node over PARENT = node (because it assumes PARENT node always encloses NEXT node). Fixing = the original problem should fix this too. >=20 > Yuan I=E2=80=99ve pushed to master four new functions: treesit--thing-prev, = treesit--thing-next, treesit--thing-at, treesit-node-enclosed-p. And I = updated other functions to use the new functions. Now your original = example and the later ones should all work right. Yuan= From unknown Thu Sep 11 18:37:13 2025 X-Loop: help-debbugs@gnu.org Subject: bug#66989: 30.0.50; tree-sitter: treesit-defun-at-point wrong behavior in python-ts-mode Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 10 Nov 2023 07:42:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66989 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Yuan Fu Cc: 66989@debbugs.gnu.org, dvzubarev@yandex.ru Received: via spool by 66989-submit@debbugs.gnu.org id=B66989.169960208032183 (code B ref 66989); Fri, 10 Nov 2023 07:42:01 +0000 Received: (at 66989) by debbugs.gnu.org; 10 Nov 2023 07:41:20 +0000 Received: from localhost ([127.0.0.1]:49430 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r1M8m-0008N1-5s for submit@debbugs.gnu.org; Fri, 10 Nov 2023 02:41:20 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:49604) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r1M8j-0008Mo-G3 for 66989@debbugs.gnu.org; Fri, 10 Nov 2023 02:41:19 -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 1r1M80-0000Vx-Fe; Fri, 10 Nov 2023 02:40:32 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From: Date; bh=zvhtp0TOX7TZ5VYTs8oNij0WD1hjI08WbyvcxTEYAFw=; b=FAYDswx4nTCm3KBY7FWX PeMNF/ESGf1/GJhej74d8mI3snoSmg6RJKvyFW45MIhfcRdDbLh/QXuKj0553xYatMAqgGLmqDs/j MeLETldZbTXhWjg1+9wffSN7LO+McqCMnsm/v1OqDH9VGOm+NFzzTI1KHBgYXfx0gF8ZyRUPIWnmR l1kn2jxY6F/D0S2g6R21VwxfrQTNyuisy3KOXBp/CyEw2ErjTOVVV10xJ1RMLDqhKR0PRZX7TwCBv +5NoWS1HHNnw/wEX68blIKXh0XKYjjzyEN6Unt7d+c0legVgVYMFNdgviGHAxVWdDOGZuaJVrtgcg EH1wzh4vlRjgYg==; Date: Fri, 10 Nov 2023 09:40:17 +0200 Message-Id: <83wmuqxdi6.fsf@gnu.org> From: Eli Zaretskii In-Reply-To: <4EF82A33-6EA1-4EF1-A091-D1ED131FA62E@gmail.com> (message from Yuan Fu on Thu, 9 Nov 2023 21:46:01 -0800) References: <87pm0l1qtu.fsf@yandex.ru> <1D1196AE-7E7F-4887-B9FE-4EBA61042A4F@gmail.com> <2908341699475865@izsosstglkfltgsl.vla.yp-c.yandex.net> <64784314-7290-47E6-A0B3-897D2FDC4D78@gmail.com> <4EF82A33-6EA1-4EF1-A091-D1ED131FA62E@gmail.com> MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > Cc: 66989@debbugs.gnu.org > From: Yuan Fu > Date: Thu, 9 Nov 2023 21:46:01 -0800 > > I’ve pushed to master four new functions: treesit--thing-prev, treesit--thing-next, treesit--thing-at, treesit-node-enclosed-p. And I updated other functions to use the new functions. Now your original example and the later ones should all work right. Thanks. Should this bug be closed now? From unknown Thu Sep 11 18:37:13 2025 X-Loop: help-debbugs@gnu.org Subject: bug#66989: 30.0.50; tree-sitter: treesit-defun-at-point wrong behavior in python-ts-mode Resent-From: Zubarev Dv Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 10 Nov 2023 23:00:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66989 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Yuan Fu Cc: 66989@debbugs.gnu.org Received: via spool by 66989-submit@debbugs.gnu.org id=B66989.16996571599632 (code B ref 66989); Fri, 10 Nov 2023 23:00:02 +0000 Received: (at 66989) by debbugs.gnu.org; 10 Nov 2023 22:59:19 +0000 Received: from localhost ([127.0.0.1]:51012 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r1aT9-0002VI-Gt for submit@debbugs.gnu.org; Fri, 10 Nov 2023 17:59:19 -0500 Received: from forward501b.mail.yandex.net ([2a02:6b8:c02:900:1:45:d181:d501]:41328) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r1aT5-0002Uz-M1 for 66989@debbugs.gnu.org; Fri, 10 Nov 2023 17:59:18 -0500 Received: from mail-nwsmtp-mxback-production-main-48.myt.yp-c.yandex.net (mail-nwsmtp-mxback-production-main-48.myt.yp-c.yandex.net [IPv6:2a02:6b8:c12:3b0d:0:640:793b:0]) by forward501b.mail.yandex.net (Yandex) with ESMTP id 34862611EA; Sat, 11 Nov 2023 01:58:28 +0300 (MSK) Received: from mail.yandex.ru (2a02:6b8:c12:5515:0:640:a3ee:0 [2a02:6b8:c12:5515:0:640:a3ee:0]) by mail-nwsmtp-mxback-production-main-48.myt.yp-c.yandex.net (mxback/Yandex) with HTTP id Kwo3xS1U10U0-fjLkB8jo; Sat, 11 Nov 2023 01:58:27 +0300 X-Yandex-Fwd: 1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yandex.ru; s=mail; t=1699657107; bh=csdPyq8kQL8YwynHtzxQDGEasuTP8NcAWkmmR5JjWbk=; h=Message-Id:References:Date:Cc:Subject:In-Reply-To:To:From; b=V8xigggdtARYst1OE/FWzltye0aFy4PoqqykQq1t3tZH65kBwFYb5RhxxMbonoasJ N2FDW0n/BEc7FQ8TvkrsvsV+RKsP8YPFQnkHuQHV1zOz++slFTrC71xR09MAW1lLVX METvNJeOie+5l49opvBJ5RHa4LgdFtRsPR9hpqTc= Authentication-Results: mail-nwsmtp-mxback-production-main-48.myt.yp-c.yandex.net; dkim=pass header.i=@yandex.ru Received: by tkevfdzaljnjt5np.myt.yp-c.yandex.net with HTTP; Sat, 11 Nov 2023 01:58:27 +0300 From: Zubarev Dv In-Reply-To: <4EF82A33-6EA1-4EF1-A091-D1ED131FA62E@gmail.com> References: <87pm0l1qtu.fsf@yandex.ru> <1D1196AE-7E7F-4887-B9FE-4EBA61042A4F@gmail.com> <2908341699475865@izsosstglkfltgsl.vla.yp-c.yandex.net> <64784314-7290-47E6-A0B3-897D2FDC4D78@gmail.com> <4EF82A33-6EA1-4EF1-A091-D1ED131FA62E@gmail.com> MIME-Version: 1.0 X-Mailer: Yamail [ http://yandex.ru ] 5.0 Date: Sat, 11 Nov 2023 01:58:27 +0300 Message-Id: <2025721699657107@tkevfdzaljnjt5np.myt.yp-c.yandex.net> Content-Transfer-Encoding: 7bit Content-Type: text/plain X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) Thank you, It fixed the issues! From unknown Thu Sep 11 18:37:13 2025 MIME-Version: 1.0 X-Mailer: MIME-tools 5.505 (Entity 5.505) X-Loop: help-debbugs@gnu.org From: help-debbugs@gnu.org (GNU bug Tracking System) To: Denis Zubarev Subject: bug#66989: closed (Re: bug#66989: 30.0.50; tree-sitter: treesit-defun-at-point wrong behavior in python-ts-mode) Message-ID: References: <87pm0l1qtu.fsf@yandex.ru> X-Gnu-PR-Message: they-closed 66989 X-Gnu-PR-Package: emacs Reply-To: 66989@debbugs.gnu.org Date: Sat, 11 Nov 2023 02:33:02 +0000 Content-Type: multipart/mixed; boundary="----------=_1699669982-31936-1" This is a multi-part message in MIME format... ------------=_1699669982-31936-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Your bug report #66989: 30.0.50; tree-sitter: treesit-defun-at-point wrong behavior in pyth= on-ts-mode which was filed against the emacs package, has been closed. The explanation is attached below, along with your original report. If you require more details, please reply to 66989@debbugs.gnu.org. --=20 66989: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D66989 GNU Bug Tracking System Contact help-debbugs@gnu.org with problems ------------=_1699669982-31936-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at 66989-done) by debbugs.gnu.org; 11 Nov 2023 02:32:20 +0000 Received: from localhost ([127.0.0.1]:51270 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r1dnH-0008ID-Ph for submit@debbugs.gnu.org; Fri, 10 Nov 2023 21:32:20 -0500 Received: from mail-pl1-x62d.google.com ([2607:f8b0:4864:20::62d]:46227) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r1dnD-0008Hx-3H for 66989-done@debbugs.gnu.org; Fri, 10 Nov 2023 21:32:18 -0500 Received: by mail-pl1-x62d.google.com with SMTP id d9443c01a7336-1cc4f777ab9so22557995ad.0 for <66989-done@debbugs.gnu.org>; Fri, 10 Nov 2023 18:31:34 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1699669889; x=1700274689; darn=debbugs.gnu.org; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=TTO/+O5tHGmclrLFeScEUY7JhXby5UKRbH8Xr6dDvwk=; b=AkDoP2HPpmNpE5ECrpx1Kk4ShG2W2FHQJG7U8z2tscCyqVEi04QCSmneRDSRkImmxy cJc17Z6HoCXM4bOPk96xAp8JQFw3SUgTTOuXrWAkb0dWknLGR/qhB+rdvWxYl6rymPQI BsdBgQKu0cGvN+jCT38UN/8lQWCuQaDWds31+Zqh/QpAZx9BhKl34otXFuDAfemlJUIg XcaEMQ8eXfW0DNszG4cV0lY/P5KS5jRy1r0ld8jlVSKjOwUSrj+uBFm6yUCjEIki4Bf/ T7nGmssjmKrq13rZHy1bGXv05TGVh1Vr9BVFh+hsy+ghpsavo95cytO4cFY1xZWQeh69 UrVw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1699669889; x=1700274689; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=TTO/+O5tHGmclrLFeScEUY7JhXby5UKRbH8Xr6dDvwk=; b=LYlX6RDJklqAnXL0WOju7MpL95K2u9fSbCP6D/iSnOoo+gghHsv6M7WToxmmlq/qmc mmUoS3ZHRfft5H/em18mImPGoA77Izk3nQ8XTiAf9M3osk9GbwN4N8b7OQvj1v1z9FU+ aIisVmG4+DMriCV7jffU3EiNpfwJOnhx45iGJkWqsp/hhTNL8KNkxdYCr1zW7jFk3wFR de2MgpYCC6+gJlN+krxugkYNQXuvbZ38MWzuw5RV82RayImPYY5//UpI16/S6BXwaH5/ b/ywscMOkzaNjjWJJvvBeeTQTUs4BNBEWf88Zz+OJHGvea4N6y6G0Yx5UENDwJriDmaU d4FA== X-Gm-Message-State: AOJu0YyXqaN3aFKuzcj1itSek0xLlSeZ4lunDPCgn5Lf//ZaIYoWzXGE z1f5tWa0cT9mfM56fo7c1T7DK6K+Fi8= X-Google-Smtp-Source: AGHT+IHijpGTNRoKvqqHlsGYJXbgbJ8RjZV1e/dpjoGTBMpKEggCz/bGP27n+TNCvudeQ6dg+qPtIQ== X-Received: by 2002:a17:902:ab86:b0:1cc:1efb:1bab with SMTP id f6-20020a170902ab8600b001cc1efb1babmr1149068plr.38.1699669889036; Fri, 10 Nov 2023 18:31:29 -0800 (PST) Received: from smtpclient.apple (cpe-172-117-161-177.socal.res.rr.com. [172.117.161.177]) by smtp.gmail.com with ESMTPSA id b10-20020a170903228a00b001bf6ea340b3sm341463plh.116.2023.11.10.18.31.28 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Fri, 10 Nov 2023 18:31:28 -0800 (PST) Content-Type: text/plain; charset=utf-8 Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3731.700.6\)) Subject: Re: bug#66989: 30.0.50; tree-sitter: treesit-defun-at-point wrong behavior in python-ts-mode From: Yuan Fu In-Reply-To: <2025721699657107@tkevfdzaljnjt5np.myt.yp-c.yandex.net> Date: Fri, 10 Nov 2023 18:31:17 -0800 Content-Transfer-Encoding: quoted-printable Message-Id: References: <87pm0l1qtu.fsf@yandex.ru> <1D1196AE-7E7F-4887-B9FE-4EBA61042A4F@gmail.com> <2908341699475865@izsosstglkfltgsl.vla.yp-c.yandex.net> <64784314-7290-47E6-A0B3-897D2FDC4D78@gmail.com> <4EF82A33-6EA1-4EF1-A091-D1ED131FA62E@gmail.com> <2025721699657107@tkevfdzaljnjt5np.myt.yp-c.yandex.net> To: Zubarev Dv X-Mailer: Apple Mail (2.3731.700.6) X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 66989-done Cc: 66989-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: -1.0 (-) > On Nov 10, 2023, at 2:58 PM, Zubarev Dv wrote: >=20 > Thank you, It fixed the issues! I=E2=80=99ll close the report, but please feel free to follow up with = any comments and suggestions. Yuan= ------------=_1699669982-31936-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at submit) by debbugs.gnu.org; 7 Nov 2023 16:20:00 +0000 Received: from localhost ([127.0.0.1]:43101 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r0Onx-0003UB-SC for submit@debbugs.gnu.org; Tue, 07 Nov 2023 11:20:00 -0500 Received: from lists.gnu.org ([2001:470:142::17]:42498) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r0Olw-0003P1-MZ for submit@debbugs.gnu.org; Tue, 07 Nov 2023 11:17:50 -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 1r0OlA-0008Re-Kz for bug-gnu-emacs@gnu.org; Tue, 07 Nov 2023 11:17:01 -0500 Received: from forward401a.mail.yandex.net ([2a02:6b8:c0e:500:1:45:d181:db02]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1r0Ol6-0005bi-AQ for bug-gnu-emacs@gnu.org; Tue, 07 Nov 2023 11:17:00 -0500 Received: from mail-nwsmtp-smtp-production-main-84.iva.yp-c.yandex.net (mail-nwsmtp-smtp-production-main-84.iva.yp-c.yandex.net [IPv6:2a02:6b8:c0c:a712:0:640:cd83:0]) by forward401a.mail.yandex.net (Yandex) with ESMTP id 5987668484 for ; Tue, 7 Nov 2023 19:16:46 +0300 (MSK) Received: by mail-nwsmtp-smtp-production-main-84.iva.yp-c.yandex.net (smtp/Yandex) with ESMTPSA id jGfVRM7UteA0-UFMBn5pH; Tue, 07 Nov 2023 19:16:45 +0300 X-Yandex-Fwd: 1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yandex.ru; s=mail; t=1699373806; bh=03r52Plju21M815N7V4DhMxovIHqTjDAwohhSPIvK98=; h=Message-ID:Date:Subject:To:From; b=JY7KQx7u+0/yxUAS6D/gnw1PeULjcmT+yoMOSYNth8hbYukckgxLK4b7Ygx4/dEcU yGaAHU59DaYVDbuEzuiG1F3kB8Q8ogfHakCa6HD7UxudQo6aOnfM9TTZP5TctyraTM cmmxQyhFc8qTJsY5aUUzH2K+d2bvYrpw6r/qCdNU= Authentication-Results: mail-nwsmtp-smtp-production-main-84.iva.yp-c.yandex.net; dkim=pass header.i=@yandex.ru From: Denis Zubarev To: bug-gnu-emacs@gnu.org Subject: 30.0.50; tree-sitter: treesit-defun-at-point wrong behavior in python-ts-mode Date: Tue, 07 Nov 2023 19:16:45 +0300 Message-ID: <87pm0l1qtu.fsf@yandex.ru> MIME-Version: 1.0 Content-Type: text/plain Received-SPF: pass client-ip=2a02:6b8:c0e:500:1:45:d181:db02; envelope-from=dvzubarev@yandex.ru; helo=forward401a.mail.yandex.net X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, SPF_HELO_NONE=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: 3.0 (+++) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: Steps to reproduce: 1. emacs -Q 2. M-x find-file /tmp/t.py 3. paste to the buffer def premain(): pa|ss def main(): pass where | is cursor position for further steps Content analysis details: (3.0 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (dvzubarev[at]yandex.ru) -0.0 SPF_HELO_PASS SPF: HELO matches SPF record 1.0 SPF_SOFTFAIL SPF: sender does not match SPF record (softfail) 2.0 SPOOFED_FREEMAIL No description available. X-Debbugs-Envelope-To: submit X-Mailman-Approved-At: Tue, 07 Nov 2023 11:19:52 -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.0 (/) Steps to reproduce: 1. emacs -Q 2. M-x find-file /tmp/t.py 3. paste to the buffer def premain(): pa|ss def main(): pass where | is cursor position for further steps 4. M-x python-ts-mode 5. M-x eval-expression (treesit-defun-at-point) treesit-defun-at-point returns nil, but I expect that it will return a node for `premain`. If you move the cursor to the beginning of the word `pass` and try again it will return node for `premain` function. If you eval `(treesit--things-around (point) treesit-defun-type-regexp)`, it returns `(nil # nil)` It seems that when cursor is not on the beginning of the node, treesit erroneously finds next sibling. It prevents finding parent node correctly (premain function in this case). I managed to fix the problem by replacing `(cursor (or (nth 0 result) (nth 1 result) node)` with ~(cursor node)~ - here https://github.com/emacs-mirror/emacs/blob/12d1f33ceb37a2d0399af7e4054024c60a465ab8/lisp/treesit.el#L2383 But I'm sure it is not the proper fix. In GNU Emacs 30.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.33, cairo version 1.16.0) of 2023-11-07 built on NUC-here Repository revision: a1abb6a85e6605c256595b8d7b885018e5421c28 Repository branch: master Windowing system distributor 'The X.Org Foundation', version 11.0.12101004 System Description: Ubuntu 22.04.3 LTS Configured using: 'configure --with-modules --with-native-compilation=aot --with-imagemagick --with-json --with-tree-sitter --with-xft' Configured features: ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ IMAGEMAGICK JPEG JSON LCMS2 LIBOTF LIBSELINUX LIBSYSTEMD LIBXML2 M17N_FLT MODULES NATIVE_COMP NOTIFY INOTIFY PDUMPER PNG RSVG SECCOMP SOUND THREADS TIFF TOOLKIT_SCROLL_BARS TREE_SITTER X11 XDBE XIM XINPUT2 XPM GTK3 ZLIB Important settings: value of $LC_MONETARY: ru_RU.UTF-8 value of $LC_NUMERIC: ru_RU.UTF-8 value of $LC_TIME: ru_RU.UTF-8 value of $LANG: en_US.UTF-8 locale-coding-system: utf-8-unix Major mode: ELisp/l Minor modes in effect: git-gutter-mode: t dap-tooltip-mode: t dap-ui-mode: t treemacs-filewatch-mode: t treemacs-git-mode: t treemacs-fringe-indicator-mode: t dap-mode: t lispyville-mode: t lispy-mode: t highlight-quoted-mode: t rainbow-delimiters-mode: t save-place-mode: t global-so-long-mode: t winum-mode: t projectile-mode: t flycheck-popup-tip-mode: t +emacs-lisp-non-package-mode: t vi-tilde-fringe-mode: t display-line-numbers-mode: t hl-todo-mode: t outline-minor-mode: t global-git-commit-mode: t yas-global-mode: t yas-minor-mode: t recentf-mode: t which-key-mode: t savehist-mode: t better-jumper-mode: t better-jumper-local-mode: t global-company-mode: t company-mode: t vertico-mode: t marginalia-mode: t evil-goggles-mode: t evil-escape-mode: t evil-snipe-override-mode: t evil-snipe-mode: t evil-snipe-override-local-mode: t evil-snipe-local-mode: t pcre-mode: t server-mode: t gcmh-mode: t global-hl-line-mode: t hl-line-mode: t winner-mode: t smartparens-global-mode: t ws-butler-global-mode: t ws-butler-mode: t undo-fu-session-global-mode: t undo-fu-session-mode: t undo-fu-mode: t global-flycheck-mode: t flycheck-mode: t persp-mode: t global-jinx-mode: t jinx-mode: t doom-modeline-mode: t solaire-global-mode: t highlight-numbers-mode: t hexl-follow-ascii: t global-evil-surround-mode: t evil-surround-mode: t dirvish-override-dired-mode: t direnv-mode: t evil-mode: t evil-local-mode: t +popup-mode: t override-global-mode: t general-override-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 window-divider-mode: t minibuffer-regexp-mode: t size-indication-mode: t column-number-mode: t line-number-mode: t transient-mark-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t Load-path shadows: /home/denin/.emacs.d/.local/straight/build-30.0.50/ivy/elpa hides /home/denin/.emacs.d/.local/straight/build-30.0.50/lispy/elpa /home/denin/.emacs.d/.local/straight/build-30.0.50/transient/transient hides /usr/local/share/emacs/30.0.50/lisp/transient /home/denin/.emacs.d/.local/straight/build-30.0.50/bind-key/bind-key hides /usr/local/share/emacs/30.0.50/lisp/bind-key /home/denin/.emacs.d/.local/straight/build-30.0.50/use-package/use-package-delight hides /usr/local/share/emacs/30.0.50/lisp/use-package/use-package-delight /home/denin/.emacs.d/.local/straight/build-30.0.50/use-package/use-package-lint hides /usr/local/share/emacs/30.0.50/lisp/use-package/use-package-lint /home/denin/.emacs.d/.local/straight/build-30.0.50/use-package/use-package-jump hides /usr/local/share/emacs/30.0.50/lisp/use-package/use-package-jump /home/denin/.emacs.d/.local/straight/build-30.0.50/use-package/use-package-diminish hides /usr/local/share/emacs/30.0.50/lisp/use-package/use-package-diminish /home/denin/.emacs.d/.local/straight/build-30.0.50/use-package/use-package-ensure hides /usr/local/share/emacs/30.0.50/lisp/use-package/use-package-ensure /home/denin/.emacs.d/.local/straight/build-30.0.50/use-package/use-package hides /usr/local/share/emacs/30.0.50/lisp/use-package/use-package /home/denin/.emacs.d/.local/straight/build-30.0.50/use-package/use-package-bind-key hides /usr/local/share/emacs/30.0.50/lisp/use-package/use-package-bind-key /home/denin/.emacs.d/.local/straight/build-30.0.50/use-package/use-package-core hides /usr/local/share/emacs/30.0.50/lisp/use-package/use-package-core /home/denin/.emacs.d/.local/straight/build-30.0.50/project/project hides /usr/local/share/emacs/30.0.50/lisp/progmodes/project /home/denin/.emacs.d/.local/straight/build-30.0.50/gdb-mi/gdb-mi hides /usr/local/share/emacs/30.0.50/lisp/progmodes/gdb-mi /home/denin/.emacs.d/.local/straight/build-30.0.50/xref/xref hides /usr/local/share/emacs/30.0.50/lisp/progmodes/xref /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ob-ref hides /usr/local/share/emacs/30.0.50/lisp/org/ob-ref /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ol-irc hides /usr/local/share/emacs/30.0.50/lisp/org/ol-irc /home/denin/.emacs.d/.local/straight/build-30.0.50/org/org-crypt hides /usr/local/share/emacs/30.0.50/lisp/org/org-crypt /home/denin/.emacs.d/.local/straight/build-30.0.50/org/org-attach hides /usr/local/share/emacs/30.0.50/lisp/org/org-attach /home/denin/.emacs.d/.local/straight/build-30.0.50/org/org-mouse hides /usr/local/share/emacs/30.0.50/lisp/org/org-mouse /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ob-latex hides /usr/local/share/emacs/30.0.50/lisp/org/ob-latex /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ol-eww hides /usr/local/share/emacs/30.0.50/lisp/org/ol-eww /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ob-ditaa hides /usr/local/share/emacs/30.0.50/lisp/org/ob-ditaa /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ob-groovy hides /usr/local/share/emacs/30.0.50/lisp/org/ob-groovy /home/denin/.emacs.d/.local/straight/build-30.0.50/org/org-compat hides /usr/local/share/emacs/30.0.50/lisp/org/org-compat /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ol-info hides /usr/local/share/emacs/30.0.50/lisp/org/ol-info /home/denin/.emacs.d/.local/straight/build-30.0.50/org/org-protocol hides /usr/local/share/emacs/30.0.50/lisp/org/org-protocol /home/denin/.emacs.d/.local/straight/build-30.0.50/org/org-footnote hides /usr/local/share/emacs/30.0.50/lisp/org/org-footnote /home/denin/.emacs.d/.local/straight/build-30.0.50/org/org-id hides /usr/local/share/emacs/30.0.50/lisp/org/org-id /home/denin/.emacs.d/.local/straight/build-30.0.50/org/oc-biblatex hides /usr/local/share/emacs/30.0.50/lisp/org/oc-biblatex /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ob-C hides /usr/local/share/emacs/30.0.50/lisp/org/ob-C /home/denin/.emacs.d/.local/straight/build-30.0.50/org/org-colview hides /usr/local/share/emacs/30.0.50/lisp/org/org-colview /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ob-calc hides /usr/local/share/emacs/30.0.50/lisp/org/ob-calc /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ob-octave hides /usr/local/share/emacs/30.0.50/lisp/org/ob-octave /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ob-java hides /usr/local/share/emacs/30.0.50/lisp/org/ob-java /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ob-js hides /usr/local/share/emacs/30.0.50/lisp/org/ob-js /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ob-R hides /usr/local/share/emacs/30.0.50/lisp/org/ob-R /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ob-ruby hides /usr/local/share/emacs/30.0.50/lisp/org/ob-ruby /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ob-css hides /usr/local/share/emacs/30.0.50/lisp/org/ob-css /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ox-odt hides /usr/local/share/emacs/30.0.50/lisp/org/ox-odt /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ol-man hides /usr/local/share/emacs/30.0.50/lisp/org/ol-man /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ob-perl hides /usr/local/share/emacs/30.0.50/lisp/org/ob-perl /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ox-org hides /usr/local/share/emacs/30.0.50/lisp/org/ox-org /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ox-html hides /usr/local/share/emacs/30.0.50/lisp/org/ox-html /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ob-gnuplot hides /usr/local/share/emacs/30.0.50/lisp/org/ob-gnuplot /home/denin/.emacs.d/.local/straight/build-30.0.50/org/org-entities hides /usr/local/share/emacs/30.0.50/lisp/org/org-entities /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ol-bibtex hides /usr/local/share/emacs/30.0.50/lisp/org/ol-bibtex /home/denin/.emacs.d/.local/straight/build-30.0.50/org/org-goto hides /usr/local/share/emacs/30.0.50/lisp/org/org-goto /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ob hides /usr/local/share/emacs/30.0.50/lisp/org/ob /home/denin/.emacs.d/.local/straight/build-30.0.50/org/org-inlinetask hides /usr/local/share/emacs/30.0.50/lisp/org/org-inlinetask /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ob-comint hides /usr/local/share/emacs/30.0.50/lisp/org/ob-comint /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ol-gnus hides /usr/local/share/emacs/30.0.50/lisp/org/ol-gnus /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ox-latex hides /usr/local/share/emacs/30.0.50/lisp/org/ox-latex /home/denin/.emacs.d/.local/straight/build-30.0.50/org/org-version hides /usr/local/share/emacs/30.0.50/lisp/org/org-version /home/denin/.emacs.d/.local/straight/build-30.0.50/org/org-agenda hides /usr/local/share/emacs/30.0.50/lisp/org/org-agenda /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ob-lisp hides /usr/local/share/emacs/30.0.50/lisp/org/ob-lisp /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ob-matlab hides /usr/local/share/emacs/30.0.50/lisp/org/ob-matlab /home/denin/.emacs.d/.local/straight/build-30.0.50/org/org hides /usr/local/share/emacs/30.0.50/lisp/org/org /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ob-maxima hides /usr/local/share/emacs/30.0.50/lisp/org/ob-maxima /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ob-lua hides /usr/local/share/emacs/30.0.50/lisp/org/ob-lua /home/denin/.emacs.d/.local/straight/build-30.0.50/org/org-refile hides /usr/local/share/emacs/30.0.50/lisp/org/org-refile /home/denin/.emacs.d/.local/straight/build-30.0.50/org/org-faces hides /usr/local/share/emacs/30.0.50/lisp/org/org-faces /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ob-python hides /usr/local/share/emacs/30.0.50/lisp/org/ob-python /home/denin/.emacs.d/.local/straight/build-30.0.50/org/org-loaddefs hides /usr/local/share/emacs/30.0.50/lisp/org/org-loaddefs /home/denin/.emacs.d/.local/straight/build-30.0.50/org/org-lint hides /usr/local/share/emacs/30.0.50/lisp/org/org-lint /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ol-docview hides /usr/local/share/emacs/30.0.50/lisp/org/ol-docview /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ox-md hides /usr/local/share/emacs/30.0.50/lisp/org/ox-md /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ox-man hides /usr/local/share/emacs/30.0.50/lisp/org/ox-man /home/denin/.emacs.d/.local/straight/build-30.0.50/org/org-indent hides /usr/local/share/emacs/30.0.50/lisp/org/org-indent /home/denin/.emacs.d/.local/straight/build-30.0.50/org/org-mobile hides /usr/local/share/emacs/30.0.50/lisp/org/org-mobile /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ob-scheme hides /usr/local/share/emacs/30.0.50/lisp/org/ob-scheme /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ox hides /usr/local/share/emacs/30.0.50/lisp/org/ox /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ob-tangle hides /usr/local/share/emacs/30.0.50/lisp/org/ob-tangle /home/denin/.emacs.d/.local/straight/build-30.0.50/org/oc-csl hides /usr/local/share/emacs/30.0.50/lisp/org/oc-csl /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ob-shell hides /usr/local/share/emacs/30.0.50/lisp/org/ob-shell /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ox-beamer hides /usr/local/share/emacs/30.0.50/lisp/org/ox-beamer /home/denin/.emacs.d/.local/straight/build-30.0.50/org/oc-natbib hides /usr/local/share/emacs/30.0.50/lisp/org/oc-natbib /home/denin/.emacs.d/.local/straight/build-30.0.50/org/org-habit hides /usr/local/share/emacs/30.0.50/lisp/org/org-habit /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ob-emacs-lisp hides /usr/local/share/emacs/30.0.50/lisp/org/ob-emacs-lisp /home/denin/.emacs.d/.local/straight/build-30.0.50/org/org-persist hides /usr/local/share/emacs/30.0.50/lisp/org/org-persist /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ob-core hides /usr/local/share/emacs/30.0.50/lisp/org/ob-core /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ox-icalendar hides /usr/local/share/emacs/30.0.50/lisp/org/ox-icalendar /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ob-haskell hides /usr/local/share/emacs/30.0.50/lisp/org/ob-haskell /home/denin/.emacs.d/.local/straight/build-30.0.50/org/org-attach-git hides /usr/local/share/emacs/30.0.50/lisp/org/org-attach-git /home/denin/.emacs.d/.local/straight/build-30.0.50/org/oc hides /usr/local/share/emacs/30.0.50/lisp/org/oc /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ob-sed hides /usr/local/share/emacs/30.0.50/lisp/org/ob-sed /home/denin/.emacs.d/.local/straight/build-30.0.50/org/org-pcomplete hides /usr/local/share/emacs/30.0.50/lisp/org/org-pcomplete /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ox-koma-letter hides /usr/local/share/emacs/30.0.50/lisp/org/ox-koma-letter /home/denin/.emacs.d/.local/straight/build-30.0.50/org/org-list hides /usr/local/share/emacs/30.0.50/lisp/org/org-list /home/denin/.emacs.d/.local/straight/build-30.0.50/org/org-ctags hides /usr/local/share/emacs/30.0.50/lisp/org/org-ctags /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ob-dot hides /usr/local/share/emacs/30.0.50/lisp/org/ob-dot /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ol-rmail hides /usr/local/share/emacs/30.0.50/lisp/org/ol-rmail /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ob-forth hides /usr/local/share/emacs/30.0.50/lisp/org/ob-forth /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ob-sqlite hides /usr/local/share/emacs/30.0.50/lisp/org/ob-sqlite /home/denin/.emacs.d/.local/straight/build-30.0.50/org/org-cycle hides /usr/local/share/emacs/30.0.50/lisp/org/org-cycle /home/denin/.emacs.d/.local/straight/build-30.0.50/org/org-num hides /usr/local/share/emacs/30.0.50/lisp/org/org-num /home/denin/.emacs.d/.local/straight/build-30.0.50/org/org-src hides /usr/local/share/emacs/30.0.50/lisp/org/org-src /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ob-sql hides /usr/local/share/emacs/30.0.50/lisp/org/ob-sql /home/denin/.emacs.d/.local/straight/build-30.0.50/org/org-plot hides /usr/local/share/emacs/30.0.50/lisp/org/org-plot /home/denin/.emacs.d/.local/straight/build-30.0.50/org/org-clock hides /usr/local/share/emacs/30.0.50/lisp/org/org-clock /home/denin/.emacs.d/.local/straight/build-30.0.50/org/org-element hides /usr/local/share/emacs/30.0.50/lisp/org/org-element /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ox-ascii hides /usr/local/share/emacs/30.0.50/lisp/org/ox-ascii /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ol-mhe hides /usr/local/share/emacs/30.0.50/lisp/org/ol-mhe /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ob-table hides /usr/local/share/emacs/30.0.50/lisp/org/ob-table /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ob-plantuml hides /usr/local/share/emacs/30.0.50/lisp/org/ob-plantuml /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ox-texinfo hides /usr/local/share/emacs/30.0.50/lisp/org/ox-texinfo /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ob-ocaml hides /usr/local/share/emacs/30.0.50/lisp/org/ob-ocaml /home/denin/.emacs.d/.local/straight/build-30.0.50/org/org-datetree hides /usr/local/share/emacs/30.0.50/lisp/org/org-datetree /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ol-doi hides /usr/local/share/emacs/30.0.50/lisp/org/ol-doi /home/denin/.emacs.d/.local/straight/build-30.0.50/org/org-macs hides /usr/local/share/emacs/30.0.50/lisp/org/org-macs /home/denin/.emacs.d/.local/straight/build-30.0.50/org/org-macro hides /usr/local/share/emacs/30.0.50/lisp/org/org-macro /home/denin/.emacs.d/.local/straight/build-30.0.50/org/oc-basic hides /usr/local/share/emacs/30.0.50/lisp/org/oc-basic /home/denin/.emacs.d/.local/straight/build-30.0.50/org/org-fold hides /usr/local/share/emacs/30.0.50/lisp/org/org-fold /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ob-exp hides /usr/local/share/emacs/30.0.50/lisp/org/ob-exp /home/denin/.emacs.d/.local/straight/build-30.0.50/org/org-capture hides /usr/local/share/emacs/30.0.50/lisp/org/org-capture /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ob-fortran hides /usr/local/share/emacs/30.0.50/lisp/org/ob-fortran /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ob-lob hides /usr/local/share/emacs/30.0.50/lisp/org/ob-lob /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ob-awk hides /usr/local/share/emacs/30.0.50/lisp/org/ob-awk /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ol hides /usr/local/share/emacs/30.0.50/lisp/org/ol /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ol-w3m hides /usr/local/share/emacs/30.0.50/lisp/org/ol-w3m /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ob-makefile hides /usr/local/share/emacs/30.0.50/lisp/org/ob-makefile /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ob-lilypond hides /usr/local/share/emacs/30.0.50/lisp/org/ob-lilypond /home/denin/.emacs.d/.local/straight/build-30.0.50/org/org-archive hides /usr/local/share/emacs/30.0.50/lisp/org/org-archive /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ob-processing hides /usr/local/share/emacs/30.0.50/lisp/org/ob-processing /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ob-eshell hides /usr/local/share/emacs/30.0.50/lisp/org/ob-eshell /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ob-julia hides /usr/local/share/emacs/30.0.50/lisp/org/ob-julia /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ob-sass hides /usr/local/share/emacs/30.0.50/lisp/org/ob-sass /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ob-screen hides /usr/local/share/emacs/30.0.50/lisp/org/ob-screen /home/denin/.emacs.d/.local/straight/build-30.0.50/org/oc-bibtex hides /usr/local/share/emacs/30.0.50/lisp/org/oc-bibtex /home/denin/.emacs.d/.local/straight/build-30.0.50/org/org-duration hides /usr/local/share/emacs/30.0.50/lisp/org/org-duration /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ob-org hides /usr/local/share/emacs/30.0.50/lisp/org/ob-org /home/denin/.emacs.d/.local/straight/build-30.0.50/org/org-tempo hides /usr/local/share/emacs/30.0.50/lisp/org/org-tempo /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ol-bbdb hides /usr/local/share/emacs/30.0.50/lisp/org/ol-bbdb /home/denin/.emacs.d/.local/straight/build-30.0.50/org/org-fold-core hides /usr/local/share/emacs/30.0.50/lisp/org/org-fold-core /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ob-clojure hides /usr/local/share/emacs/30.0.50/lisp/org/ob-clojure /home/denin/.emacs.d/.local/straight/build-30.0.50/org/org-timer hides /usr/local/share/emacs/30.0.50/lisp/org/org-timer /home/denin/.emacs.d/.local/straight/build-30.0.50/org/org-keys hides /usr/local/share/emacs/30.0.50/lisp/org/org-keys /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ob-eval hides /usr/local/share/emacs/30.0.50/lisp/org/ob-eval /home/denin/.emacs.d/.local/straight/build-30.0.50/org/org-table hides /usr/local/share/emacs/30.0.50/lisp/org/org-table /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ol-eshell hides /usr/local/share/emacs/30.0.50/lisp/org/ol-eshell /home/denin/.emacs.d/.local/straight/build-30.0.50/org/ox-publish hides /usr/local/share/emacs/30.0.50/lisp/org/ox-publish /home/denin/.emacs.d/.local/straight/build-30.0.50/org/org-feed hides /usr/local/share/emacs/30.0.50/lisp/org/org-feed /home/denin/.emacs.d/.local/straight/build-30.0.50/soap-client/soap-inspect hides /usr/local/share/emacs/30.0.50/lisp/net/soap-inspect /home/denin/.emacs.d/.local/straight/build-30.0.50/soap-client/soap-client hides /usr/local/share/emacs/30.0.50/lisp/net/soap-client /home/denin/.emacs.d/.local/straight/build-30.0.50/eldoc/eldoc hides /usr/local/share/emacs/30.0.50/lisp/emacs-lisp/eldoc /home/denin/.emacs.d/.local/straight/build-30.0.50/map/map hides /usr/local/share/emacs/30.0.50/lisp/emacs-lisp/map Features: (vertico-quick smtpmail epa-file company-yasnippet git-gutter-fringe fringe-helper git-gutter flycheck-cask elisp-demos evil-collection-indent mm-archive evil-collection-tabulated-list debbugs-gnu debbugs-compat evil-collection-debbugs debbugs soap-client rng-xsd rng-dt rng-util xsd-regexp evil-collection-vc-git vc-git vc-dispatcher mailalias mailclient textsec uni-scripts idna-mapping ucs-normalize uni-confusable textsec-check char-fold lsp-pyright dap-gdb-lldb dap-utils dap-lldb ccls ccls-member-hierarchy ccls-inheritance-hierarchy ccls-call-hierarchy ccls-tree ccls-code-lens ccls-semantic-highlight ccls-common smartparens-c cc-mode-expansions cc-mode cc-fonts cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine dap-mouse dap-ui lsp-treemacs lsp-treemacs-generic lsp-treemacs-themes treemacs-treelib treemacs-magit treemacs-persp treemacs-projectile treemacs-evil treemacs-nerd-icons 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 treemacs-faces treemacs-icons treemacs-scope treemacs-themes treemacs-core-utils pfuture treemacs-logging treemacs-customization treemacs-macros gdb-mi gdb-module bui bui-list bui-info bui-entry bui-core bui-history bui-button bui-utils lsp-lens dap-python dap-mode dap-tasks dap-launch lsp-docker dap-overlays lsp-mode lsp-protocol spinner ewoc smartparens-python python-el-fgallina-expansions pyvenv evil-collection-python python lispyville lispy lispy-inline etags fileloop evil-collection-xref xref lispy-tags mode-local zoutline highlight-quoted rainbow-delimiters jka-compr auto-minor-mode org-eldoc toc-org evil-org org-indent oc-basic ol-bibtex bibtex saveplace evil-collection-so-long so-long tramp-sh jupyter-tramp tramp-cache time-stamp jupyter-server jupyter-server-kernel jupyter-repl jupyter-widget-client simple-httpd jupyter-client jupyter-kernel jupyter-kernelspec jupyter-env jupyter-monads thunk jupyter-messages hmac-def jupyter-mime jupyter-rest-api websocket bindat jupyter-base eieio-base tramp trampver tramp-integration tramp-message tramp-compat tramp-loaddefs winum hydra lv evil-collection-evil-mc evil-mc evil-mc-command-execute evil-mc-command-record evil-mc-cursor-make evil-mc-region evil-mc-cursor-state evil-mc-undo evil-mc-vars evil-mc-known-commands evil-mc-common evil-collection-help shadow sort projectile project ibuffer-vc ibuf-ext evil-collection-ibuffer ibuffer ibuffer-loaddefs whitespace flycheck-popup-tip evil-collection-popup popup vi-tilde-fringe display-line-numbers mail-extr network-stream url-cache hide-mode-line go-translate gts-engine-youdao gts-engine-stardict gts-engine-deepl gts-engine-google-rpc gts-engine-google gts-engine-bing gts-implements posframe gts-faces gts-core emacsbug org-capture org-agenda the-org-mode-expansions evil-collection-org smartparens-org org-yt org-element org-persist xdg org-id org-refile org-element-ast inline avl-tree org ob-emacs-lisp org-table org-loaddefs ob ob-tangle ol ob-ref ob-lob ob-table ob-exp org-macro org-src evil-collection-sh-script sh-script smie executable org-keys oc ob-comint org-pcomplete org-list org-footnote org-entities org-faces evil-collection-calendar cal-menu calendar cal-loaddefs evil-collection-magit-todos magit-todos hl-todo async evil-collection-grep grep code-review code-review-actions code-review-comment code-review-section code-review-bitbucket code-review-faces shr pixel-fill kinsoku url-file svg xml emojify evil-collection-apropos apropos code-review-gitlab code-review-utils evil-collection-forge forge-list forge-commands forge-semi forge-bitbucket buck forge-gogs gogs forge-gitea gtea forge-gitlab glab forge-github forge-notify forge-revnote forge-pullreq forge-issue forge-topic yaml parse-time iso8601 bug-reference forge-post smartparens-markdown evil-collection-markdown-mode markdown-mode edit-indirect noutline outline forge-repo forge forge-core forge-db code-review-parse-hunk code-review-github code-review-db uuidgen calc-misc calc-ext calc calc-loaddefs calc-macs a code-review-interfaces deferred ghub-graphql treepy gsexp ghub url-http url-gw nsm url-auth gnutls closql emacsql-sqlite emacsql-sqlite-common emacsql emacsql-compiler magit-bookmark magit-autoloads evil-collection-magit magit-submodule magit-blame magit-stash magit-reflog magit-bisect magit-push magit-pull magit-fetch magit-clone magit-remote magit-commit magit-sequence magit-notes magit-worktree magit-tag magit-merge magit-branch magit-reset magit-files magit-refs magit-status magit magit-repos magit-apply magit-wip magit-log which-func magit-diff smerge-mode diff magit-core magit-autorevert magit-margin magit-transient magit-process magit-mode git-commit magit-git magit-base evil-collection-magit-section magit-section crm evil-collection-log-edit log-edit message sendmail yank-media puny rfc822 mml mml-sec evil-collection-epa epa epg rfc6068 epg-config gnus-util mm-decode mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045 mm-util ietf-drums mail-prsvr mailabbrev mail-utils gmm-utils mailheader pcvs-util add-log with-editor doom-snippets doom-snippets-lib yasnippet evil-collection-elisp-mode elisp-mode recentf vertico-directory mule-util cursor-sensor delsel evil-collection-minibuffer vertico-repeat evil-collection-helpful helpful cc-langs cc-vars cc-defs trace evil-collection-edebug edebug evil-collection-debug debug backtrace info-look evil-collection-info info help-fns radix-tree evil-collection-elisp-refs elisp-refs tree-widget time-date evil-collection-which-key which-key savehist better-jumper company-capf company-fuzzy ht ffap company evil-collection-vertico vertico orderless marginalia evil-goggles evil-easymotion evil-escape evil-snipe pcre2el rxt re-builder quail ace-window avy evil-nerd-commenter evil-nerd-commenter-operator evil-nerd-commenter-sdk smartparens-html html-mode-expansions sgml-mode facemenu dom consult-flycheck evil-collection-consult consult evil-collection-bookmark bookmark server pulse color autorevert filenotify gcmh hl-line winner smartparens-config smartparens-text smartparens loadhist ws-butler undo-fu-session undo-fu flycheck-package package-lint evil-collection-imenu imenu evil-collection-finder finder finder-inf lisp-mnt evil-collection-package-menu doom-packages package browse-url url-handlers evil-collection-flycheck flycheck persp-mode jinx doom-modeline doom-modeline-segments doom-modeline-env doom-modeline-core shrink-path f f-shortdoc nerd-icons nerd-icons-faces nerd-icons-data nerd-icons-data-mdicon nerd-icons-data-flicon nerd-icons-data-codicon nerd-icons-data-devicon nerd-icons-data-sucicon nerd-icons-data-wicon nerd-icons-data-faicon nerd-icons-data-powerline nerd-icons-data-octicon nerd-icons-data-pomicon nerd-icons-data-ipsicon doom-themes-ext-org solaire-mode face-remap spacemacs-light-theme spacemacs-theme chatgpt-shell shell-maker evil-collection-view view shell goto-addr highlight-numbers parent-mode ielm find-func evil-collection-eshell em-prompt eshell esh-mode esh-var esh-cmd generator esh-ext esh-opt esh-proc esh-io esh-arg pcomplete esh-module esh-groups esh-util files-x nhexl-mode disp-table hexl ascii-table evil-embrace embrace expand-region text-mode-expansions er-basic-expansions expand-region-core expand-region-custom evil-surround let-alist ob-core org-cycle org-fold org-fold-core org-compat ob-eval org-version org-macs turbo-log s evil-textobj-tree-sitter evil-textobj-tree-sitter-thing-at-point evil-textobj-tree-sitter-core treesit-langs treesit-faces treesit-langs-build dtrt-indent evil-collection-tar-mode tar-mode evil-collection-arc-mode arc-mode archive-mode url url-proxy url-privacy url-expand url-methods url-history url-cookie generate-lisp-file url-domsuf url-util url-parse auth-source password-cache url-vars mailcap treesit delight tree-sitter tree-sitter-load tree-sitter-cli tsc tsc-dyn tsc-dyn-get evil-collection-compile compile text-property-search evil-collection-comint comint ansi-osc ansi-color dired-aux dired-rainbow dired-hacks-utils dirvish transient format-spec eieio eieio-core compat evil-collection-dired dired dired-loaddefs tsc-obsolete direnv json map evil-collection-diff-mode evil-collection-custom cus-edit cus-load wid-edit evil-collection annalist diff-mode dash use-package-delight ibuf-macs targets evil evil-integration evil-maps evil-commands reveal evil-jumps evil-command-window evil-types evil-search evil-macros evil-repeat evil-states evil-core advice evil-common thingatpt rect evil-vars ring derived edmacro kmacro byte-opt use-package-bind-key bind-key comp comp-cstr warnings icons rx doom-editor doom-projects doom-ui easy-mmode doom-keybinds pp cl-extra help-mode use-package-core bytecomp byte-compile general tex-site doom-start doom-modules cl-seq doom doom-lib cl-macs cl-loaddefs cl-lib pcase gv harfbuzz jansson dynamic-modules subr-x rmc iso-transl tooltip cconv eldoc paren electric uniquify ediff-hook vc-hooks lisp-float-type mwheel term/x-win x-win term/common-win x-dnd touch-screen tool-bar dnd fontset image regexp-opt fringe tabulated-list replace newcomment text-mode lisp-mode prog-mode register page tab-bar menu-bar rfn-eshadow isearch easymenu timer select scroll-bar mouse jit-lock font-lock syntax font-core term/tty-colors frame minibuffer nadvice seq simple cl-generic indonesian philippine cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese composite emoji-zwj charscript charprop case-table epa-hook jka-cmpr-hook help abbrev obarray oclosure cl-preloaded button loaddefs theme-loaddefs faces cus-face macroexp files window text-properties overlay sha1 md5 base64 format env code-pages mule custom widget keymap hashtable-print-readable backquote threads dbusbind inotify lcms2 dynamic-setting system-font-setting font-render-setting cairo gtk x-toolkit xinput2 x multi-tty move-toolbar make-network-process native-compile emacs) Memory information: ((conses 16 1636739 456871) (symbols 48 101258 239) (strings 32 373071 186944) (string-bytes 1 11965486) (vectors 16 187590) (vector-slots 8 4292959 194670) (floats 8 4131 14649) (intervals 56 10845 3508) (buffers 992 27)) ------------=_1699669982-31936-1--