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: master 1e3b0f2: Improve doc strings of project.el Date: Tue, 07 Jul 2020 18:04:47 +0300 Message-ID: <837dvfs6wg.fsf@gnu.org> References: <87bllfqj82.fsf@warpmail.net> <83o8pfxhzq.fsf@gnu.org> <83imfnxgt3.fsf@gnu.org> <626efe11-0f9c-081b-11dd-0d61cee8168d@yandex.ru> <83h7v7xf7w.fsf@gnu.org> <831rmayj55.fsf@gnu.org> <6dc2c2ac-8e17-f044-dc78-8c109f936ad2@yandex.ru> <83wo42w83e.fsf@gnu.org> <6762abf5-71c1-aa54-1bac-d4c90c20870b@yandex.ru> <831rmavsuq.fsf@gnu.org> <83a70wv4mj.fsf@gnu.org> <5542db0c-cc0d-2743-87ae-7728a0cc94bb@yandex.ru> <83ftaf2rj2.fsf@gnu.org> <43a8f8d4-83fb-f012-8e1d-c1a618b0ef59@yandex.ru> <83mu4m0vub.fsf@gnu.org> <44f2f1f4-ae34-f0bf-b153-f33b8ee6069f@yandex.ru> <83mu4fvjh3.fsf@gnu.org> <7c2e93d4-8d86-bbbb-77a0-bf5d73051907@yandex.ru> <83imf2t4w4.fsf@gnu.org> <95fd893e-0da5-4cdc-a3e8-3c22af750aae@yandex.ru> Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="20711"; mail-complaints-to="usenet@ciao.gmane.io" Cc: philip@warpmail.net, theo@thornhill.no, emacs-devel@gnu.org To: Dmitry Gutov Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Tue Jul 07 17:05:48 2020 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 1jspAJ-0005GL-A0 for ged-emacs-devel@m.gmane-mx.org; Tue, 07 Jul 2020 17:05:47 +0200 Original-Received: from localhost ([::1]:44464 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jspAI-0002xe-A8 for ged-emacs-devel@m.gmane-mx.org; Tue, 07 Jul 2020 11:05:46 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:43946) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jsp9E-0000p8-QB for emacs-devel@gnu.org; Tue, 07 Jul 2020 11:04:42 -0400 Original-Received: from fencepost.gnu.org ([2001:470:142:3::e]:47499) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jsp9E-0002z5-0S; Tue, 07 Jul 2020 11:04:40 -0400 Original-Received: from [176.228.60.248] (port=2178 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1jsp9C-0002m5-El; Tue, 07 Jul 2020 11:04:39 -0400 In-Reply-To: <95fd893e-0da5-4cdc-a3e8-3c22af750aae@yandex.ru> (message from Dmitry Gutov on Sun, 5 Jul 2020 22:45:19 +0300) 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:252741 Archived-At: > Cc: theo@thornhill.no, philip@warpmail.net, emacs-devel@gnu.org > From: Dmitry Gutov > Date: Sun, 5 Jul 2020 22:45:19 +0300 > > >> - Since project is not a minor mode, we don't call it in major mode > >> hooks. Which, by itself, is probably a good thing (causing no > >> unnecessary work/slowdown). But that means that in the middle of any > >> session we could have 100s of buffers that don't have any cached project > >> value. > > > > We have project-find-file and other similar project-* commands that > > could cache that as side effect. > > That would still potentially leave hundreds of buffers in which said > commands have never been used. I don't see how this would happen. But we can cross that bridge if we ever get to it. > >> - A project configuration can change mid-session (due to a customization > >> of some user option, or due to an edit in some .dir-locals.el). Or > >> simply due to 'git init'. As a result, a given file's current project > >> can change. It will be good to be able to support that without > >> necessitating Emacs' restart or requiring manual cache invalidation. > > > > I don't see how you can avoid some user command which would mean a > > project configuration change. Alternatively, this could be solved > > lazily, when the cached value is found to be outdated. > > Speaking of standards set by other editors, have you ever seen an IDE > with an "invalidate project cache" button? I haven't. I didn't say anything about a need for such a knob. You are probably misinterpreting what I wrote above. > > We don't need to solve every possible complication up front before we > > decide that a method is workable, we just need to have a vague idea > > how it could be solved when the time comes. > > As mentioned, I have that "vague idea" now. Then why are we still arguing? > Though it will also only scale up to a certain number of > buffers/directories. I think you are wrong when you fear this scalability problem; I don't think it exists.