From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: =?utf-8?Q?Andr=C3=A9_A=2E_Gomes?= Newsgroups: gmane.emacs.devel Subject: Re: A read-based grep-like for symbols (el-search?) (was Do shorthands break basic tooling (tags, grep, etc)? (was Re: Shorthands have landed on master)) Date: Mon, 04 Oct 2021 18:57:47 +0300 Message-ID: <87h7dweq9w.fsf@gmail.com> References: <25d8d72022b571db5291@heytings.org> <87h7e2xsl5.fsf@gmail.com> <25d8d72022e1ea7ed022@heytings.org> <87fstl7lzw.fsf@web.de> <87a6jt7ilx.fsf@web.de> <87fstlzlaq.fsf@gmail.com> <20211001070242.GC16352@tuxteam.de> <87a6jsohbs.fsf@gmail.com> <875yugofxy.fsf@gmail.com> <79846850-25e0-b0cc-e59f-26f346c1e64d@yandex.ru> <87y27c42rz.fsf@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="39696"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) Cc: tomas@tuxteam.de, emacs-devel , Dmitry Gutov To: =?utf-8?B?Sm/Do28gVMOhdm9yYQ==?= Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Mon Oct 04 17:59:29 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 1mXQNE-000A1m-OP for ged-emacs-devel@m.gmane-mx.org; Mon, 04 Oct 2021 17:59:28 +0200 Original-Received: from localhost ([::1]:44520 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mXQND-0006de-Kr for ged-emacs-devel@m.gmane-mx.org; Mon, 04 Oct 2021 11:59:27 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:46924) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mXQLi-0004Sd-8D for emacs-devel@gnu.org; Mon, 04 Oct 2021 11:57:54 -0400 Original-Received: from mail-lf1-x12e.google.com ([2a00:1450:4864:20::12e]:36630) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1mXQLf-0004Rd-47 for emacs-devel@gnu.org; Mon, 04 Oct 2021 11:57:53 -0400 Original-Received: by mail-lf1-x12e.google.com with SMTP id b20so74134343lfv.3 for ; Mon, 04 Oct 2021 08:57:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version:content-transfer-encoding; bh=WByGFDrc37oi3T8Xo3YJtawNbhtQnEhHm1aq5VFKVZ4=; b=WqgXLcYVnahw20bR7olrTMcWHtkDgcLdsafJhgAaTJQWlPwBYaIdt5ofsN9hndDsJo GbS64G5vOIP0NtO8xlZbmnV2ZRBJbYh2fi8svk8M1JrskNsVKi1rF1BPtlpnLeTg/BRO K1dnBYIcq61khXq5Hy6JlYFXzMWLmHaFmsbki2BwYii0Fp4b9HfGyyvpx5APabu5G17s oovDx1+x+UqDJFQ7DZzl98CqpaubN0ZhbVy8K6Iq2vdZuF8VI9blJiLZ4zWIMaXhDTFN 9CQVJfYO4kW7/KRS1wHRumyA80gbyM2xa8s9qtYsPuhLGuyTM/l6JEmgy9aCREfXSVFT x0Lw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to :message-id:user-agent:mime-version:content-transfer-encoding; bh=WByGFDrc37oi3T8Xo3YJtawNbhtQnEhHm1aq5VFKVZ4=; b=mnbc8Ih1R2F1NxlGDFO9TnI+4X114xKdz1UsWqhkaVIPq0fjKlE4WMF/W0PPB22SyX +vbMR+BV+p1MBoh+OKpE4lDCF//WpoB3xafQMZoImHU4M0nTbudstYvF/wVORf3k+6+d MLGGAQoKtr/kn0yEJg868M90f9g20qGatkAAHleLcx7muTYJ5ku/x5EDJzZUGujRS/zL XfHhPvJj/zTMj1xv1dmot0vjRWQyYyZJ7i2Mq8jkjP3I0cTHnEwqxJsCGb9KhrCOcQr3 5ZcUzSK07/U8pdkU7i7EdpEAJa/3NtL8IkdJM2dRR9AfitQ7z3IquaYXR1wf2xiC7bcp Ue6g== X-Gm-Message-State: AOAM533IKdwXX9GL4APd75Wsi4A91kOFVp7a+vWadNlPao2Co5mYSjyr qx7YwvCV7yJH090xxZ9cQq0G2Rd634s= X-Google-Smtp-Source: ABdhPJx41HH50AHXsFzp8MUY93CHMCa2Fpn9T2diJzMGknQ3CQjnWwok+gtHu1/p9U1RNqMbJ1l7NA== X-Received: by 2002:ac2:4e47:: with SMTP id f7mr15283701lfr.615.1633363068776; Mon, 04 Oct 2021 08:57:48 -0700 (PDT) Original-Received: from guix-xps13 (95-29-46-61.broadband.corbina.ru. [95.29.46.61]) by smtp.gmail.com with ESMTPSA id c9sm1674883ljk.53.2021.10.04.08.57.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 04 Oct 2021 08:57:48 -0700 (PDT) In-Reply-To: <87y27c42rz.fsf@gmail.com> (=?utf-8?Q?=22Jo=C3=A3o_T=C3=A1vor?= =?utf-8?Q?a=22's?= message of "Sat, 02 Oct 2021 02:46:24 +0100") Received-SPF: pass client-ip=2a00:1450:4864:20::12e; envelope-from=andremegafone@gmail.com; helo=mail-lf1-x12e.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 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:276219 Archived-At: Jo=C3=A3o T=C3=A1vora writes: > Anyway, the reason I'm reasonably confident this _can_ be done is also > because this _has_ been done, in Common Lisp implementations. That's > were xref.el comes from, ultimately. They use even more advanced stuff, > like macroexpansion, so they catch the make-foo of defstruct. Some > implementations have even more advanced stuff like proper who-calls, > who-sets, who-macroexpands. They've had it for decades! Have a look at > SLIME or Sly and plug them to SBCL or Allegro Common Lisp, for example. Sadly, things don't change much over decades Jo=C3=A3o! Take a look at what John Rose says regarding sophisticated programming environments (like SLIME and Sly) and "good old" grep. This an excerpt of a message from 1987. Here's a fragment. #begin_quote When a LispM[achine] loads code into its memory, it loads a lot of debugging information too. For example, each function records the names of its arguments and local variables, the names of all macros expanded to produce its code, documentation strings, and sometimes an interpreted definition, just for good measure. Oh, each function also remembers which file it was defined in. You have no idea how useful this is: there=E2=80=99s an editor command called =E2=80=9Cmeta-point=E2=80=9D that immediately transfers you to the source o= f any function, without breaking your stride. ANY function, not just one of a special predetermined set. Likewise, there=E2=80=99s a key that causes the calling sequence of a function to be displayed instantly. Logged into a Sun for the last few days, my Meta-Point reflex has continued unabated, but it is completely frustrated. The program that I am working on has about 80 files. If I want to edit the code of a function Foo, I have to switch to a shell window and grep for named Foo in various files. Then I have to type in the name of the appropriate file. Then I have to correct my spelling error. Finally I have to search inside the file. What used to take five seconds now takes a minute or two. (But what=E2=80=99s an order of magnitude between friends?)= By this time, I really want to see the Sun at its best, so I=E2=80=99m tempted= to boot it a couple of times. #end_quote Take a look at http://www.art.net/~hopkins/Don/unix-haters/preface.html for more. I may eat soup with a fork, but at least I admit it's worse. -- Andr=C3=A9 A. Gomes "Free Thought, Free World"