From unknown Sat Jun 21 10:32:28 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#66845 <66845@debbugs.gnu.org> To: bug#66845 <66845@debbugs.gnu.org> Subject: Status: 29.1; cmake-ts-mode indentation broken Reply-To: bug#66845 <66845@debbugs.gnu.org> Date: Sat, 21 Jun 2025 17:32:28 +0000 retitle 66845 29.1; cmake-ts-mode indentation broken reassign 66845 emacs submitter 66845 Juan Palacios severity 66845 normal tag 66845 patch thanks From debbugs-submit-bounces@debbugs.gnu.org Tue Oct 31 07:36:58 2023 Received: (at submit) by debbugs.gnu.org; 31 Oct 2023 11:36:58 +0000 Received: from localhost ([127.0.0.1]:47650 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qxn3K-0001AD-29 for submit@debbugs.gnu.org; Tue, 31 Oct 2023 07:36:58 -0400 Received: from lists.gnu.org ([2001:470:142::17]:59904) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qxn3F-00019t-L3 for submit@debbugs.gnu.org; Tue, 31 Oct 2023 07:36:57 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qxn2X-0008OX-4U for bug-gnu-emacs@gnu.org; Tue, 31 Oct 2023 07:36:09 -0400 Received: from mail-yw1-x112c.google.com ([2607:f8b0:4864:20::112c]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qxn2V-0004Sy-AG for bug-gnu-emacs@gnu.org; Tue, 31 Oct 2023 07:36:08 -0400 Received: by mail-yw1-x112c.google.com with SMTP id 00721157ae682-5b321286567so5347307b3.0 for ; Tue, 31 Oct 2023 04:36:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1698752164; x=1699356964; darn=gnu.org; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=/K4srYyXFPA2E8XzMZ6E0bGdIEB/KWyUNZYFxWw06Hk=; b=XsvpN1jwhl8Mw1wjWTMDxDxHI5VXf6kLibFxvgMZR/f2zCexMkXvUugYmXVbU9/0Hm nlnA5E02qkNxzRVzxw1IvWseimhcDf+Opis/n8NOHcORn3+2aLVW4aJRk7+kQNQxFE9P 2lkS3PSzhXUdEOu4AYQ1Fh9a3z7HtDGtooYbb3O7O6gGm6vkx/dag2Z95kvldyu1TO1s CIapkpwMOAxYzTZ7l+SVozrA1Z0E3NtXICnbBqfmMvAdADMTT4aK89zIWTEHOyKNpSXH DDqqPCMOeuJCF48o3ukbE/IOm3zAyRDxcAmxdMT1z61iyScMt0IMbFqQHZS239H16RUm Bfpw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1698752164; x=1699356964; h=to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=/K4srYyXFPA2E8XzMZ6E0bGdIEB/KWyUNZYFxWw06Hk=; b=GLK7931nk6wWoBPrWMdV05snGSvPfUijk1HvycCjQYJ5d/+fWZKNtLepRxORirz88d MpsihVB5UdQadzGV+c1V13fYQtE58iLE8jppZCaPl6PPLtRfhYkMt4S0Q4Jic+xnPFPk WTRfERn8L834SO5d+/Lc97oaYAcWhWfeNPQvZM3O2CEHAx7/P01KjN3NawOjfdJ/9lv0 /CyBSxGxkCNe5m9jc/rlbMA1dJ1oJ0HTzEV8ge55m5S48y2+6XJgnbu6/5KJkw5tcXYH EYmkD6CLDat5YbLaFCX1V2cDRT36gUUF6EvoK57L8wSmjuAP/fWuQdL2ZEdafgoH/yhI MAoQ== X-Gm-Message-State: AOJu0YwQ+fKYDO0lM5LH9O6yMbreR88Vshcku4Jqi+kkTkR6oK905mJh WmN+h8ZbNDz8ap+oOEWhtC2YR6ekqGHWlKMY1ERcO9p/2g== X-Google-Smtp-Source: AGHT+IHghQFhrN7sFmNaM5ZmNi/tQZqfHhta/bOLHfJR3K5C4TFALyLY/AO8NmmL+4i5aNyuo+vNcHqA7Y2yTLyUN34= X-Received: by 2002:a05:690c:fcf:b0:5a8:1d18:a1a with SMTP id dg15-20020a05690c0fcf00b005a81d180a1amr2020299ywb.4.1698752164631; Tue, 31 Oct 2023 04:36:04 -0700 (PDT) MIME-Version: 1.0 From: Juan Palacios Date: Tue, 31 Oct 2023 12:35:55 +0100 Message-ID: Subject: 29.1; cmake-ts-mode indentation broken To: bug-gnu-emacs@gnu.org Content-Type: text/plain; charset="UTF-8" Received-SPF: pass client-ip=2607:f8b0:4864:20::112c; envelope-from=jpalaciosdev@gmail.com; helo=mail-yw1-x112c.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, 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: 1.0 (+) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) Using cmake grammar from https://github.com/uyha/tree-sitter-cmake Reproduction: 1. emacs -q 2. C-x C-f test.cmake 3. M-x cmake-ts-mode 4. Insert the following text: if(TRUE) message("indent") endif() 5. Move the point to the beginning of the second line. 6. TAB 7. Notice that no indentation is performed. treesit-simple-indent-rules local value: ((cmake ((node-is ")") parent-bol 0) ((node-is "else_command") parent-bol 0) ((node-is "elseif_command") parent-bol 0) ((node-is "endforeach_command") parent-bol 0) ((node-is "endfunction_command") parent-bol 0) ((node-is "endif_command") parent-bol 0) ((parent-is "foreach_loop") parent-bol cmake-ts-mode-indent-offset) ((parent-is "function_def") parent-bol cmake-ts-mode-indent-offset) ((parent-is "if_condition") parent-bol cmake-ts-mode-indent-offset) ((parent-is "normal_command") parent-bol cmake-ts-mode-indent-offset))) treesit-explore-mode shows: (if_condition (if_command (if) ( (argument_list (argument (unquoted_argument))) )) (body (normal_command (identifier) ( (argument_list (argument (quoted_argument " (quoted_element) "))) ))) (endif_command (endif) ( ))) In GNU Emacs 29.1 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.38, cairo version 1.17.8) Windowing system distributor 'The X.Org Foundation', version 11.0.12101009 System Description: Arch Linux Configured using: 'configure --with-x-toolkit=gtk3 --with-native-compilation=aot --sysconfdir=/etc --prefix=/usr --libexecdir=/usr/lib --with-tree-sitter --localstatedir=/var --with-cairo --disable-build-details --with-harfbuzz --with-libsystemd --with-modules 'CFLAGS=-march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -g -ffile-prefix-map=/build/emacs/src=/usr/src/debug/emacs -flto=auto' 'LDFLAGS=-Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now -flto=auto' 'CXXFLAGS=-march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -Wp,-D_GLIBCXX_ASSERTIONS -g -ffile-prefix-map=/build/emacs/src=/usr/src/debug/emacs -flto=auto'' Configured features: ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ JPEG JSON LCMS2 LIBOTF LIBSYSTEMD LIBXML2 M17N_FLT MODULES NATIVE_COMP NOTIFY INOTIFY PDUMPER PNG RSVG SECCOMP SOUND SQLITE3 THREADS TIFF TOOLKIT_SCROLL_BARS TREE_SITTER WEBP X11 XDBE XIM XINPUT2 XPM GTK3 ZLIB Important settings: value of $LANG: es_ES.utf8 locale-coding-system: utf-8-unix Major mode: CMake Minor modes in effect: tooltip-mode: t global-eldoc-mode: t show-paren-mode: t electric-indent-mode: t mouse-wheel-mode: t tool-bar-mode: t menu-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t blink-cursor-mode: t line-number-mode: t indent-tabs-mode: t transient-mark-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t Load-path shadows: None found. Features: (shadow sort mail-extr emacsbug message mailcap yank-media puny dired dired-loaddefs rfc822 mml mml-sec password-cache epa derived epg rfc6068 epg-config gnus-util text-property-search mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils time-date cmake-ts-mode treesit cl-loaddefs comp comp-cstr warnings icons subr-x rx cl-seq cl-macs gv cl-extra help-mode bytecomp byte-compile cl-lib rmc iso-transl tooltip cconv eldoc paren electric uniquify ediff-hook vc-hooks lisp-float-type elisp-mode mwheel term/x-win x-win term/common-win x-dnd tool-bar dnd fontset image regexp-opt fringe tabulated-list replace newcomment text-mode lisp-mode prog-mode register page tab-bar menu-bar rfn-eshadow isearch easymenu timer select scroll-bar mouse jit-lock font-lock syntax font-core term/tty-colors frame minibuffer nadvice seq simple cl-generic indonesian philippine cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese composite emoji-zwj charscript charprop case-table epa-hook jka-cmpr-hook help abbrev obarray oclosure cl-preloaded button loaddefs theme-loaddefs faces cus-face macroexp files window text-properties overlay sha1 md5 base64 format env code-pages mule custom widget keymap hashtable-print-readable backquote threads dbusbind inotify lcms2 dynamic-setting system-font-setting font-render-setting cairo move-toolbar gtk x-toolkit xinput2 x multi-tty make-network-process native-compile emacs) Memory information: ((conses 16 82323 7814) (symbols 48 7373 0) (strings 32 20469 1882) (string-bytes 1 626948) (vectors 16 16173) (vector-slots 8 335652 13542) (floats 8 32 42) (intervals 56 404 0) (buffers 984 13)) From debbugs-submit-bounces@debbugs.gnu.org Tue Oct 31 11:51:37 2023 Received: (at 66845) by debbugs.gnu.org; 31 Oct 2023 15:51:37 +0000 Received: from localhost ([127.0.0.1]:49022 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qxr1k-0002cu-O8 for submit@debbugs.gnu.org; Tue, 31 Oct 2023 11:51:37 -0400 Received: from mail-4022.proton.ch ([185.70.40.22]:25257) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qxr1h-0002cb-7v for 66845@debbugs.gnu.org; Tue, 31 Oct 2023 11:51:35 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rjt.dev; s=protonmail; t=1698767452; x=1699026652; bh=9tGaEP2kMUDJuVlLsZcMwB6tQLu/LqKLmOL0EtdOq+M=; h=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References: Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID: Message-ID:BIMI-Selector; b=Rrhh0hiKQiKygdSWeETgESMC1nlIG7ah3GVRmnBM16UE6iDvPzCJwW7t3/diXgw9k UjBr//kZwTaI0WddrdreSRoROY8sN45IbVHj/Hv2nkYxKZ0EEcEZnoPUG02lZ9Tj1o e9jXyvLBr5OOQQU0neIkQjZzpCNCJDavPlxkIRHsIa15SwlOOP4YQmJdhPuYsEVMeD e+UarVJuUPBg3B14+hNGTiYzbBbBsR2t4Vj9sWPWiM+LabQgNy8rj/iFiB/oLNIZ7g sOObfxU3/+6gW8B0r8vaOnCRePKJjl2bUyyCN7EBahVrU1hlFIdJCDGXbCF1XDjI3P KqEz1VXrxUKeA== Date: Tue, 31 Oct 2023 15:50:43 +0000 To: Juan Palacios From: Randy Taylor Subject: Re: bug#66845: 29.1; cmake-ts-mode indentation broken Message-ID: In-Reply-To: References: Feedback-ID: 44397038:user:proton MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 66845 Cc: 66845@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 Tuesday, October 31st, 2023 at 07:35, Juan Palacios wrote: > Using cmake grammar from https://github.com/uyha/tree-sitter-cmake >=20 > Reproduction: > 1. emacs -q > 2. C-x C-f test.cmake > 3. M-x cmake-ts-mode > 4. Insert the following text: > if(TRUE) > message("indent") > endif() > 5. Move the point to the beginning of the second line. > 6. TAB > 7. Notice that no indentation is performed. >=20 > treesit-simple-indent-rules local value: > ((cmake > ((node-is ")") > parent-bol 0) > ((node-is "else_command") > parent-bol 0) > ((node-is "elseif_command") > parent-bol 0) > ((node-is "endforeach_command") > parent-bol 0) > ((node-is "endfunction_command") > parent-bol 0) > ((node-is "endif_command") > parent-bol 0) > ((parent-is "foreach_loop") > parent-bol cmake-ts-mode-indent-offset) > ((parent-is "function_def") > parent-bol cmake-ts-mode-indent-offset) > ((parent-is "if_condition") > parent-bol cmake-ts-mode-indent-offset) > ((parent-is "normal_command") > parent-bol cmake-ts-mode-indent-offset))) >=20 > treesit-explore-mode shows: > (if_condition > (if_command (if) ( > (argument_list > (argument (unquoted_argument))) > )) > (body > (normal_command (identifier) ( > (argument_list > (argument > (quoted_argument " (quoted_element) "))) > ))) > (endif_command (endif) ( ))) >=20 Thanks for the report, I'll take a look tonight. From debbugs-submit-bounces@debbugs.gnu.org Tue Oct 31 22:46:30 2023 Received: (at 66845) by debbugs.gnu.org; 1 Nov 2023 02:46:30 +0000 Received: from localhost ([127.0.0.1]:49605 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qy1FW-00082Q-4N for submit@debbugs.gnu.org; Tue, 31 Oct 2023 22:46:30 -0400 Received: from mail-4018.proton.ch ([185.70.40.18]:57341) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qy1FT-000827-2s for 66845@debbugs.gnu.org; Tue, 31 Oct 2023 22:46:29 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rjt.dev; s=protonmail; t=1698806745; x=1699065945; bh=9zfUqoxhKBSrqlggfD0qpCSIfeR+LPRXfXOu2iTMUJE=; h=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References: Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID: Message-ID:BIMI-Selector; b=AcUT1oyXRjzadFrdCUPXewcNoMhN5zN/t7t4fZwhattOvwizeX9ipzvqgb0pRJ1pM IhciKHd4I+cEXm4OlyxKQiwqEzq3TG74dLYph6wmvuIGJeo+Xz6jhe7JeaqsCXdquf VLCkMUSfqZIrOyZYhl6gVH3xO02WH8VMD0wqb3c0lX5fMM60V6cow+WwajEQUoBCG2 4CYBkCXdClM3skyeO/b8r+ISTB8J0lxKZ2nsQ1Jv4mAoNgWI40ur9AEthYQPa1mTP2 RQSWqaQ4N8GZYTOnZQpEX9kJO7bhkgokShcTmIIoIESsm6Zh5bYlQHUWwTSDRlD20h c4RHBhcvZdVwA== Date: Wed, 01 Nov 2023 02:45:26 +0000 To: Juan Palacios From: Randy Taylor Subject: Re: bug#66845: 29.1; cmake-ts-mode indentation broken Message-ID: <4m1KSu7eJ_B7nNCVOnvZM_edTrQhMTtxiKFwUB4zNoYufrWuTYcq_tL1iIRml2xqDRdTDavJBnE7B4iNmswVLwzGXI96E_FNcXkCeDqUzVo=@rjt.dev> In-Reply-To: References: Feedback-ID: 44397038:user:proton MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="b1_yZRPEuPn2C5cFkv1G3JmWjjaMeRMNwWtMj0UfzhI" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 66845 Cc: 66845@debbugs.gnu.org, Yuan Fu 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 (-) This is a multi-part message in MIME format. --b1_yZRPEuPn2C5cFkv1G3JmWjjaMeRMNwWtMj0UfzhI Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable On Tuesday, October 31st, 2023 at 07:35, Juan Palacios wrote: > Using cmake grammar from https://github.com/uyha/tree-sitter-cmake >=20 > Reproduction: > 1. emacs -q > 2. C-x C-f test.cmake > 3. M-x cmake-ts-mode > 4. Insert the following text: > if(TRUE) > message("indent") > endif() > 5. Move the point to the beginning of the second line. > 6. TAB > 7. Notice that no indentation is performed. >=20 > treesit-simple-indent-rules local value: > ((cmake > ((node-is ")") > parent-bol 0) > ((node-is "else_command") > parent-bol 0) > ((node-is "elseif_command") > parent-bol 0) > ((node-is "endforeach_command") > parent-bol 0) > ((node-is "endfunction_command") > parent-bol 0) > ((node-is "endif_command") > parent-bol 0) > ((parent-is "foreach_loop") > parent-bol cmake-ts-mode-indent-offset) > ((parent-is "function_def") > parent-bol cmake-ts-mode-indent-offset) > ((parent-is "if_condition") > parent-bol cmake-ts-mode-indent-offset) > ((parent-is "normal_command") > parent-bol cmake-ts-mode-indent-offset))) >=20 > treesit-explore-mode shows: > (if_condition > (if_command (if) ( > (argument_list > (argument (unquoted_argument))) > )) > (body > (normal_command (identifier) ( > (argument_list > (argument > (quoted_argument " (quoted_element) "))) > ))) > (endif_command (endif) ( ))) >=20 I've attached a patch fixing this while retaining compatibility with older grammars. 2 new versions of the grammar, v0.3.0 and v0.4.0 (and anything beyond for now) wrap things in new nodes. Yuan, It's been awhile since I've touched any tree-sitter stuff so I'm probably missing something obvious, but it seems to me like the function I've added in the patch (cmake-ts-mode--argument-list-body-offset) is working around a bug somewhere? I'm not sure why the start of line_comment is considered parent-bol for indentation. For example, with this test cmake file: (test.cmake) if(TRUE) # Comment. message("indent") endif() We get: (source_file (if_condition (if_command (if) ( (argument_list (argument (unquoted_argument))) )) (body (line_comment) (normal_command (identifier) ( (argument_list (argument (quoted_argument " (quoted_element) "))) ))) (endif_command (endif) ( )))) With cmake-ts-mode--argument-list-body-offset always returning cmake-ts-mode-indent-offset (which is what I would expect), the `parent-is "body"` rule will cause this indentation: if(TRUE) # Comment. message("indent") endif() Am I being silly or is there indeed something odd going on? --b1_yZRPEuPn2C5cFkv1G3JmWjjaMeRMNwWtMj0UfzhI Content-Type: text/x-patch; name=0001-Fix-cmake-ts-mode-indentation-Bug-66845.patch Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=0001-Fix-cmake-ts-mode-indentation-Bug-66845.patch RnJvbSA1NDQzOTZiN2FmYTU1YzRkMTJmYzZmMDMxOTgxOTkwMTc1ODJiOGRmIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBSYW5keSBUYXlsb3IgPGRldkByanQuZGV2PgpEYXRlOiBUdWUs IDMxIE9jdCAyMDIzIDIyOjA4OjI1IC0wNDAwClN1YmplY3Q6IFtQQVRDSF0gRml4IGNtYWtlLXRz LW1vZGUgaW5kZW50YXRpb24gKEJ1ZyM2Njg0NSkKCiogbGlzcC9wcm9nbW9kZXMvY21ha2UtdHMt bW9kZS5lbAooY21ha2UtdHMtbW9kZS0tYXJndW1lbnQtbGlzdC1ib2R5LW9mZnNldCk6IE5ldyBm dW5jdGlvbi4KKGNtYWtlLXRzLW1vZGUtLWluZGVudC1ydWxlcyk6IFN1cHBvcnQgdmVyc2lvbnMg djAuMy4wIGFuZCB2MC40LjAgb2YKdGhlIGdyYW1tYXIuCihjbWFrZS10cy1tb2RlLS1mb250LWxv Y2stY29tcGF0aWJpbGl0eS1mZTliNWUwKTogRml4IGRvY3N0cmluZy4KLS0tCiBsaXNwL3Byb2dt b2Rlcy9jbWFrZS10cy1tb2RlLmVsIHwgMzAgKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0t CiAxIGZpbGUgY2hhbmdlZCwgMjggaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYg LS1naXQgYS9saXNwL3Byb2dtb2Rlcy9jbWFrZS10cy1tb2RlLmVsIGIvbGlzcC9wcm9nbW9kZXMv Y21ha2UtdHMtbW9kZS5lbAppbmRleCA1M2Q0NzFjMzgxYS4uZDJkNjZhNDYxZjMgMTAwNjQ0Ci0t LSBhL2xpc3AvcHJvZ21vZGVzL2NtYWtlLXRzLW1vZGUuZWwKKysrIGIvbGlzcC9wcm9nbW9kZXMv Y21ha2UtdHMtbW9kZS5lbApAQCAtNTIsNiArNTIsMjQgQEAgY21ha2UtdHMtbW9kZS0tc3ludGF4 LXRhYmxlCiAgICAgdGFibGUpCiAgICJTeW50YXggdGFibGUgZm9yIGBjbWFrZS10cy1tb2RlJy4i KQogCisoZGVmdW4gY21ha2UtdHMtbW9kZS0tYXJndW1lbnQtbGlzdC1ib2R5LW9mZnNldCAoX24g cGFyZW50ICZyZXN0IF8pCisgICJUaGlzIG9mZnNldCBpcyB1c2VkIGZvciBhcmd1bWVudF9saXN0 IGFuZCBib2R5IG5vZGVzLgorCitGb3Igc29tZSByZWFzb24sIGEgY29tbWVudCBhZnRlciBhbiBh cmd1bWVudF9saXN0IG9yIGJvZHkgbm9kZSBjYXVzZXMKK3RoZSBuZXh0IGxpbmUgdG8gaW5kZW50 IGFzIGlmIHRoZSBjb21tZW50IHdhcyB0aGUgcGFyZW50LiBGb3IgZXhhbXBsZToKKworMSBpZiAo VFJVRSkKKzIgICAjIENvbW1lbnQuCiszICAgICBmdW5jKCkKKzQgZW5kaWYoKQorCitMaW5lIDMg aXMgaW5kZW50ZWQgYXMgaWYgdGhlIGNvbW1lbnQgKGxpbmUgMikgd2FzIHBhcmVudC1ib2wsCit3 aGVuIGxpbmUgMSBzaG91bGQgYmUgcGFyZW50LWJvbC4iCisgICh3aGVuLWxldCAobm9kZSAodHJl ZXNpdC1ub2RlLWNoaWxkIHBhcmVudCAwIHQpKQorICAgIChpZiAoc3RyaW5nLWVxdWFsICJsaW5l X2NvbW1lbnQiICh0cmVlc2l0LW5vZGUtdHlwZSBub2RlKSkKKyAgICAgICAgMAorICAgICAgY21h a2UtdHMtbW9kZS1pbmRlbnQtb2Zmc2V0KSkpCisKIChkZWZ2YXIgY21ha2UtdHMtbW9kZS0taW5k ZW50LXJ1bGVzCiAgIGAoKGNtYWtlCiAgICAgICgobm9kZS1pcyAiKSIpIHBhcmVudC1ib2wgMCkK QEAgLTYwLDYgKzc4LDE0IEBAIGNtYWtlLXRzLW1vZGUtLWluZGVudC1ydWxlcwogICAgICAoKG5v ZGUtaXMgImVuZGZvcmVhY2hfY29tbWFuZCIpIHBhcmVudC1ib2wgMCkKICAgICAgKChub2RlLWlz ICJlbmRmdW5jdGlvbl9jb21tYW5kIikgcGFyZW50LWJvbCAwKQogICAgICAoKG5vZGUtaXMgImVu ZGlmX2NvbW1hbmQiKSBwYXJlbnQtYm9sIDApCisgICAgIDs7OyBSZWxlYXNlIHYwLjQuMCB3cmFw cyBhcmd1bWVudHMgaW4gYW4gYXJndW1lbnRfbGlzdCBub2RlLgorICAgICAsQChpZ25vcmUtZXJy b3JzCisgICAgICAgICAodHJlZXNpdC1xdWVyeS1jYXB0dXJlICdjbWFrZSAnKChhcmd1bWVudF9s aXN0KSBAY2FwdHVyZSkpCisgICAgICAgICBgKCgocGFyZW50LWlzICJhcmd1bWVudF9saXN0Iikg cGFyZW50LWJvbCBjbWFrZS10cy1tb2RlLS1hcmd1bWVudC1saXN0LWJvZHktb2Zmc2V0KSkpCisg ICAgIDs7OyBSZWxlYXNlIHYwLjMuMCB3cmFwcyB0aGUgYm9keSBvZiBjb21tYW5kcyBpbnRvIGEg Ym9keSBub2RlLgorICAgICAsQChpZ25vcmUtZXJyb3JzCisgICAgICAgICAodHJlZXNpdC1xdWVy eS1jYXB0dXJlICdjbWFrZSAnKChib2R5KSBAY2FwdHVyZSkpCisgICAgICAgICBgKCgocGFyZW50 LWlzICJib2R5IikgcGFyZW50LWJvbCBjbWFrZS10cy1tb2RlLS1hcmd1bWVudC1saXN0LWJvZHkt b2Zmc2V0KSkpCiAgICAgICgocGFyZW50LWlzICJmb3JlYWNoX2xvb3AiKSBwYXJlbnQtYm9sIGNt YWtlLXRzLW1vZGUtaW5kZW50LW9mZnNldCkKICAgICAgKChwYXJlbnQtaXMgImZ1bmN0aW9uX2Rl ZiIpIHBhcmVudC1ib2wgY21ha2UtdHMtbW9kZS1pbmRlbnQtb2Zmc2V0KQogICAgICAoKHBhcmVu dC1pcyAiaWZfY29uZGl0aW9uIikgcGFyZW50LWJvbCBjbWFrZS10cy1tb2RlLWluZGVudC1vZmZz ZXQpCkBAIC04OSw4ICsxMTUsOCBAQCBjbWFrZS10cy1tb2RlLS1pZi1jb25kaXRpb25zCiAgICJD TWFrZSBpZiBjb25kaXRpb25zIGZvciB0cmVlLXNpdHRlciBmb250LWxvY2tpbmcuIikKIAogKGRl ZnVuIGNtYWtlLXRzLW1vZGUtLWZvbnQtbG9jay1jb21wYXRpYmlsaXR5LWZlOWI1ZTAgKCkKLSAg IkluZGVudCBydWxlcyBoZWxwZXIsIHRvIGhhbmRsZSBkaWZmZXJlbnQgcmVsZWFzZXMgb2YgdHJl ZS1zaXR0ZXItY21ha2UuCi1DaGVjayBpZiBhIG5vZGUgdHlwZSBpcyBhdmFpbGFibGUsIHRoZW4g cmV0dXJuIHRoZSByaWdodCBpbmRlbnQgcnVsZXMuIgorICAiRm9udCBsb2NrIGhlbHBlciwgdG8g aGFuZGxlIGRpZmZlcmVudCByZWxlYXNlcyBvZiB0cmVlLXNpdHRlci1jbWFrZS4KK0NoZWNrIGlm IGEgbm9kZSB0eXBlIGlzIGF2YWlsYWJsZSwgdGhlbiByZXR1cm4gdGhlIHJpZ2h0IGZvbnQgbG9j ayBydWxlcy4iCiAgIDs7IGhhbmRsZSBjb21taXQgZmU5YjVlMAogICAoY29uZGl0aW9uLWNhc2Ug bmlsCiAgICAgICAocHJvZ24gKHRyZWVzaXQtcXVlcnktY2FwdHVyZSAnY21ha2UgJygoYXJndW1l bnRfbGlzdCkgQGNhcHR1cmUpKQotLSAKMi40Mi4wCgo= --b1_yZRPEuPn2C5cFkv1G3JmWjjaMeRMNwWtMj0UfzhI-- From debbugs-submit-bounces@debbugs.gnu.org Thu Nov 02 15:42:58 2023 Received: (at control) by debbugs.gnu.org; 2 Nov 2023 19:42:58 +0000 Received: from localhost ([127.0.0.1]:56198 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qydak-0005OU-7a for submit@debbugs.gnu.org; Thu, 02 Nov 2023 15:42:58 -0400 Received: from mail-lj1-x230.google.com ([2a00:1450:4864:20::230]:47488) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qydai-0005OC-05 for control@debbugs.gnu.org; Thu, 02 Nov 2023 15:42:57 -0400 Received: by mail-lj1-x230.google.com with SMTP id 38308e7fff4ca-2c5056059e0so18682251fa.3 for ; Thu, 02 Nov 2023 12:42:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1698954135; x=1699558935; darn=debbugs.gnu.org; h=to:subject:message-id:date:mime-version:from:from:to:cc:subject :date:message-id:reply-to; bh=LnLZA5i28gSCYEQlnm4Lkl0nn3yXOFxG54u4y/54Dt4=; b=KYIkt1kipPy74iIWR5u8w2dzj/kwGGXJ19eZLF39UkfKraUFIrlQJcl5RDBGHvqjDm O21dPYcVrDeVR1mLGI29uR1IkiIL/8I7XE0hYjuF4ztKZmyNINrOI261haQcmIttN9oQ RJB7AY1FVh2lQ2u6uLRv1ShKi1fqyeOZTLrDq+tB5OVDNEUBbBtGfj1u+ovrWyDZmM3A 3CUa+/2l23aeqNESxHDbt55iOtC5l4Ek2FAynj4MQoOsTM0a1TgnUlIwcUrDDmpmanw5 z6fnJCSsJWTC0m7Ydr9ZOR5tcmWqQiQQs3mAoNyiLe2eMh7AG6kpXH6a/T926zFCsAmg lwSg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1698954135; x=1699558935; h=to:subject:message-id:date:mime-version:from:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=LnLZA5i28gSCYEQlnm4Lkl0nn3yXOFxG54u4y/54Dt4=; b=k0c9Z3aLYj3zXO43PdXiVcNU82opA/1WvTlRwO98RxbOFg1+iHND23V7cxtT4w5wax XILDCrSwF23+P89XY1a14Vp9QehhCupfrIxihhWVjWX6GvYFiwJN2Q1j5xZW4SbwQWuD Br62Nbic72CyO+lWSE+eJFCvDeQqSBZpOdD/w3N9uVeLi+rXFFoUP0EXj5wynDlW6LEF A8iWctG/QgHJgRuAqVjvl9ScIplWSXj0S3mgmakP9R2pi6q56j/6YF7rfyS1pPF33KzG fuqKsCo0GcULf/e0Hx7JKh6l7ZgxIfnUvNHYOfynxnwt6mdIiiKXsYcZuJI6QbOLH75k a11w== X-Gm-Message-State: AOJu0YxTaqM7IrRVwdhzS2TEkxSxwODcUNkZCYvB7OBkyCQT0h4bdwKL gKh3Si7GTA2ZU91eiXBlX8OoBFrOr0B1Jt4UIafnvVfc X-Google-Smtp-Source: AGHT+IEjUfGpdmCUfiglGqKtWywlGU76aI7yrF09oyQ9iM2ljcm/Hc/MjVjyseiv+BgakmiHkipScJamocbTFjU8g54= X-Received: by 2002:a2e:9893:0:b0:2c5:9e4:3fdd with SMTP id b19-20020a2e9893000000b002c509e43fddmr16371044ljj.27.1698954134729; Thu, 02 Nov 2023 12:42:14 -0700 (PDT) Received: from 753933720722 named unknown by gmailapi.google.com with HTTPREST; Thu, 2 Nov 2023 12:42:14 -0700 From: Stefan Kangas MIME-Version: 1.0 Date: Thu, 2 Nov 2023 12:42:14 -0700 Message-ID: Subject: To: control@debbugs.gnu.org Content-Type: text/plain; charset="UTF-8" X-Spam-Score: 2.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: tags 66845 + patch thanks Content analysis details: (2.0 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (stefankangas[at]gmail.com) 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record -0.0 SPF_PASS SPF: sender matches SPF record -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [2a00:1450:4864:20:0:0:0:230 listed in] [list.dnswl.org] 0.0 UNPARSEABLE_RELAY Informational: message has unparseable relay lines 2.0 BLANK_SUBJECT Subject is present but empty X-Debbugs-Envelope-To: control 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 (+) tags 66845 + patch thanks From debbugs-submit-bounces@debbugs.gnu.org Sun Nov 05 09:33:25 2023 Received: (at 66845) by debbugs.gnu.org; 5 Nov 2023 14:33:25 +0000 Received: from localhost ([127.0.0.1]:36386 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qzeBo-00026m-Fb for submit@debbugs.gnu.org; Sun, 05 Nov 2023 09:33:24 -0500 Received: from mail-yw1-x1135.google.com ([2607:f8b0:4864:20::1135]:46307) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qzeBm-00026Z-Li for 66845@debbugs.gnu.org; Sun, 05 Nov 2023 09:33:23 -0500 Received: by mail-yw1-x1135.google.com with SMTP id 00721157ae682-5a7afd45199so43849787b3.0 for <66845@debbugs.gnu.org>; Sun, 05 Nov 2023 06:32:45 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1699194759; x=1699799559; darn=debbugs.gnu.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=OYlqSzPMfqdFqxapyBJTIfzC0E0QlhAioUWIEhkreDY=; b=YixAS9r9qFX7GfNaU4K5v7GSzOKFsPFpJheMHf0CHBT1yti7IDWocemnEJraxuOBrH D3yOM+k0Za2oN6VSzCESD1GbV/AoWBhaYMHTGAEMTur7bHrtayKU/JKjgz/+JoA//Hd2 g63z6n0Ljtt6WhH3uDNkf11zKmVuXlX0k0y+fuxttoYRhrRCCw8FI6LA0j4yfiZDIoGA pIUbbytHnbhWjg3nKSMoDIeNt2pBVL+vP0DA7p7fVDgbOc46TZvAgmgj3z35ce4z8rXO EAspmGY6T13mStveabiuwu21ymhbsV/EuW/LtE392tgB7WTlcZdvtrkgXgxJS38PLxbC fiww== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1699194759; x=1699799559; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=OYlqSzPMfqdFqxapyBJTIfzC0E0QlhAioUWIEhkreDY=; b=Q68QDhPW8aZNK5q6MTP9+wxcnngMUcTjh/rrz8h9aLTXE6FgsR1z7BHgzHvYZPk3D7 7ybtNvhRzi51Gv7+zBTFNwDgEdvoj3t70Q2Td2URq6XXSvcBe4BxUJikku6bn21qagAW VeOcu1sCl3pQFDI/klXC5X+mfNGgCHspgmfOyY4rOQ6j6U9j+Vz7iX6IpZlnmxMgdcvk 0YuZgBQ1zbq4V8cRw8dwbEPssWYE+AN/2eBeI36QMYsq6G821dm9D9QoUJ/vuxU5uCx6 KzGDgVl63L/nsjUonKqwszty/66Ksob3krKP3YLGi5drR5FTniSpDCVF2XMvVhm73sdb ZuVg== X-Gm-Message-State: AOJu0YxUhCpnNDocraqqMJefaltLiqGefPs2zg4Mu627TbaLXW3+5w54 XWIVv/YkrNJPD6dB2dfUNQnT5UHgHPdNoh5zIQ== X-Google-Smtp-Source: AGHT+IHn6LsR6CuM2v/vRvCry3RyV0BuIdVovphSdH+qnvZ2CShrG5dYQVtX5BJID81FSrG+wB1uRKB+9ZKx8J6GoRE= X-Received: by 2002:a81:9b85:0:b0:5a7:bc79:9618 with SMTP id s127-20020a819b85000000b005a7bc799618mr6953944ywg.12.1699194759428; Sun, 05 Nov 2023 06:32:39 -0800 (PST) MIME-Version: 1.0 References: <4m1KSu7eJ_B7nNCVOnvZM_edTrQhMTtxiKFwUB4zNoYufrWuTYcq_tL1iIRml2xqDRdTDavJBnE7B4iNmswVLwzGXI96E_FNcXkCeDqUzVo=@rjt.dev> In-Reply-To: <4m1KSu7eJ_B7nNCVOnvZM_edTrQhMTtxiKFwUB4zNoYufrWuTYcq_tL1iIRml2xqDRdTDavJBnE7B4iNmswVLwzGXI96E_FNcXkCeDqUzVo=@rjt.dev> From: Juan Palacios Date: Sun, 5 Nov 2023 15:32:40 +0100 Message-ID: Subject: Re: bug#66845: 29.1; cmake-ts-mode indentation broken To: Randy Taylor Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 66845 Cc: 66845@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 (-) El mi=C3=A9, 1 nov 2023 a las 3:45, Randy Taylor () escribi=C3= =B3: > > On Tuesday, October 31st, 2023 at 07:35, Juan Palacios wrote: > > Using cmake grammar from https://github.com/uyha/tree-sitter-cmake > > > > Reproduction: > > 1. emacs -q > > 2. C-x C-f test.cmake > > 3. M-x cmake-ts-mode > > 4. Insert the following text: > > if(TRUE) > > message("indent") > > endif() > > 5. Move the point to the beginning of the second line. > > 6. TAB > > 7. Notice that no indentation is performed. > > > > treesit-simple-indent-rules local value: > > ((cmake > > ((node-is ")") > > parent-bol 0) > > ((node-is "else_command") > > parent-bol 0) > > ((node-is "elseif_command") > > parent-bol 0) > > ((node-is "endforeach_command") > > parent-bol 0) > > ((node-is "endfunction_command") > > parent-bol 0) > > ((node-is "endif_command") > > parent-bol 0) > > ((parent-is "foreach_loop") > > parent-bol cmake-ts-mode-indent-offset) > > ((parent-is "function_def") > > parent-bol cmake-ts-mode-indent-offset) > > ((parent-is "if_condition") > > parent-bol cmake-ts-mode-indent-offset) > > ((parent-is "normal_command") > > parent-bol cmake-ts-mode-indent-offset))) > > > > treesit-explore-mode shows: > > (if_condition > > (if_command (if) ( > > (argument_list > > (argument (unquoted_argument))) > > )) > > (body > > (normal_command (identifier) ( > > (argument_list > > (argument > > (quoted_argument " (quoted_element) "))) > > ))) > > (endif_command (endif) ( ))) > > > > I've attached a patch fixing this while retaining compatibility with > older grammars. 2 new versions of the grammar, v0.3.0 and v0.4.0 > (and anything beyond for now) wrap things in new nodes. I applied the patch to 29.1, and I can confirm that it's working fine. Thanks. From debbugs-submit-bounces@debbugs.gnu.org Sun Nov 05 13:16:58 2023 Received: (at 66845) by debbugs.gnu.org; 5 Nov 2023 18:16:58 +0000 Received: from localhost ([127.0.0.1]:38149 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qzhgA-0002gQ-BV for submit@debbugs.gnu.org; Sun, 05 Nov 2023 13:16:58 -0500 Received: from mail-pg1-x52e.google.com ([2607:f8b0:4864:20::52e]:43141) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qzhg8-0002gA-3a for 66845@debbugs.gnu.org; Sun, 05 Nov 2023 13:16:56 -0500 Received: by mail-pg1-x52e.google.com with SMTP id 41be03b00d2f7-5b9390d6bd3so3772814a12.0 for <66845@debbugs.gnu.org>; Sun, 05 Nov 2023 10:16:19 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1699208173; x=1699812973; darn=debbugs.gnu.org; h=to:in-reply-to:cc:references:message-id:date:subject:mime-version :from:content-transfer-encoding:from:to:cc:subject:date:message-id :reply-to; bh=/hQPBFBDBTjsFS02ddZv3o/9T9nGWhkVrTZ/a25d2eM=; b=i9VsCdAhsP/gFBsharbZz93R/iuxY2vZPvlVmFrhsw5HkNE4L80t9I9Zo6OhQ3V6tB bNvCdstMHy9xZvzD3+bhKpw/UQB+1bTX7hYPKqz0QLed+kPwgiYMRv8F+KvtyDAmLddN T/n0ZQWlKdF3cfOdpQTkGi+w+rZ1j0ltUW8fNDrvQcELrCDpUUNqRXm99sflq1LDfy1S lr+tiilCjYE1upQzHbiv5sL/Q6c/VxuGGTrgmeH1bCXmUZsDwa9P+qi+Ns11sRsEH81t KYRGOdRfPKzvBEk/r1+J4igO7NY3rhEEepWUjLVpmYF8eNIc8pr56WjxdUleqQ6ZAod/ LJtg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1699208173; x=1699812973; h=to:in-reply-to:cc:references:message-id:date:subject:mime-version :from:content-transfer-encoding:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=/hQPBFBDBTjsFS02ddZv3o/9T9nGWhkVrTZ/a25d2eM=; b=pEXrIwXNJpWFBsUwGgKgShOGncw0VUGkdnVvnqLoziaoPBfMxqO1baBqloEKQ+CoBA M7IJQepWfNP799Hc79AeDKJhE2rfE0sdClh/xcRRhuvyDJxs2Z2D//XmU4p6l+hJS9Z6 /1hVp7DOy6D5Kj1mVmm0ZccmIuzhxoebNLFDHhdUiWQDH0brNjmrrnytss6De/+KGfXf bTrmFjrK7i7hbfZIZ2d79AavOM/Ta9gfu6Ad1qQV62UreAM9lxqD63mZladQM2fgaYXB 3j/k7FQfe08BBc145KggcKUtQKmytRmxq5aRFlOCKpHrH+dZVtKfc5OnEocffIvUuqKH dZig== X-Gm-Message-State: AOJu0YwtMAOGyttcbYdoluafbNDdK4DxoG9+2TXXUFlyz1qA3xvL4cIC RcdLI+8YQaP+DcXNq60ZEIc= X-Google-Smtp-Source: AGHT+IHQ3K42LKaq7AI5GULStqqcEMyUJiBkC9S7FP4cRrkQqbL7z9UtP1s+2vBbgz1avOHyNZhGwA== X-Received: by 2002:a17:90b:1845:b0:280:963d:9cb with SMTP id mf5-20020a17090b184500b00280963d09cbmr10936235pjb.23.1699208173079; Sun, 05 Nov 2023 10:16:13 -0800 (PST) Received: from smtpclient.apple (128-092-225-098.biz.spectrum.com. [128.92.225.98]) by smtp.gmail.com with ESMTPSA id 13-20020a17090a004d00b0027782f611d1sm4728679pjb.36.2023.11.05.10.16.12 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 05 Nov 2023 10:16:12 -0800 (PST) Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable From: Fu Yuan Mime-Version: 1.0 (1.0) Subject: Re: bug#66845: 29.1; cmake-ts-mode indentation broken Date: Sun, 5 Nov 2023 10:16:02 -0800 Message-Id: References: In-Reply-To: To: Juan Palacios X-Mailer: iPhone Mail (21A360) X-Spam-Score: 3.6 (+++) 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: > 在 2023年11月5日,上午6:33,Juan Palacios 写道: > > El mié, 1 nov 2023 a las 3:45, Randy Taylor () escribió: >> >>> On Tuesday, October 31st, 2023 at 07:35, Juan Pala [...] Content analysis details: (3.6 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (casouri[at]gmail.com) 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record -0.0 SPF_PASS SPF: sender matches SPF record -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [2607:f8b0:4864:20:0:0:0:52e listed in] [list.dnswl.org] 3.6 RCVD_IN_SBL_CSS RBL: Received via a relay in Spamhaus SBL-CSS [128.92.225.98 listed in zen.spamhaus.org] X-Debbugs-Envelope-To: 66845 Cc: Randy Taylor , 66845@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 2.6 (++) 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: > 在 2023年11月5日,上午6:33,Juan Palacios 写道: > > El mié, 1 nov 2023 a las 3:45, Randy Taylor () escribió: >> >>> On Tuesday, October 31st, 2023 at 07:35, Juan Pala [...] Content analysis details: (2.6 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 3.6 RCVD_IN_SBL_CSS RBL: Received via a relay in Spamhaus SBL-CSS [128.92.225.98 listed in zen.spamhaus.org] -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [2607:f8b0:4864:20:0:0:0:52e listed in] [list.dnswl.org] 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (casouri[at]gmail.com) 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record -0.0 SPF_PASS SPF: sender matches SPF record -1.0 MAILING_LIST_MULTI Multiple indicators imply a widely-seen list manager > =E5=9C=A8 2023=E5=B9=B411=E6=9C=885=E6=97=A5=EF=BC=8C=E4=B8=8A=E5=8D=886:3= 3=EF=BC=8CJuan Palacios =E5=86=99=E9=81=93=EF=BC=9A= >=20 > =EF=BB=BFEl mi=C3=A9, 1 nov 2023 a las 3:45, Randy Taylor () e= scribi=C3=B3: >>=20 >>> On Tuesday, October 31st, 2023 at 07:35, Juan Palacios wrote: >>> Using cmake grammar from https://github.com/uyha/tree-sitter-cmake >>>=20 >>> Reproduction: >>> 1. emacs -q >>> 2. C-x C-f test.cmake >>> 3. M-x cmake-ts-mode >>> 4. Insert the following text: >>> if(TRUE) >>> message("indent") >>> endif() >>> 5. Move the point to the beginning of the second line. >>> 6. TAB >>> 7. Notice that no indentation is performed. >>>=20 >>> treesit-simple-indent-rules local value: >>> ((cmake >>> ((node-is ")") >>> parent-bol 0) >>> ((node-is "else_command") >>> parent-bol 0) >>> ((node-is "elseif_command") >>> parent-bol 0) >>> ((node-is "endforeach_command") >>> parent-bol 0) >>> ((node-is "endfunction_command") >>> parent-bol 0) >>> ((node-is "endif_command") >>> parent-bol 0) >>> ((parent-is "foreach_loop") >>> parent-bol cmake-ts-mode-indent-offset) >>> ((parent-is "function_def") >>> parent-bol cmake-ts-mode-indent-offset) >>> ((parent-is "if_condition") >>> parent-bol cmake-ts-mode-indent-offset) >>> ((parent-is "normal_command") >>> parent-bol cmake-ts-mode-indent-offset))) >>>=20 >>> treesit-explore-mode shows: >>> (if_condition >>> (if_command (if) ( >>> (argument_list >>> (argument (unquoted_argument))) >>> )) >>> (body >>> (normal_command (identifier) ( >>> (argument_list >>> (argument >>> (quoted_argument " (quoted_element) "))) >>> ))) >>> (endif_command (endif) ( ))) >>>=20 >>=20 >> I've attached a patch fixing this while retaining compatibility with >> older grammars. 2 new versions of the grammar, v0.3.0 and v0.4.0 >> (and anything beyond for now) wrap things in new nodes. >=20 Hey Randy, I just see this, sorry :-) I=E2=80=99ll have a look tonight or tomorrow. Yuan= From debbugs-submit-bounces@debbugs.gnu.org Tue Nov 07 03:26:16 2023 Received: (at 66845) by debbugs.gnu.org; 7 Nov 2023 08:26:16 +0000 Received: from localhost ([127.0.0.1]:41252 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r0HPc-0001d8-EW for submit@debbugs.gnu.org; Tue, 07 Nov 2023 03:26:16 -0500 Received: from mail-pl1-x62c.google.com ([2607:f8b0:4864:20::62c]:47489) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r0HPa-0001cv-Dv for 66845@debbugs.gnu.org; Tue, 07 Nov 2023 03:26:14 -0500 Received: by mail-pl1-x62c.google.com with SMTP id d9443c01a7336-1ccce410660so14752255ad.3 for <66845@debbugs.gnu.org>; Tue, 07 Nov 2023 00:25:36 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1699345531; x=1699950331; darn=debbugs.gnu.org; h=references:to:cc:in-reply-to:date:subject:mime-version:message-id :from:from:to:cc:subject:date:message-id:reply-to; bh=fSRGDX6Q34i2dHG9VaZFfUrJjtpB0syhWZuPu7Owwv8=; b=WjWNAiyCobDkB1ubovmKh0tbYDNYXC8ncBOpJddK1bGQq65fgZEgisX+rTpSV2YqW0 ChzayXPZ4QsP/LYD5QZy+ijKKIXJKTsvrYt1uC6QyAxjClMt0K8AeWKcM09/VqjpZC5b p0tTcpH7zeudBwKNARDQBxsDf/8oZclM/CTJC5Xe5GjttEtpUB+WJZxyuM4NYL5AQ/4M KNXrA2FSoWeMXAR1P69AHrH9wfbDkohdPuPRdxH/plTUMMwPeJr6JSYUSTHkRBn5M1rn ih8jf3cRMWxH5TV/U9BdyOu8JFvKBMRomJGzX9w19jdp8w5vQmSIV8itGfxjn+ZHl76A 61Jg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1699345531; x=1699950331; h=references:to:cc:in-reply-to:date:subject:mime-version:message-id :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=fSRGDX6Q34i2dHG9VaZFfUrJjtpB0syhWZuPu7Owwv8=; b=gCZzvu44CqbJIzFkxamoeHLCGBc+xv/yy7HEamS5LyQ6T6JPmEiyd5r82H51/5AEQ3 vQY9VyMEHqzSOqil+DKggipn0qE8K2VIFbKcJuFBSmFrVPtMZ31474m5Rd7fWG/Twd56 OYvP7buqEMAvJMPhkTpJMNNdiqqkfVc57yohvsydLaYaYExnrp07RVFCVgwVI2C3AkoR 61+IkK8yfZLR4qDyrDTZjIItUNDgqVUYWRSkEv3XxV5n2J0262qfdjRUKlagYzG3WN4r 8r1otZnkTdXySFoyjB78TBgYc460Qk6Ma659KpsxzLaL27sXT7cj3e4xmVS81KxgcKiu FQ1g== X-Gm-Message-State: AOJu0YzXfLhnLotRUqTjX/d09XOlMeMP2MHJVU1OdasCWAozM16LNIuB 3lTVd2NSZZ8HK4NUoLP3/DQ= X-Google-Smtp-Source: AGHT+IGDhdljnp8nmfBDyLe4XlxpU7yAEAv7v8c7cPwO+taB+27tQ0apo2jvryToee0Q0/WaYAWHqw== X-Received: by 2002:a17:902:e549:b0:1cc:6308:9262 with SMTP id n9-20020a170902e54900b001cc63089262mr22357117plf.15.1699345530495; Tue, 07 Nov 2023 00:25:30 -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 u14-20020a170902e5ce00b001c9b35287aesm7120391plf.88.2023.11.07.00.25.29 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 07 Nov 2023 00:25:30 -0800 (PST) From: Yuan Fu Message-Id: Content-Type: multipart/mixed; boundary="Apple-Mail=_0492FF5F-4A6E-4539-8F97-C0350A3458BC" Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3731.700.6\)) Subject: Re: bug#66845: 29.1; cmake-ts-mode indentation broken Date: Tue, 7 Nov 2023 00:25:18 -0800 In-Reply-To: <4m1KSu7eJ_B7nNCVOnvZM_edTrQhMTtxiKFwUB4zNoYufrWuTYcq_tL1iIRml2xqDRdTDavJBnE7B4iNmswVLwzGXI96E_FNcXkCeDqUzVo=@rjt.dev> To: Randy Taylor References: <4m1KSu7eJ_B7nNCVOnvZM_edTrQhMTtxiKFwUB4zNoYufrWuTYcq_tL1iIRml2xqDRdTDavJBnE7B4iNmswVLwzGXI96E_FNcXkCeDqUzVo=@rjt.dev> X-Mailer: Apple Mail (2.3731.700.6) X-Debbugs-Envelope-To: 66845 Cc: Juan Palacios , 66845@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" --Apple-Mail=_0492FF5F-4A6E-4539-8F97-C0350A3458BC Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 > On Oct 31, 2023, at 7:45 PM, Randy Taylor wrote: >=20 > On Tuesday, October 31st, 2023 at 07:35, Juan Palacios = wrote: >> Using cmake grammar from https://github.com/uyha/tree-sitter-cmake >>=20 >> Reproduction: >> 1. emacs -q >> 2. C-x C-f test.cmake >> 3. M-x cmake-ts-mode >> 4. Insert the following text: >> if(TRUE) >> message("indent") >> endif() >> 5. Move the point to the beginning of the second line. >> 6. TAB >> 7. Notice that no indentation is performed. >>=20 >> treesit-simple-indent-rules local value: >> ((cmake >> ((node-is ")") >> parent-bol 0) >> ((node-is "else_command") >> parent-bol 0) >> ((node-is "elseif_command") >> parent-bol 0) >> ((node-is "endforeach_command") >> parent-bol 0) >> ((node-is "endfunction_command") >> parent-bol 0) >> ((node-is "endif_command") >> parent-bol 0) >> ((parent-is "foreach_loop") >> parent-bol cmake-ts-mode-indent-offset) >> ((parent-is "function_def") >> parent-bol cmake-ts-mode-indent-offset) >> ((parent-is "if_condition") >> parent-bol cmake-ts-mode-indent-offset) >> ((parent-is "normal_command") >> parent-bol cmake-ts-mode-indent-offset))) >>=20 >> treesit-explore-mode shows: >> (if_condition >> (if_command (if) ( >> (argument_list >> (argument (unquoted_argument))) >> )) >> (body >> (normal_command (identifier) ( >> (argument_list >> (argument >> (quoted_argument " (quoted_element) "))) >> ))) >> (endif_command (endif) ( ))) >>=20 >=20 > I've attached a patch fixing this while retaining compatibility with > older grammars. 2 new versions of the grammar, v0.3.0 and v0.4.0 > (and anything beyond for now) wrap things in new nodes. >=20 > Yuan, > It's been awhile since I've touched any tree-sitter stuff so I'm > probably missing something obvious, but it seems to me like the > function I've added in the patch > (cmake-ts-mode--argument-list-body-offset) is working around a bug > somewhere? I'm not sure why the start of line_comment is considered > parent-bol for indentation. >=20 > For example, with this test cmake file: (test.cmake) > if(TRUE) > # Comment. > message("indent") > endif() >=20 > We get: > (source_file > (if_condition > (if_command (if) ( > (argument_list > (argument (unquoted_argument))) > )) > (body (line_comment) > (normal_command (identifier) ( > (argument_list > (argument > (quoted_argument " (quoted_element) "))) > ))) > (endif_command (endif) ( )))) >=20 > With cmake-ts-mode--argument-list-body-offset always returning > cmake-ts-mode-indent-offset (which is what I would expect), the > `parent-is "body"` rule will cause this indentation: > if(TRUE) > # Comment. > message("indent") > endif() >=20 > Am I being silly or is there indeed something odd going = on?<0001-Fix-cmake-ts-mode-indentation-Bug-66845.patch> IMO it makes more sense to use prev-sibling: ,@(ignore-errors (treesit-query-capture 'cmake '((body) @capture)) `(((parent-is "body") prev-sibling 0))) This would allow users to manually adjust the indentation of a line and = have the rest of the body follow that. As for why parent-bol returns the BOL of the comment line, that=E2=80=99s = expected: The parent is body, and body starts at the comment, so of = course the beginning of the parent line is the beginning of the comment = line. In the image below, the highlighted portion marks the body node. Some tree-sitter grammar would mark the beginning of body at the end of = if(TRUE), but what tree-sitter-cmake does here is equally valid. --Apple-Mail=_0492FF5F-4A6E-4539-8F97-C0350A3458BC Content-Disposition: inline; filename="Screenshot 2023-11-07 at 12.21.36 AM.png" Content-Type: image/png; name="Screenshot 2023-11-07 at 12.21.36 AM.png" Content-Transfer-Encoding: base64 iVBORw0KGgoAAAANSUhEUgAAAoAAAAHVCAYAAABhZkr6AAAAAXNSR0IArs4c6QAAAJZlWElmTU0A KgAAAAgABAEaAAUAAAABAAAAPgEbAAUAAAABAAAARgEoAAMAAAABAAIAAIdpAAQAAAABAAAATgAA AAAAAACQAAAAAQAAAJAAAAABAASShgAHAAAAEgAAAISgAQADAAAAAQABAACgAgAEAAAAAQAAAoCg AwAEAAAAAQAAAdUAAAAAQVNDSUkAAABTY3JlZW5zaG90bhxmDAAAAAlwSFlzAAAWJQAAFiUBSVIk 8AAAAqlpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6 bnM6bWV0YS8iIHg6eG1wdGs9IlhNUCBDb3JlIDYuMC4wIj4KICAgPHJkZjpSREYgeG1sbnM6cmRm PSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICAgICAgPHJk ZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDov L25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9u cy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHRpZmY6WVJlc29sdXRpb24+MTQ0PC90 aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4xNDQ8L3RpZmY6WFJl c29sdXRpb24+CiAgICAgICAgIDx0aWZmOlJlc29sdXRpb25Vbml0PjI8L3RpZmY6UmVzb2x1dGlv blVuaXQ+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4xMDE2PC9leGlmOlBpeGVsWURp bWVuc2lvbj4KICAgICAgICAgPGV4aWY6VXNlckNvbW1lbnQ+U2NyZWVuc2hvdDwvZXhpZjpVc2Vy Q29tbWVudD4KICAgICAgICAgPGV4aWY6UGl4ZWxYRGltZW5zaW9uPjEzODQ8L2V4aWY6UGl4ZWxY RGltZW5zaW9uPgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgPC9yZGY6UkRGPgo8L3g6eG1w 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 fVE9d5gfn84xPJBXXPblw89t00MfCrS5AEQ+9WfZTTfddMv01O/m66677sZ/+Zd/uf5xj3vcc6Yn gTdM0CzoKPJoyqTE0+Ir1r54+pWnz4dWeWVJ4W3a2Zf25LO+WaxoeZb2MC25Miku4O23eGXSuSCb bKApa/WRKU+qXKofqDhl9pNOsHNwyLSB0mp/Kz2U269UOxaOfMVcqD4LxPlcqDHHOLfvDIw1se74 jDyty9OLE2qsiXVHO/Mk735IvzZkKV/qq4PikwZVnryyLPCQ0cDVjz71kXp1SeXB0ZKi84OuxSOz yUuVQ1sy9nXHS+wBT9Fz3MaADtorIHryNWPqW2ztI0fGBKGpl0/9BJkLHXXE5vzhM1Z5sdpWWnHp B1v7leJHvXxSeH0n1Y/Y1BkrsuT1pW3awJODxCeftvDoqh45zXFTD++4M6h8aZNUiLb09akOWv3S pym3n36Q6avy1bbqa18/2NnAiFNP32Ys0NQr11a8VB+VVr0+lUu1oy8PzU/GsHZNYI9d2up/Eh/k At6WWGVJ9ZkUffbl8ZUNOa1FkSk3BrH6QZ+8em21V742T+DxW30jpzlu6uEddwaVL22SCtGWvj7V Qatf+jTl9tMPMn1VvtqCS2zFq8POBoYPTb19ZfpJPby2ysHb9LGL6kc7qXb05aH50RbZ2jUBFru0 RWZTT195YsUl1Sap9mnruNVWbKX4qzGIwVeLV6at9lv01l/GYXzVjn6OkX70nfrkHSt9wnOMsIXa 6GcM1BW92gKcH+2hjq0sMfpv4aos7fS1RMHjv7ae/ADXMjpQnmV2YdRL0x6ZcvlWv+o8MP6+D70H LXlk+dFPlWmrnBgv42tq2My/BZx7Wx4ZLceyL8VXbY6PXB+V1wY9B8hW+8j10TqQyqTg0x99m37s ayNFvstWbOL0m7qerNpl37i0tZ9+lfUotuITo0yKDr7VWuOLU3ccW3wYn/5Spk4qpva1UV+pczTG nr047OUrVVfHoI/fbI6HTF36S6wxJU67lk3i0raOmX39QfUJb1MmRV7txTq+/cSpS5k4aOqNverT toWvdrWvP23t47eHFSMVt+RDXcab9vLSxC3ZglffslWf/lKGbWuuyvWpTfaTrz569uKwla9UXfqX X5qruvSHnbEkRQ6OlnJlyqHpTyxyWu0rg2oHb1MmRQ7favjOljh1KUusvONYjCGvNvT9pF4b8RZ1 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 i6v+005spWKSpr+Up23yia/yVl9ZtVMOlXd8+0l7ODHVto5nP3HaJk1e7FqqbWssfSRGHiqvbZVl f9eaSF/aKav9Vlw1hrRNvL6U9WjF6W9pnMRU+9Y41Rf9XXnSBuoYjlupmKTwtIrNfvJb9OFY2oKp uJRVu8TKpy95afVlv2dbx7Pf8qcPfYrZl+qnNZa+EiOf42pbZdnftSb0m2Mq04/9xDi2tGK1SXnK 9NWiFldSMdjn3iBfx+j18dNq4M2TPsWhs8lLW3L8qK8UPDLl9LNVefaT10YZY/aamJ5+p3zJ+U7j Aljjq4VJWfK6VyZFDl/7FW9RqhyqTVL5xMmj40OixVUKNvX0z0czjuP41lba87FL37NryU/TV8t/ T3Ya4+7ysUvfi60lP01fLf89meNKd+F6euW7/Ig7Lj2J/9Ow3eVjl36feZ+mrws97q7Yd+kvVLwn iUNbaS/mXXrt1uLE70tP4v80bFs+WrJ95yWe/bdVDCmTik+qrRhoKzYLVnH4qHztO07KW3bipBWv POkaTOKbPBM9rYYv/fWCU1/HrPLsJ4+dfai8csZtyRMHllZxPdkMPouXF2vfce1TfLJgGENd8uLQ 8anFqjbi9qXVvvaX/O2D1Y82UuVJezrl0rSRR0dr5XCrOfxe8nOI2nJrsD1MT17HyL420tTJo6Mx 131b+k2+5WeXPm32wWqnjVT5GqqNtGWDjlbztGSztVj+rva1j3VLtiRfGlFf0ha2p1Mu7dkiH+dO KzuHssxh8oeIQ26X/hDZXyuJqbz+pVW/1NdG2sKio91ez52MD97+HHR8teQtWZgcsPVpIIpqa9FX dRVHP2U9fpcf9LS030rO/V6DOdeqSOoCKOq9u9Wf/QxWWXWe8uTFIeODL/XKxEjV05fvYSsm+5Wn 32uOgz5jXMKbF23tY4Os9pHVwtKxKrb28UlTrn/pVtseN+3gtZEqE6dcityGjGYc8OKSilGWOHha zxc6/GtbKXqa8m3v0B994xPTo9VWO+TaiFFmX+wSToy2tY8cmT6gtB5uqz2ca7XNfmL1p//WGNVW rLbYGKe+lUErToxybaVLttqIweb2dO44N+ODErNzkyK3IaPVudW+mPSRPPqer2qrnRQ9Lfv62moO 4xPTo+K1r/PIvmNqo07fyhMnRlntI0emj14c4qC0xKVt+toiD32nHXyNpdrmGC1fKWv5U+84NU70 a8YAw+e0zx3G36eZH2yc0xp7izjnX21rX/9Vrp86pnJzpL7aV3lLnzLj1S5p4lK+N88gp93W+Oxh lEsztirLPnz2tVMmVV6fuCmHJhaeZFcZOORLfsCMNjIwMjAyMDIwMjAycH4ykMUQ+7QFGaOlLkdf kquT9vyg72FS7rhVVvu9cbRP2rJN/Wo+C5vVRjuAu3yiZwI9XJW3+voglNRTkLV8i9HOPvY0+lU2 K85+LemAtPTIWrGcdXlAWrYHygazxmfDbC/RScY4ie1eQe4BXoqppUNG23VsWrZbywv7fSHiyDHk pbtmuxa3y89J9RcijpOMcRLbk+amZ78UU0uHjDbOnW0e+M48yUsPUW1uLa5tfXrS48ShDXSpuVeC gaeIUyZFV5vYKqe/a8yKES+tevo09IlRBqVVXZW19BVDv9d69j38opwEno+21m8Pl/LkM9aUJy+m 93SuYmtfOxJddfqWql+D1eY4lHFO9cDvEYRj51w1T91SfOK024fuY5vY5Ot46qRVf5I+PmmtfJzm eNVX7W+j2H6fD136Pw5PTLQLnaftqBfm27yfZK76OE7E+9gmNvk6rjpp1Z+kj0/ahV4TS3M5H7rt LPvfS2NitZSnvtf9Nbvi2N/jeou1Y7fWSh1FDD7zCSE4dWnTklW7lm2129V3zIpTXulaXLXr9l1I XcAxFfv6beGrrPYNLeXJo6dfZdqpJ6lipIlJ3uIwZWt5fJ/0APZ89OQZ2xpMD9+zXSPvYXKs0+ZP Mua+tolPPueEnFaPf+KT36JP9r3G3xrMyaI4tM6xkj9EbM/DmqPUn4Q/yZg92148iU8+8WvkPUz6 OW3+JGPua5v45HNOyGl1XSQ++S36ZN9r/K3BnCyKQ+scK/lDxIvmuZPz25dnvdQ1kz7UQXs57fnQ Vn+1j7zKar9lC4ZYWq1n38KulvUGW+1gAbjLt3onRr/KcK9MvpekigOfTb00dfA9uTj1UGOosSvH Bt6+tshpyre98T0yMDKwNgPj3FmbqYEbGTiagRe2c4d4aXX/3EoP91j70rSTT517uLJK06bHa5P6 nqyFAYt8Vyw9n8pPRHuJPZHTMN7lPye/hE1d8jHUAVv12ZeXHhh1mCUcujyAS9iWe+1bupSJk6JL PrHJr8EkPnltK03MWl4fa/Hg0gae1juJttqjNsq000fK5R1Lqvw49Dg+tJGuGVesFBt42lKeEr9F H367lg8lRzltpUe1+/VO6mOtvTgpUSbfi1qMtIdbkmsrXcL2dMexTRt42tKaQJ829G239zVh3FLj XqJipWDhaUt5SvwWffh9e8/TYaT9Y50YeOcrTVnFZl+8NHVr+ZZtzXH263FTl3TX2GLrq97qWz8t ecqS1yap+tZcEwcvtspP3Gfw891aY/Qm3cIaX+pISH0dmz4T27JXBk1s8omp/FpctWv18dU7wD1d T57+E9PjE7+GTz8tfE+P3MZcW7iWTBvokr6n68nX+F1jm36S32Xb0yO37bsmtFuiOW6PX7Jv6dLP Pnrn6jzTj7y05RfZkr6n68lzjMT0+MSv4dNPC9/TI7fd3s4d46q0N5eKa/V32fb0NU/H8d2yUZbj 9nixa2n6adn09MhpL67nTj0PennaZuncb/OmpvZ78h4OfNXVfvXZi7nKe370dyLqQjqRkxXG+4yz hEXHJ5PSw4tTj408ISdP35Zy+WordhfFXtuMuWWXY6VeHymrfMXYl4JPPu1bcmQ0Y5efhfHVsg11 l03/gPQj7RqexaI3n9pId9lqBw4bWpVlf4s4jNE+NMdMPjEn4Wt8jiFd8p2Y9JPynn0Lkz6wa2GW 5L2xUp4+5aWJqzwYWj1ua23TThspfpOnb2vJkdHwmfwsjK+Wbai7bPWpH2nXcFKc1LbmybGU92Jo yVOWvD6lSzoxLYodrca2xl9i0k/Kt97P/W5h0gcWLcyS/NxRzpWkT3npuehDCRiaedr2+jGqh1b/ 9qUtjPaJUXY+KU/2eGjEPHOu8LtiSfwEP9KqrvYB67+lO+KsdPbFF/Pd3dP6fwHvHmmbhDU4MSSt 1UiKCa2Y2k/7JR24nj4PQvLVxrhyzMGPDIwMjAyMDIwMjAycPAO5x9a9GO8pk4cmn1EoTxk8cuqB nh4MTf0uvHpterXG7PTsl75Tdur8hSwACX7NxHOSa/AtTEuWfuWXcEs67aEcKA+WPBR76cQe4MSq tw+m1cSlriXDjx+x4nIMZLSUwYtFl7w4Mejhq7zqxUGzaafMsTKu9K9efNL01cK1ZPrWto6r/5Qr wyZ9Jq8/sLtsq15b/dl3XH06Pv2K0TZtxEjTT5VVn+grxn6ldWz0KUteW2Op4yrXh3r62urPPphW E5e6lkzf6U9cleErZfBi0SUvTgx6+CqvenHQbNopcywoTd/i1G+1R7/FIG3hlCVuyX/iMh5HRa/P OuY+ttW3tvq277g5VrUVo619qH6kyMRVWeLlK8b+/9/OuehGjuww9P7/Vy+4fc8soVG9XGV3p6MC Er1ISiU7k8ZgdqNFUzwd1T3nPlzhlNeJ/2YNPHVx+BKeumspHw84z2c5tF0PXMxJy3PywarmPriR Fa91on4LR55exJmdwYinu2SnlXfsbA/nXPJnhrkk3CFd6TnDiZgYd0b687B4YXpYatJ3vPtgVuwu v9eLWTPMnX2zfp+c6+3pk+c+PdtPeyfunLf3TtzZ9/QzvVuvt6e7ez+t37vrT3sn7pz3xJ5a85HH 6h2Qv3Jm8Rkuy8XeMxhxfE+znNjrUhz/Q4pLIoukeEFdfnTEibzIiZgYR7zHjsWX5ZAjlqXuNfyR he+4LKc6+f+7f+JYIwZPLIsfNRT7y6e4haeGzXDksn7i6VDrWXRejDYHvajlvFgjzrhei3XiTDur kZMmum7JY10X7siiB4442lZdeQ4cxb13wnHCeuy+ajrKed79fwGGoZZZ5ciLhy8b5411xRzXcY1W HQx1WXKxr2s73jlg0ADn+VhzTNSKMTojDjx6YZ1HLtqMC8ZrMZdpg6eGFZcvx5Bz65yI7cXOk55O tOQ8j/8vwTiKr7wT4kVNcp53X3Ud5fgijtbrsRbnjXXFHNeRr4PFJ45YYqzjyUUrjE7MK9ZxG/8m 9IX473tL4z/E3x4cKsT0JR8tuJgfxSPdEX+5rof/zqP+2Qs4mom5R1xwruecrO7YkR+19ABXNHng KxxmWu0Fb8fuzKu+V2fe7btz5yvcnXnfxb1yT3FW5xXe33di7Owcq31dd7WXc6/6O/Oq59WZd/te ue/VWel1lb9z16s9mfmKXZ03zkiMnZ1hta/rrvZy7lXf56V/zKHtv5PJzVj0HJvlvB79FXycc4Ub +16On/43gK1B/RdCC3Min/XxB5HVT/R1Dfpd6QXX9T7RPzHnCY1P3E02085dd7jZLJ+c466yqwfu Ku9p/Ik5T2g8fe+r/XbuusO9Ou8V3ok50ZBdPXBXeZ+C14crvzcftnr3AjNzB7DS8z4r3Bnsccyn fADMLpYtMuYUx4ebacVc1GnV0cZG3Kl4NE+vz8xsO/pZ7x29d3Fn9vQtd93ZcbaDmdxOz3dxZ96J ndmyve3ovYs7s6dvuevOjrMdzOR2er6LO/NO7Mw2s7cZjObkaB6Pyctyn6zeuodje9reRz56zo+Y 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 --Apple-Mail=_0492FF5F-4A6E-4539-8F97-C0350A3458BC Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=us-ascii Yuan --Apple-Mail=_0492FF5F-4A6E-4539-8F97-C0350A3458BC-- From debbugs-submit-bounces@debbugs.gnu.org Tue Nov 07 12:22:50 2023 Received: (at 66845) by debbugs.gnu.org; 7 Nov 2023 17:22:50 +0000 Received: from localhost ([127.0.0.1]:43234 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r0Pmr-0007kJ-OI for submit@debbugs.gnu.org; Tue, 07 Nov 2023 12:22:50 -0500 Received: from mail-4022.proton.ch ([185.70.40.22]:59375) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r0Pmn-0007k3-Qc for 66845@debbugs.gnu.org; Tue, 07 Nov 2023 12:22:48 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rjt.dev; s=protonmail; t=1699377718; x=1699636918; bh=rc0dqhrYRHHmgiJnqdyVZcGcA79n5j5dWw3SatCbEFg=; h=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References: Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID: Message-ID:BIMI-Selector; b=q90mY6R+ZoOvzIs67YBk/Z6SFZUbEK06TYkI+bxTKN2WqlOkl6qvBzVYRILHQ+Cup +W8jOA+uabaMx4Bx8zgc3IT7aWsYqoHIxEsEmu43ZHTinDDoPNO4AWG6LWNLHifsON AOPWSBATdngFowwrAuEj6tsvxRr5C2Og4Yy7TF2oybl7WMLxhVzKRjbHTh40uj0JM3 CbbbbTK9p3vgHTiSN5XE3KWBfNe9VxngTOZ91j2k/e6bkl0uENriSkYw3U8G2kYB3I ckXdjCYX/LicjBjZYCNGBo4qsFPK+C2sq0GE9nO2mPjNP+uJwTjfwd6ACenZl/9lRu XVVwwuyOVo1BQ== Date: Tue, 07 Nov 2023 17:21:44 +0000 To: Yuan Fu From: Randy Taylor Subject: Re: bug#66845: 29.1; cmake-ts-mode indentation broken Message-ID: In-Reply-To: References: <4m1KSu7eJ_B7nNCVOnvZM_edTrQhMTtxiKFwUB4zNoYufrWuTYcq_tL1iIRml2xqDRdTDavJBnE7B4iNmswVLwzGXI96E_FNcXkCeDqUzVo=@rjt.dev> Feedback-ID: 44397038:user:proton MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="b1_yP1lrACqVqekfc63c3k7nId12U2a5b5bygJcP2wCYU" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 66845 Cc: Juan Palacios , 66845@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 (-) This is a multi-part message in MIME format. --b1_yP1lrACqVqekfc63c3k7nId12U2a5b5bygJcP2wCYU Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable On Tuesday, November 7th, 2023 at 03:25, Yuan Fu wrote: > IMO it makes more sense to use prev-sibling: >=20 > ,@(ignore-errors > (treesit-query-capture 'cmake '((body) @capture)) > `(((parent-is "body") prev-sibling 0))) >=20 > This would allow users to manually adjust the indentation of a line and h= ave the rest of the body follow that. This would be much more elegant but unfortunately that and my previous patc= h failed to account for the following: 1 if(TRUE) # Comment. 2 endif() And place POINT at the end of line 1 and hit RET. It will indent to the sta= rt of the comment :(. However, you gave me an idea: use the grand-parent as= the anchor (which in this case is the if - exactly what we want). I've att= ached a new patch which accounts for that. Juan, thanks for testing the first patch. Please give this new one a whirl = if you're able to. >=20 > As for why parent-bol returns the BOL of the comment line, that=E2=80= =99s expected: The parent is body, and body starts at the comment, so of co= urse the beginning of the parent line is the beginning of the comment line.= In the image below, the highlighted portion marks the body node. >=20 > Some tree-sitter grammar would mark the beginning of body at the end of i= f(TRUE), but what tree-sitter-cmake does here is equally valid. Thanks, I understand what's happening now. Whenever line_comment is NOT the= first child, the beginning of body is at the end of if(TRUE). If line_comm= ent is the first child, then the beginning of body is at the start of the c= omment. I was expecting them to behave the same - that's why I was so confu= sed, and I don't really understand why it was done that way. --b1_yP1lrACqVqekfc63c3k7nId12U2a5b5bygJcP2wCYU Content-Type: text/x-patch; name=0001-Fix-cmake-ts-mode-indentation-Bug-66845.patch Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=0001-Fix-cmake-ts-mode-indentation-Bug-66845.patch RnJvbSBlZTQwMDUzMzY1NWJjYmUwYzgwM2RkZTliYThkZWQ5NWY5ZDZkMWU1IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBSYW5keSBUYXlsb3IgPGRldkByanQuZGV2PgpEYXRlOiBUdWUs IDMxIE9jdCAyMDIzIDIyOjA4OjI1IC0wNDAwClN1YmplY3Q6IFtQQVRDSF0gRml4IGNtYWtlLXRz LW1vZGUgaW5kZW50YXRpb24gKEJ1ZyM2Njg0NSkKCiogbGlzcC9wcm9nbW9kZXMvY21ha2UtdHMt bW9kZS5lbAooY21ha2UtdHMtbW9kZS0taW5kZW50LXJ1bGVzKTogU3VwcG9ydCB2ZXJzaW9ucyB2 MC4zLjAgYW5kIHYwLjQuMCBvZgp0aGUgZ3JhbW1hci4KKGNtYWtlLXRzLW1vZGUtLWZvbnQtbG9j ay1jb21wYXRpYmlsaXR5LWZlOWI1ZTApOiBGaXggZG9jc3RyaW5nLgotLS0KIGxpc3AvcHJvZ21v ZGVzL2NtYWtlLXRzLW1vZGUuZWwgfCAxNCArKysrKysrKysrKy0tLQogMSBmaWxlIGNoYW5nZWQs IDExIGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbGlzcC9wcm9n bW9kZXMvY21ha2UtdHMtbW9kZS5lbCBiL2xpc3AvcHJvZ21vZGVzL2NtYWtlLXRzLW1vZGUuZWwK aW5kZXggNTNkNDcxYzM4MWEuLjhmY2RjYWRkYzdiIDEwMDY0NAotLS0gYS9saXNwL3Byb2dtb2Rl cy9jbWFrZS10cy1tb2RlLmVsCisrKyBiL2xpc3AvcHJvZ21vZGVzL2NtYWtlLXRzLW1vZGUuZWwK QEAgLTYzLDcgKzYzLDE1IEBAIGNtYWtlLXRzLW1vZGUtLWluZGVudC1ydWxlcwogICAgICAoKHBh cmVudC1pcyAiZm9yZWFjaF9sb29wIikgcGFyZW50LWJvbCBjbWFrZS10cy1tb2RlLWluZGVudC1v ZmZzZXQpCiAgICAgICgocGFyZW50LWlzICJmdW5jdGlvbl9kZWYiKSBwYXJlbnQtYm9sIGNtYWtl LXRzLW1vZGUtaW5kZW50LW9mZnNldCkKICAgICAgKChwYXJlbnQtaXMgImlmX2NvbmRpdGlvbiIp IHBhcmVudC1ib2wgY21ha2UtdHMtbW9kZS1pbmRlbnQtb2Zmc2V0KQotICAgICAoKHBhcmVudC1p cyAibm9ybWFsX2NvbW1hbmQiKSBwYXJlbnQtYm9sIGNtYWtlLXRzLW1vZGUtaW5kZW50LW9mZnNl dCkpKQorICAgICAoKHBhcmVudC1pcyAibm9ybWFsX2NvbW1hbmQiKSBwYXJlbnQtYm9sIGNtYWtl LXRzLW1vZGUtaW5kZW50LW9mZnNldCkKKyAgICAgOzs7IFJlbGVhc2UgdjAuNC4wIHdyYXBzIGFy Z3VtZW50cyBpbiBhbiBhcmd1bWVudF9saXN0IG5vZGUuCisgICAgICxAKGlnbm9yZS1lcnJvcnMK KyAgICAgICAgICh0cmVlc2l0LXF1ZXJ5LWNhcHR1cmUgJ2NtYWtlICcoKGFyZ3VtZW50X2xpc3Qp IEBjYXB0dXJlKSkKKyAgICAgICAgIGAoKChwYXJlbnQtaXMgImFyZ3VtZW50X2xpc3QiKSBncmFu ZC1wYXJlbnQgY21ha2UtdHMtbW9kZS1pbmRlbnQtb2Zmc2V0KSkpCisgICAgIDs7OyBSZWxlYXNl IHYwLjMuMCB3cmFwcyB0aGUgYm9keSBvZiBjb21tYW5kcyBpbnRvIGEgYm9keSBub2RlLgorICAg ICAsQChpZ25vcmUtZXJyb3JzCisgICAgICAgICAodHJlZXNpdC1xdWVyeS1jYXB0dXJlICdjbWFr ZSAnKChib2R5KSBAY2FwdHVyZSkpCisgICAgICAgICBgKCgocGFyZW50LWlzICJib2R5IikgZ3Jh bmQtcGFyZW50IGNtYWtlLXRzLW1vZGUtaW5kZW50LW9mZnNldCkpKSkpCiAgICJUcmVlLXNpdHRl ciBpbmRlbnQgcnVsZXMgZm9yIGBjbWFrZS10cy1tb2RlJy4iKQogCiAoZGVmdmFyIGNtYWtlLXRz LW1vZGUtLWNvbnN0YW50cwpAQCAtODksOCArOTcsOCBAQCBjbWFrZS10cy1tb2RlLS1pZi1jb25k aXRpb25zCiAgICJDTWFrZSBpZiBjb25kaXRpb25zIGZvciB0cmVlLXNpdHRlciBmb250LWxvY2tp bmcuIikKIAogKGRlZnVuIGNtYWtlLXRzLW1vZGUtLWZvbnQtbG9jay1jb21wYXRpYmlsaXR5LWZl OWI1ZTAgKCkKLSAgIkluZGVudCBydWxlcyBoZWxwZXIsIHRvIGhhbmRsZSBkaWZmZXJlbnQgcmVs ZWFzZXMgb2YgdHJlZS1zaXR0ZXItY21ha2UuCi1DaGVjayBpZiBhIG5vZGUgdHlwZSBpcyBhdmFp bGFibGUsIHRoZW4gcmV0dXJuIHRoZSByaWdodCBpbmRlbnQgcnVsZXMuIgorICAiRm9udCBsb2Nr IGhlbHBlciwgdG8gaGFuZGxlIGRpZmZlcmVudCByZWxlYXNlcyBvZiB0cmVlLXNpdHRlci1jbWFr ZS4KK0NoZWNrIGlmIGEgbm9kZSB0eXBlIGlzIGF2YWlsYWJsZSwgdGhlbiByZXR1cm4gdGhlIHJp Z2h0IGZvbnQgbG9jayBydWxlcy4iCiAgIDs7IGhhbmRsZSBjb21taXQgZmU5YjVlMAogICAoY29u ZGl0aW9uLWNhc2UgbmlsCiAgICAgICAocHJvZ24gKHRyZWVzaXQtcXVlcnktY2FwdHVyZSAnY21h a2UgJygoYXJndW1lbnRfbGlzdCkgQGNhcHR1cmUpKQotLSAKMi40Mi4xCgo= --b1_yP1lrACqVqekfc63c3k7nId12U2a5b5bygJcP2wCYU-- From debbugs-submit-bounces@debbugs.gnu.org Tue Nov 07 15:12:18 2023 Received: (at 66845) by debbugs.gnu.org; 7 Nov 2023 20:12:18 +0000 Received: from localhost ([127.0.0.1]:43317 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r0SQs-0003lu-6j for submit@debbugs.gnu.org; Tue, 07 Nov 2023 15:12:18 -0500 Received: from mail-yb1-xb2b.google.com ([2607:f8b0:4864:20::b2b]:52285) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r0SQq-0003li-Dm for 66845@debbugs.gnu.org; Tue, 07 Nov 2023 15:12:17 -0500 Received: by mail-yb1-xb2b.google.com with SMTP id 3f1490d57ef6-da2e786743aso6330280276.0 for <66845@debbugs.gnu.org>; Tue, 07 Nov 2023 12:11:38 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1699387892; x=1699992692; darn=debbugs.gnu.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=TJLDjYKVtfbugj1/va+vdWHZZ/yGxS+khnAdFc+7ep4=; b=maqmOs4Y7nL3zDTakl6osQB1+c1gnxHqN4sfxewKTyyr5gOLdGmjdBEF+uLqoNFjW2 pjGu3qyqaVmgK/UtZAg/1FPAnhYa8yh6rHhWV5yumpuOILkzA1eu0rLJCbLXzeB1A8hr WIjswmioqydEJDZCR179dvBP8Xubku5BV1wJc3v6ccSz0uxVGpoWPbLfoz/UWaBHMmQg b1pX/Oufcf6CKKfkRbG7hy23rL+O2XdA6Pm7qYnJDcb/s526CSf6QHwECMYULpiPGy57 2/Ra6fEI8Ospo/3jepgS1fSbOwTFmMb1ogeQJFjT7mZva+9sYxClxIko8fwwMd+Lu92C 880A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1699387892; x=1699992692; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=TJLDjYKVtfbugj1/va+vdWHZZ/yGxS+khnAdFc+7ep4=; b=POOCqBi8ILPMWCDIODUCUACxZjdSocj+iojBOM0X0Os0ydxT9Yex1CvHH4YUd23DcG qLg6Hh+Axud3MIOQRTfWxnbI8wNWlc443X9V/qKpZBQa+OQMLMKwZ4rL1AgPMNcjs8wV 4wQXuCxwT5n3h32NUD5n6b3uS0qU4NUGfQcmT6lgcM41fbplO2sAnUA0uvLWAUVFcAMH tO42HV6HdHVwT6TcUiaXref6QcKyt+1aVBrGPa1tfBQzahxbpzVQxtInrb1fRIvJ1Md7 CQr9bD6ZSbEasDjPn1wt+QyE6LETrM6b9++ULUfNvnhTF+MuHqgscGWXnpw8YYaA11AR TV0A== X-Gm-Message-State: AOJu0YySM9TcosSFRI29d0i7z9NTaysuMSHaJGkAdG1LiN+A2RXsuLqw 2kCKkNXdqhO6eqEvOQkPBwN5jjW+IIgltCRIvg== X-Google-Smtp-Source: AGHT+IGfr0Z55o7wKrv9fftjyKtquubk5UrbLe6FD4yIc5QWP1GGA3X1rMLyd/+24w5JrdiMDCNdiaErmRMvX8eS8oQ= X-Received: by 2002:a25:42c1:0:b0:da0:c9bc:5877 with SMTP id p184-20020a2542c1000000b00da0c9bc5877mr27181927yba.18.1699387892552; Tue, 07 Nov 2023 12:11:32 -0800 (PST) MIME-Version: 1.0 References: <4m1KSu7eJ_B7nNCVOnvZM_edTrQhMTtxiKFwUB4zNoYufrWuTYcq_tL1iIRml2xqDRdTDavJBnE7B4iNmswVLwzGXI96E_FNcXkCeDqUzVo=@rjt.dev> In-Reply-To: From: Juan Palacios Date: Tue, 7 Nov 2023 21:11:37 +0100 Message-ID: Subject: Re: bug#66845: 29.1; cmake-ts-mode indentation broken To: Randy Taylor Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 66845 Cc: Yuan Fu , 66845@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 (-) El mar, 7 nov 2023 a las 18:22, Randy Taylor () escribi=C3=B3: > > On Tuesday, November 7th, 2023 at 03:25, Yuan Fu wrot= e: > > IMO it makes more sense to use prev-sibling: > > > > ,@(ignore-errors > > (treesit-query-capture 'cmake '((body) @capture)) > > `(((parent-is "body") prev-sibling 0))) > > > > This would allow users to manually adjust the indentation of a line and= have the rest of the body follow that. > > This would be much more elegant but unfortunately that and my previous pa= tch failed to account for the following: > > 1 if(TRUE) # Comment. > 2 endif() > > And place POINT at the end of line 1 and hit RET. It will indent to the s= tart of the comment :(. However, you gave me an idea: use the grand-parent = as the anchor (which in this case is the if - exactly what we want). I've a= ttached a new patch which accounts for that. > > Juan, thanks for testing the first patch. Please give this new one a whir= l if you're able to. This patch is working fine. Thank you! From debbugs-submit-bounces@debbugs.gnu.org Tue Nov 07 21:53:33 2023 Received: (at 66845) by debbugs.gnu.org; 8 Nov 2023 02:53:33 +0000 Received: from localhost ([127.0.0.1]:43810 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r0YhB-0000bi-DY for submit@debbugs.gnu.org; Tue, 07 Nov 2023 21:53:33 -0500 Received: from mail-pl1-x634.google.com ([2607:f8b0:4864:20::634]:46352) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r0Yh9-0000bS-Gn for 66845@debbugs.gnu.org; Tue, 07 Nov 2023 21:53:32 -0500 Received: by mail-pl1-x634.google.com with SMTP id d9443c01a7336-1cc37fb1310so46197775ad.1 for <66845@debbugs.gnu.org>; Tue, 07 Nov 2023 18:52:53 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1699411967; x=1700016767; 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=/7R+4e74z82cgVUxdJpO416UyjryrtLCh/bfr5a/xGM=; b=VnkTn0N20wnQ4B4Fypg0GsikpGjRcLSTmpUgc2MvczrcpkuN3x4H4SKu9BTHCcuGf8 dgt4J2o99vvaROpfusGnQlS9f4AY5akgz1z1JykiiPJ9YT6R3mlkroRiRE4ezbhyC70t P3QMzEBeiwZq+uIdv6l6b5lwUwZmdV6CKscyV9I58NwgLTrzMkXxKnqs0cp9REJLpc6J Y3XcKwonY+VADiz8cBz4f9FQ99VVgckprCkwY9yKDF2KKHPWQgsrWjCIdLdHy4DwNVw2 XOZQi33e1yBZGVu5bq9uymyISrDkD9wjKuR6zGHJxImTO8+QJ4uBAFzNdNrQpYEmOh4T 4lng== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1699411967; x=1700016767; 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=/7R+4e74z82cgVUxdJpO416UyjryrtLCh/bfr5a/xGM=; b=LVrK2bQ7UI78L272Ywj573r2wDAiTVjZ7B9vHQDkjBz5uQOW/OF/rVH9WLBS56xUVi rlCC0AP3qrlJL0MHllsL68iT/dyAx39AhdnOgGJZknlRd+ZW6mXidHMyML/v29airJmr xdTyDreqiw0WwfUCs1yl56G6Yy9/805w31EQaQCp4TSicFzr1b0p2/46R4qVXNhcMN9x GSEdm8xAnSxdmpQbFBIxIqqwJR4ckXC4sDqGYAHW65L8DNTkEn5PFIPSHcLHEe6VetDI my03RAU7N0P7nwZK3tA6sAAZW59O+Uv/qCPR5soQMQpwTYEgMcfnJYERGQFDcF61sZ6y 18Ew== X-Gm-Message-State: AOJu0YwZiqAUqE/c+FYtXm2l1J8mNAQRfkFvLcUu8Z/Q/ly/I0nh8JMA ZcRWppCZNRxvkLkQAAhz2A4= X-Google-Smtp-Source: AGHT+IE/D/2ANyduZ4Tj3eo0pfsU9r389jTy8RBASb8fxXiK340rj+vcVNXWS/Oo7cq5hTWPG4+dVA== X-Received: by 2002:a17:902:d315:b0:1cc:5296:10e4 with SMTP id b21-20020a170902d31500b001cc529610e4mr827382plc.22.1699411967203; Tue, 07 Nov 2023 18:52:47 -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 q9-20020a170902dac900b001cc32f46757sm521375plx.107.2023.11.07.18.52.46 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 07 Nov 2023 18:52:46 -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#66845: 29.1; cmake-ts-mode indentation broken From: Yuan Fu In-Reply-To: Date: Tue, 7 Nov 2023 18:52:35 -0800 Content-Transfer-Encoding: quoted-printable Message-Id: <103F31BD-239C-4059-A511-BE29BBAE5DA9@gmail.com> References: <4m1KSu7eJ_B7nNCVOnvZM_edTrQhMTtxiKFwUB4zNoYufrWuTYcq_tL1iIRml2xqDRdTDavJBnE7B4iNmswVLwzGXI96E_FNcXkCeDqUzVo=@rjt.dev> To: Randy Taylor X-Mailer: Apple Mail (2.3731.700.6) X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 66845 Cc: Juan Palacios , 66845@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 7, 2023, at 9:21 AM, Randy Taylor wrote: >=20 > On Tuesday, November 7th, 2023 at 03:25, Yuan Fu = wrote: >> IMO it makes more sense to use prev-sibling: >>=20 >> ,@(ignore-errors >> (treesit-query-capture 'cmake '((body) @capture)) >> `(((parent-is "body") prev-sibling 0))) >>=20 >> This would allow users to manually adjust the indentation of a line = and have the rest of the body follow that. >=20 > This would be much more elegant but unfortunately that and my previous = patch failed to account for the following: >=20 > 1 if(TRUE) # Comment. > 2 endif() >=20 > And place POINT at the end of line 1 and hit RET. It will indent to = the start of the comment :(. However, you gave me an idea: use the = grand-parent as the anchor (which in this case is the if - exactly what = we want). I've attached a new patch which accounts for that. Ah, I was a bit rusty too. The approach I mentioned should also have a = rule for the first sibling which anchors on the parent, while the rest = siblings anchor on the previous sibling. But anchoring all on the parent = is equally valid. >=20 > Juan, thanks for testing the first patch. Please give this new one a = whirl if you're able to. >=20 >>=20 >> As for why parent-bol returns the BOL of the comment line, that=E2=80=99= s expected: The parent is body, and body starts at the comment, so of = course the beginning of the parent line is the beginning of the comment = line. In the image below, the highlighted portion marks the body node. >>=20 >> Some tree-sitter grammar would mark the beginning of body at the end = of if(TRUE), but what tree-sitter-cmake does here is equally valid. >=20 > Thanks, I understand what's happening now. Whenever line_comment is = NOT the first child, the beginning of body is at the end of if(TRUE). If = line_comment is the first child, then the beginning of body is at the = start of the comment. I was expecting them to behave the same - that's = why I was so confused, and I don't really understand why it was done = that way.<0001-Fix-cmake-ts-mode-indentation-Bug-66845.patch> You=E2=80=99re right. That=E2=80=99s a strange behavior. We should = probably report to tree-sitter-cmake. Yuan= From debbugs-submit-bounces@debbugs.gnu.org Tue Nov 07 22:43:45 2023 Received: (at 66845) by debbugs.gnu.org; 8 Nov 2023 03:43:45 +0000 Received: from localhost ([127.0.0.1]:43853 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r0ZTl-00022z-2A for submit@debbugs.gnu.org; Tue, 07 Nov 2023 22:43:45 -0500 Received: from mail-4018.proton.ch ([185.70.40.18]:31377) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r0ZTi-00022f-37 for 66845@debbugs.gnu.org; Tue, 07 Nov 2023 22:43:43 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rjt.dev; s=protonmail; t=1699414977; x=1699674177; bh=FQjrhsmpbElOic0xo2wYjUPeKCnY7oukYmcVAQoF3/M=; h=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References: Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID: Message-ID:BIMI-Selector; b=wNnZLVnCqUExWg3O2MwqluHW1qmmrxoz31Y/bShVSa4unYQ+XFTSynOKiYpqNJNea CEHtbwyNbheIeSyS7/FRkLDFgOnRvMgPoPzIiq/SxI9k6Q/G9cAsX/yMm2AofnbHal K5TvADGGihxM+RNEkCsaU14mpC9fPjSlNHMzjPBzNOuI8JcCcFI8Zdjl/S+5d1q5y+ otnhSsD0I7LNimpd8F0mYioUpp7tfAtv3P0dA8HaM0oxgv9vbbOviaNh/P9N7gB44w D/5dGHwiYA3wDw3BZHTi/eJihXv5NyKW45HUh/UdFTBlDh2sbSDAHndEj+GpcVGEmS F11B1wW157uoA== Date: Wed, 08 Nov 2023 03:42:37 +0000 To: Yuan Fu From: Randy Taylor Subject: Re: bug#66845: 29.1; cmake-ts-mode indentation broken Message-ID: In-Reply-To: <103F31BD-239C-4059-A511-BE29BBAE5DA9@gmail.com> References: <4m1KSu7eJ_B7nNCVOnvZM_edTrQhMTtxiKFwUB4zNoYufrWuTYcq_tL1iIRml2xqDRdTDavJBnE7B4iNmswVLwzGXI96E_FNcXkCeDqUzVo=@rjt.dev> <103F31BD-239C-4059-A511-BE29BBAE5DA9@gmail.com> Feedback-ID: 44397038:user:proton MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 66845 Cc: Juan Palacios , 66845@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 Tuesday, November 7th, 2023 at 21:52, Yuan Fu wrote: >=20 > > On Nov 7, 2023, at 9:21 AM, Randy Taylor dev@rjt.dev wrote: > >=20 > > On Tuesday, November 7th, 2023 at 03:25, Yuan Fu casouri@gmail.com wrot= e: > >=20 > > > IMO it makes more sense to use prev-sibling: > > >=20 > > > ,@(ignore-errors > > > (treesit-query-capture 'cmake '((body) @capture)) > > > `(((parent-is "body") prev-sibling 0))) > > >=20 > > > This would allow users to manually adjust the indentation of a line a= nd have the rest of the body follow that. > >=20 > > This would be much more elegant but unfortunately that and my previous = patch failed to account for the following: > >=20 > > 1 if(TRUE) # Comment. > > 2 endif() > >=20 > > And place POINT at the end of line 1 and hit RET. It will indent to the= start of the comment :(. However, you gave me an idea: use the grand-paren= t as the anchor (which in this case is the if - exactly what we want). I've= attached a new patch which accounts for that. >=20 >=20 > Ah, I was a bit rusty too. The approach I mentioned should also have a ru= le for the first sibling which anchors on the parent, while the rest siblin= gs anchor on the previous sibling. But anchoring all on the parent is equal= ly valid. I see. Could you (or someone else) install the patch to emacs-29? >=20 > > Juan, thanks for testing the first patch. Please give this new one a wh= irl if you're able to. > >=20 > > > As for why parent-bol returns the BOL of the comment line, that= =E2=80=99s expected: The parent is body, and body starts at the comment, so= of course the beginning of the parent line is the beginning of the comment= line. In the image below, the highlighted portion marks the body node. > > >=20 > > > Some tree-sitter grammar would mark the beginning of body at the end = of if(TRUE), but what tree-sitter-cmake does here is equally valid. > >=20 > > Thanks, I understand what's happening now. Whenever line_comment is NOT= the first child, the beginning of body is at the end of if(TRUE). If line_= comment is the first child, then the beginning of body is at the start of t= he comment. I was expecting them to behave the same - that's why I was so c= onfused, and I don't really understand why it was done that way.<0001-Fix-c= make-ts-mode-indentation-Bug-66845.patch> >=20 >=20 > You=E2=80=99re right. That=E2=80=99s a strange behavior. We should probab= ly report to tree-sitter-cmake. I will try to get around to that sometime next week. From debbugs-submit-bounces@debbugs.gnu.org Wed Nov 08 07:34:34 2023 Received: (at 66845-done) by debbugs.gnu.org; 8 Nov 2023 12:34:34 +0000 Received: from localhost ([127.0.0.1]:44166 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r0hlR-000503-Oi for submit@debbugs.gnu.org; Wed, 08 Nov 2023 07:34:34 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:33626) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r0hlP-0004zr-KQ for 66845-done@debbugs.gnu.org; Wed, 08 Nov 2023 07:34:32 -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 1r0hkd-0006dT-1s; Wed, 08 Nov 2023 07:33:45 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=udJUVjqxo1LYye5LekMQKAhaiZgTWjTJneHUebHdk/M=; b=fqxFY3clLNmP RWVmHm2MHABLg7OuR3g0FMumcXgujqh5a8D7Vt5MGRpjCkjz/rUPf39APS9RWrj0oEL9lzHN/guR1 rFLp8vn86CxmSqL9tG8CCCtmQfjqOenoHArn5o9V/2Ky1jLmhO1jhAzIydHYn4BkAFbI8T6Gl7cIg 0DfJMGasOwmloF6G4NgjXgWYj2HAPG037gl/XVKHE+xuYd7bZjllkLCcbGXnfHc1AEhunKNw6PQk1 7qcAVmiha70+p9r/YscCsfh7p/FTCoowKvc1m6WNnq9qLRcTYtU1h9zK7YUjEmgCXIyQXA62QVEgi Xq3qc28lea6a9QOpL8I0iw==; Date: Wed, 08 Nov 2023 14:33:31 +0200 Message-Id: <83o7g41l2c.fsf@gnu.org> From: Eli Zaretskii To: Randy Taylor In-Reply-To: (message from Randy Taylor on Wed, 08 Nov 2023 03:42:37 +0000) Subject: Re: bug#66845: 29.1; cmake-ts-mode indentation broken References: <4m1KSu7eJ_B7nNCVOnvZM_edTrQhMTtxiKFwUB4zNoYufrWuTYcq_tL1iIRml2xqDRdTDavJBnE7B4iNmswVLwzGXI96E_FNcXkCeDqUzVo=@rjt.dev> <103F31BD-239C-4059-A511-BE29BBAE5DA9@gmail.com> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 66845-done Cc: jpalaciosdev@gmail.com, casouri@gmail.com, 66845-done@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > Cc: Juan Palacios , 66845@debbugs.gnu.org > Date: Wed, 08 Nov 2023 03:42:37 +0000 > From: Randy Taylor > > > Ah, I was a bit rusty too. The approach I mentioned should also have a rule for the first sibling which anchors on the parent, while the rest siblings anchor on the previous sibling. But anchoring all on the parent is equally valid. > > I see. > > Could you (or someone else) install the patch to emacs-29? Done, thanks. From unknown Sat Jun 21 10:32:28 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Thu, 07 Dec 2023 12:24:07 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator