From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.bugs Subject: bug#61208: 29.0.60; treesit-beginning/end-of-defun problem with macros in c-ts-mode Date: Wed, 01 Feb 2023 14:49:47 +0200 Message-ID: <834js51rf8.fsf@gnu.org> References: Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="38875"; mail-complaints-to="usenet@ciao.gmane.io" Cc: yang.yingchao@qq.com, 61208@debbugs.gnu.org To: yingchao.yang@seaboxdata.com, Yuan Fu , Theodor Thornhill Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Wed Feb 01 13:51:23 2023 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1pNCaB-0009pa-8J for geb-bug-gnu-emacs@m.gmane-mx.org; Wed, 01 Feb 2023 13:51:23 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pNCZw-0007wx-Pc; Wed, 01 Feb 2023 07:51:09 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pNCZr-0007vg-56 for bug-gnu-emacs@gnu.org; Wed, 01 Feb 2023 07:51:03 -0500 Original-Received: from debbugs.gnu.org ([209.51.188.43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pNCZq-00048n-SM for bug-gnu-emacs@gnu.org; Wed, 01 Feb 2023 07:51:02 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1pNCZq-0005GM-9V for bug-gnu-emacs@gnu.org; Wed, 01 Feb 2023 07:51:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 01 Feb 2023 12:51:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 61208 X-GNU-PR-Package: emacs Original-Received: via spool by 61208-submit@debbugs.gnu.org id=B61208.167525580520161 (code B ref 61208); Wed, 01 Feb 2023 12:51:02 +0000 Original-Received: (at 61208) by debbugs.gnu.org; 1 Feb 2023 12:50:05 +0000 Original-Received: from localhost ([127.0.0.1]:56805 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pNCYv-0005F6-AG for submit@debbugs.gnu.org; Wed, 01 Feb 2023 07:50:05 -0500 Original-Received: from eggs.gnu.org ([209.51.188.92]:56776) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pNCYq-0005EU-Gy for 61208@debbugs.gnu.org; Wed, 01 Feb 2023 07:50:04 -0500 Original-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 1pNCYh-0003kR-GZ; Wed, 01 Feb 2023 07:49:51 -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=kpyLKJmo6WjBIs1dwKrPT/EWyRbw3Pn0ItNpCOetXlg=; b=Ea6/793cZXhA 5zQiEJGmlDomkMq2efBatOKmh1UHjnazm0mVVTHuldeX1glVqhcsGuTxc/8Dul+vE+KhZMwTtDo/k 7fl4jIl6gT/LoqXkVFAzhgGrXofOYUel5ombHljVPFGe4FLDKjt2cI780d/dAstlZMtosl9M/Gblz BKzjUfpSDV1jy/4AG6F8kTztyYrIJq6NwW+sc8ZKFcHUVibYxT97nR4hP1bsp/WICguw9CqtWm9z8 /NkF8S2KU17+kyxoxlqMhE2MUtV9PmnyJ8Jgb9q/fwOb9iNwxHM/zW/g3k26mNkAeIm490NDUW4W9 BcAwDq3awmdVxY67tczw2Q==; Original-Received: from [87.69.77.57] (helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pNCYf-0005je-Bh; Wed, 01 Feb 2023 07:49:50 -0500 In-Reply-To: (bug-gnu-emacs@gnu.org) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.bugs:254574 Archived-At: > Cc: yang.yingchao@qq.com > Date: Wed, 01 Feb 2023 14:33:24 +0800 > From: Yang Yingchao via "Bug reports for GNU Emacs, > the Swiss army knife of text editors" > > > #define SWITCH() > #define CASE(name) case name: > > void func(int i) // LINE_E > { > SWITCH(i) // LINE_D > { > CASE(A) // LINE_C > { > ; > } > CASE(B) // LINE_B > { > ; // LINE_A > } > } > } > > When cursor is at LINE_A, and stoke `C-M-a`, cursor will go to LINE_B; > then `C-M-a` again, cursor goes to LINE_C, then `C-M-a` again, LINE_D, > and `C-M-a` again, finally to LINE_E... Set treesit-defun-tactic to 'top-level, and your problem is solved. Yuan, Theo: do we want to have that set by default in ts-c-mode? C doesn't have nested functions, so it should be a better default, what with all the cpp madness that the C grammar doesn't grok. Maybe also in C++ and Java -- AFAIU they don't have nested functions either. WDYT?