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.devel Subject: Re: Do shorthands break basic tooling (tags, grep, etc)? (was Re: Shorthands have landed on master) Date: Tue, 28 Sep 2021 09:25:48 +0300 Message-ID: <831r59kyhf.fsf@gnu.org> References: <16338bdc2497fc51c6fb6d54ab370bfb@webmail.orcon.net.nz> Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="30915"; mail-complaints-to="usenet@ciao.gmane.io" Cc: joaotavora@gmail.com, emacs-devel@gnu.org To: Phil Sainty Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Tue Sep 28 08:26:49 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 1mV6Zl-0007rs-BB for ged-emacs-devel@m.gmane-mx.org; Tue, 28 Sep 2021 08:26:49 +0200 Original-Received: from localhost ([::1]:48458 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mV6Zj-0001Dv-Ru for ged-emacs-devel@m.gmane-mx.org; Tue, 28 Sep 2021 02:26:47 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:37734) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mV6Ym-0000TA-NL for emacs-devel@gnu.org; Tue, 28 Sep 2021 02:25:49 -0400 Original-Received: from fencepost.gnu.org ([2001:470:142:3::e]:58108) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mV6Yl-0007ji-0i; Tue, 28 Sep 2021 02:25:47 -0400 Original-Received: from 84.94.185.95.cable.012.net.il ([84.94.185.95]:3481 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 1mV6Yk-0000tx-KA; Tue, 28 Sep 2021 02:25:46 -0400 In-Reply-To: <16338bdc2497fc51c6fb6d54ab370bfb@webmail.orcon.net.nz> (message from Phil Sainty on Tue, 28 Sep 2021 13:38:09 +1300) 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:275655 Archived-At: > Date: Tue, 28 Sep 2021 13:38:09 +1300 > From: Phil Sainty > Cc: emacs-devel > > This has probably been covered in earlier discussions (apologies for > not being across those), but... > > Won't this break a ton of basic tooling for locating things, if the > symbol in the file is not the actual symbol? Those tools will need to be enhanced to support shorthands, yes. And this problem is not new, we had it for a while with other Lisp constructs where generated symbols aren't literally present in the sources. For example, try M-. on a call to a constructor defined by cl-defstruct. Here's one such use case: emacs -Q M-x load-file RET lisp/profiler.el RET C-x C-f lisp/profiler.el RET C-u 10006 M-g c ;; this puts point on a call to profiler-make-calltree M-. The result is an error message. This happens to me quite a lot recently, as more and more code is converted to using cl-defstruct. > Simplicity can be a *very* good thing, and knowing that what you see > is in fact what you get is a benefit which shouldn't be undervalued, > IMO. Then I guess you dislike cl-defstruct, add-function, pcase, and other macros and features that change how the source code looks and produce symbols under the hood? > Is whatever we're gaining actually worth the resulting obfuscation? Time will tell. It currently sounds like its worth it, but as with any such feature, we could be wrong. > Long names being "tedious" (quoting the new info manual) to read > and write seems like an insufficient reason, IMHO. They are not the real reason, they are just the way to explain the feature in simple terms. The real reason is to make namespace management easier.