From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Gregory Heytings Newsgroups: gmane.emacs.devel Subject: Re: Do shorthands break basic tooling (tags, grep, etc)? (was Re: Shorthands have landed on master) Date: Thu, 30 Sep 2021 11:46:00 +0000 Message-ID: <25d8d72022e1ea7ed022@heytings.org> References: <16338bdc2497fc51c6fb6d54ab370bfb@webmail.orcon.net.nz> <874ka5gsqa.fsf@gnus.org> <25d8d72022b571db5291@heytings.org> <87h7e2xsl5.fsf@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; format=flowed; charset=us-ascii Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="16319"; mail-complaints-to="usenet@ciao.gmane.io" Cc: psainty@orcon.net.nz, Lars Ingebrigtsen , emacs-devel@gnu.org, Richard Stallman , joaotavora@gmail.com To: =?UTF-8?Q?Andr=C3=A9_A=2E_Gomes?= Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Thu Sep 30 13:48:56 2021 Return-path: Envelope-to: ged-emacs-devel@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 1mVuYZ-00040s-5U for ged-emacs-devel@m.gmane-mx.org; Thu, 30 Sep 2021 13:48:55 +0200 Original-Received: from localhost ([::1]:46490 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mVuYY-0008Fc-94 for ged-emacs-devel@m.gmane-mx.org; Thu, 30 Sep 2021 07:48:54 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:36266) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mVuVs-0006PD-Qp for emacs-devel@gnu.org; Thu, 30 Sep 2021 07:46:09 -0400 Original-Received: from heytings.org ([95.142.160.155]:58238) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mVuVn-00052s-Fa; Thu, 30 Sep 2021 07:46:08 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=heytings.org; s=20210101; t=1633002360; bh=+hQvHx8jPb4wXXHu2zLvm5RQCNvjG8H0cHBI7nEKqJU=; h=Date:From:To:cc:Subject:In-Reply-To:Message-ID:References:From; b=WOjFcHGKtMnRus6fh9esfaTeXuURb8+iIpJwp8fIJuBkHp9MpAQDmBM7Jn1J+ajfy ROC5syZrRjGqy3L5tTgyYB2r0zIyyf+PPTE19YyuDy4INj19qkDr2NAGQ5fQ1g52/3 ipIn5NnPfZoN0/4W7iF7qzojaGYaBV3wafSPpKooQ4bGoAuzU6NMeHCE8wsMJ5qMTL oW3h0g0T1hzMFZ7DnoecBnhowdp6DpbceLDhcw6zmqksZFOLI0fdA9OunFfNB86ydk 44Z/Xl9SHz3qUEV92YZ7PqsTSefHs/Oewxkq5AGuuTV4/MaFBW1cLEoGBzMOnVATMT gYA5FYVcAPt8g== In-Reply-To: <87h7e2xsl5.fsf@gmail.com> Received-SPF: pass client-ip=95.142.160.155; envelope-from=gregory@heytings.org; helo=heytings.org 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, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:275878 Archived-At: >> A simple example: suppose you want to check which ELPA package >> activates tab-bar-mode. That's easy to do with "grep -R tab-bar-mode" >> in a clone of the ELPA repository. With symbol prefix renaming, a >> package author might decide to add ("tb-" . "tab-bar-") in the >> shorthands of the package, and "grep -R tab-bar-mode" will not show >> anything. Likewise for tag systems, the symbols that are recorded will >> possibly be different in each package, and a search for tab-bar-mode >> will not return occurrences of tb-mode. > > I don't think this is a problem. Grep comes the world of Unix and its > mantras. But Lisp REPLs come from another world. > > Using grep and tag systems to reason about a Lisp program is like eating > soup with a fork. You can do it > You could do it for Emacs 1 up to and including Emacs 28. > > but it's the wrong tool. > And what is/what are the "right" tool(s) for the above use case? I agree with you on one point: in some cases grep/tags are not the best tools, because they will not display all actual matches. This is not only true for Lisp, it's also true for plain C, in which tokens can be the result of preprocessing. But they are (much used) tools on programmer's workbenches, and if something can be done to avoid breaking them, or at least to make it easier to adapt them to the change, that would be better.