From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Stefan Monnier Newsgroups: gmane.emacs.help Subject: Re: Exploring a code base? Date: Tue, 27 Oct 2020 19:15:52 -0400 Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="36798"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) To: help-gnu-emacs@gnu.org Cancel-Lock: sha1:K7ahZ5vVsw8lCrO6Zap2VItRr1s= Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane-mx.org@gnu.org Wed Oct 28 00:16:59 2020 Return-path: Envelope-to: geh-help-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 1kXYD4-0009UA-Vl for geh-help-gnu-emacs@m.gmane-mx.org; Wed, 28 Oct 2020 00:16:58 +0100 Original-Received: from localhost ([::1]:51788 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kXYD4-0000wo-0L for geh-help-gnu-emacs@m.gmane-mx.org; Tue, 27 Oct 2020 19:16:58 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:43506) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kXYCC-0000wa-M5 for help-gnu-emacs@gnu.org; Tue, 27 Oct 2020 19:16:05 -0400 Original-Received: from static.214.254.202.116.clients.your-server.de ([116.202.254.214]:60734 helo=ciao.gmane.io) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kXYCA-00030S-Ln for help-gnu-emacs@gnu.org; Tue, 27 Oct 2020 19:16:04 -0400 Original-Received: from list by ciao.gmane.io with local (Exim 4.92) (envelope-from ) id 1kXYC6-0008Li-3O for help-gnu-emacs@gnu.org; Wed, 28 Oct 2020 00:15:58 +0100 X-Injected-Via-Gmane: http://gmane.org/ Received-SPF: pass client-ip=116.202.254.214; envelope-from=geh-help-gnu-emacs@m.gmane-mx.org; helo=ciao.gmane.io X-detected-operating-system: by eggs.gnu.org: First seen = 2020/10/27 14:36:55 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Spam_score_int: -16 X-Spam_score: -1.7 X-Spam_bar: - X-Spam_report: (-1.7 / 5.0 requ) BAYES_00=-1.9, HEADER_FROM_DIFFERENT_DOMAINS=0.249, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: "help-gnu-emacs" Xref: news.gmane.io gmane.emacs.help:124759 Archived-At: > It depends on the programming language, but I usually rely on a compiler > to generate an index for my project in the background. IIUC Yuri's situation uses such an "index" but needs something more because the "overall goal" requires changes in various pieces of code. So while the index helps you find which pieces of code need to be changed, it doesn't necessarily help you keep track of what still needs to be done. E.g. - I change some function to use `syntax-ppss`. - now some old function `foo1` is not needed any more, so I go look at all the functions called by `foo1` to see if they're still needed. - along the way I see that `foo2`s third argument is now always nil, so I simplify `foo2's code and find that its second argument is not used any more, so I go look for all the callers to `foo2` so they don't other passing a second argument. - while doing that I see that in `foo3` I can now do some other simplification which makes `foo4` into a dead function, so I start looking at all the functions call by `foo4` to see if they're still needed. - along the way I realize that I'm late for a meeting with a student. - next day I come back to this code and wonder where I was, which part of the fallout from the simplifications from `foo1`, `foo2`, `foo3`, and `foo4` has already been done, ... Stefan