From unknown Thu Aug 21 14:54:10 2025 X-Loop: help-debbugs@gnu.org Subject: bug#62759: [PATCH] add support for prompting for projects by name Resent-From: Spencer Baugh Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 10 Apr 2023 19:16:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 62759 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: 62759@debbugs.gnu.org X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.168115410231827 (code B ref -1); Mon, 10 Apr 2023 19:16:02 +0000 Received: (at submit) by debbugs.gnu.org; 10 Apr 2023 19:15:02 +0000 Received: from localhost ([127.0.0.1]:35943 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1plwyj-0008Gq-9r for submit@debbugs.gnu.org; Mon, 10 Apr 2023 15:15:02 -0400 Received: from lists.gnu.org ([209.51.188.17]:59646) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1plwyh-0008GZ-Bh for submit@debbugs.gnu.org; Mon, 10 Apr 2023 15:15:00 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1plwyg-0001ZD-9S for bug-gnu-emacs@gnu.org; Mon, 10 Apr 2023 15:14:58 -0400 Received: from mxout5.mail.janestreet.com ([64.215.233.18]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1plwye-0006n2-5F for bug-gnu-emacs@gnu.org; Mon, 10 Apr 2023 15:14:57 -0400 From: Spencer Baugh Date: Mon, 10 Apr 2023 15:14:53 -0400 Message-ID: MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Received-SPF: pass client-ip=64.215.233.18; envelope-from=sbaugh@janestreet.com; helo=mxout5.mail.janestreet.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.4 (-) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.4 (--) --=-=-= Content-Type: text/plain Tags: patch This add a new function project-prompt-project-name, and a project-prompter customize variable which can be used to switch between that function and the existing project-prompt-project-dir. In GNU Emacs 29.0.60 (build 3, x86_64-pc-linux-gnu, X toolkit, cairo version 1.15.12, Xaw scroll bars) of 2023-03-13 built on igm-qws-u22796a Repository revision: e759905d2e0828eac4c8164b09113b40f6899656 Repository branch: emacs-29 Windowing system distributor 'The X.Org Foundation', version 11.0.12011000 System Description: CentOS Linux 7 (Core) Configured using: 'configure --with-x-toolkit=lucid --with-modules --with-gif=ifavailable' --=-=-= Content-Type: text/patch Content-Disposition: attachment; filename=0001-add-support-for-prompting-for-projects-by-name.patch >From e7a03ab0e74bddadf8fa349587ab60cc7f63f6c2 Mon Sep 17 00:00:00 2001 From: Spencer Baugh Date: Mon, 10 Apr 2023 15:11:06 -0400 Subject: [PATCH] add support for prompting for projects by name --- lisp/progmodes/project.el | 43 ++++++++++++++++++++++++++++++++++++--- 1 file changed, 40 insertions(+), 3 deletions(-) diff --git a/lisp/progmodes/project.el b/lisp/progmodes/project.el index 877d79353aa..e7c0bd2069b 100644 --- a/lisp/progmodes/project.el +++ b/lisp/progmodes/project.el @@ -202,6 +202,17 @@ project-current-directory-override "Value to use instead of `default-directory' when detecting the project. When it is non-nil, `project-current' will always skip prompting too.") +(defcustom project-prompter #'project-prompt-project-dir + "Function to call to prompt for a project. +Called with no arguments and should return a project root dir." + :type '(choice (const :tag "Prompt for a project directory" + project-prompt-project-dir) + (const :tag "Prompt for a project name" + project-prompt-project-name) + (function :tag "Custom function" nil)) + :group 'project + :version "30.1") + ;;;###autoload (defun project-current (&optional maybe-prompt directory) "Return the project instance in DIRECTORY, defaulting to `default-directory'. @@ -226,7 +237,7 @@ project-current (pr) ((unless project-current-directory-override maybe-prompt) - (setq directory (project-prompt-project-dir) + (setq directory (funcall project-prompter) pr (project--find-in-directory directory)))) (when maybe-prompt (if pr @@ -1615,7 +1626,7 @@ project-forget-project "Remove directory PROJECT-ROOT from the project list. PROJECT-ROOT is the root directory of a known project listed in the project list." - (interactive (list (project-prompt-project-dir))) + (interactive (list (funcall project-prompter))) (project--remove-from-project-list project-root "Project `%s' removed from known projects")) @@ -1639,6 +1650,32 @@ project-prompt-project-dir (read-directory-name "Select directory: " default-directory nil t) pr-dir))) +(defun project-prompt-project-name () + "Prompt the user for a project, by name, that is one of the known project roots. +The project is chosen among projects known from the project list, +see `project-list-file'. +It's also possible to enter an arbitrary directory not in the list." + (let* ((dir-choice "... (choose a dir)") + (choices + (let (ret) + (dolist (dir (project-known-project-roots)) + ;; we filter out directories that no longer map to a project, + ;; since they don't have a clean project-name. + (if-let (proj (project--find-in-directory dir)) + (push (cons (project-name proj) proj) ret))) + ret)) + ;; XXX: Just using this for the category (for the substring + ;; completion style). + (table (project--file-completion-table (cons dir-choice choices))) + (pr-name "")) + (while (equal pr-name "") + ;; If the user simply pressed RET, do this again until they don't. + (setq pr-name (completing-read "Select project: " table nil t))) + (if (equal pr-name dir-choice) + (read-directory-name "Select directory: " default-directory nil t) + (let ((proj (assoc pr-name choices))) + (if (stringp proj) proj (project-root (cdr proj))))))) + ;;;###autoload (defun project-known-project-roots () "Return the list of root directories of all known projects." @@ -1826,7 +1863,7 @@ project-switch-project When called in a program, it will use the project corresponding to directory DIR." - (interactive (list (project-prompt-project-dir))) + (interactive (list (funcall project-prompter))) (let ((command (if (symbolp project-switch-commands) project-switch-commands (project--switch-project-command)))) -- 2.30.2 --=-=-=-- From unknown Thu Aug 21 14:54:10 2025 MIME-Version: 1.0 X-Mailer: MIME-tools 5.505 (Entity 5.505) X-Loop: help-debbugs@gnu.org From: help-debbugs@gnu.org (GNU bug Tracking System) To: Spencer Baugh Subject: bug#62759: closed (Re: bug#62759: [PATCH] add support for prompting for projects by name) Message-ID: References: <2fb028b1-a9ad-648d-9d27-2107e7e4833a@gutov.dev> X-Gnu-PR-Message: they-closed 62759 X-Gnu-PR-Package: emacs X-Gnu-PR-Keywords: patch Reply-To: 62759@debbugs.gnu.org Date: Mon, 10 Apr 2023 23:21:02 +0000 Content-Type: multipart/mixed; boundary="----------=_1681168862-3619-1" This is a multi-part message in MIME format... ------------=_1681168862-3619-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Your bug report #62759: [PATCH] add support for prompting for projects by name which was filed against the emacs package, has been closed. The explanation is attached below, along with your original report. If you require more details, please reply to 62759@debbugs.gnu.org. --=20 62759: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D62759 GNU Bug Tracking System Contact help-debbugs@gnu.org with problems ------------=_1681168862-3619-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at 62759-done) by debbugs.gnu.org; 10 Apr 2023 23:20:32 +0000 Received: from localhost ([127.0.0.1]:36141 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pm0oK-0000vT-98 for submit@debbugs.gnu.org; Mon, 10 Apr 2023 19:20:32 -0400 Received: from new1-smtp.messagingengine.com ([66.111.4.221]:49599) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pm0oI-0000vD-86 for 62759-done@debbugs.gnu.org; Mon, 10 Apr 2023 19:20:30 -0400 Received: from compute4.internal (compute4.nyi.internal [10.202.2.44]) by mailnew.nyi.internal (Postfix) with ESMTP id C21CF5822B1; Mon, 10 Apr 2023 19:20:24 -0400 (EDT) Received: from mailfrontend2 ([10.202.2.163]) by compute4.internal (MEProxy); Mon, 10 Apr 2023 19:20:24 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gutov.dev; h=cc :content-transfer-encoding:content-type:content-type:date:date :from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:sender:subject:subject:to:to; s=fm1; t= 1681168824; x=1681172424; bh=gkSmdOaN4Glt7/c+WZAMIGJHTYceSK4Lo8X fbwIYw7k=; b=HNIEO/R0j/DQRdfHV2JqM3SZDfjrOhFsDKp/GI3SdbEegTs0Om+ B/NryGuiHXnoXGgH2vFNeuvVfbL1OWNQu5DcUZmYRlxEMZsu+8oAAK7JDJIeKEG4 VWqeelhUbAqCkiJV4fnxsRcTpl75kijqV3zDc8YaUz1z/u5oTIBRdQg4a8WOs6CD PhnsqL3SD1w/fFTgpz7xDfUPn2NBfGwqph6opbnlcKe874dqdFusTLVEmcWQ9GFN HKJwAPxcCglgCUzx0pZWFpAcfIZJhBYJUP2IHGsGwxgDMc72+l0r/ht/lyaln0Gc vBqiVdQxsRIxGiXoa4gkXVxqaOjn6GIrxrw== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:content-type :content-type:date:date:feedback-id:feedback-id:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:sender:subject:subject:to:to:x-me-proxy:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t=1681168824; x= 1681172424; bh=gkSmdOaN4Glt7/c+WZAMIGJHTYceSK4Lo8XfbwIYw7k=; b=H uHvznAyYV79eXio6QVtFGpTZ8bU9Rn+BZW3JF4GvpE7XEnKfBXpx1UBfSz7AOmRR avrne4LDRw32JRwVHFUKhcqlo4LJ7ZUa1taQz88qEoCoI5iLGqTiT08QXRlKmlXo oMOZIAlr9w21OoWfRFeS+flqBL9ESvOM0v8ChJct1TKqtaAbMgAW7PxIZhASE+wD gojJKJTpNQWX0v0s+NEPQjLXAB/6uIHFDYwjANofY7WY2VgnZwG5C6Wm98uarjEa Ii/jOvz7y0bfCL1U7nc+agvGyZDe/3l98ZVzupPcPzOkRLK7V4+1A9rnZs/wciM7 umcZGpgn2ve9whj+T1LgQ== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrvdekfedgvddvucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhepkfffgggfuffvfhfhjggtgfesthejredttdefjeenucfhrhhomhepffhmihht rhihucfiuhhtohhvuceoughmihhtrhihsehguhhtohhvrdguvghvqeenucggtffrrghtth gvrhhnpeeghedthedujeeiteeutddtjeekheejteeukeehffdutdejuedvfeevueeviedu udenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpegumh hithhrhiesghhuthhovhdruggvvh X-ME-Proxy: Feedback-ID: i0e71465a:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Mon, 10 Apr 2023 19:20:23 -0400 (EDT) Message-ID: <2fb028b1-a9ad-648d-9d27-2107e7e4833a@gutov.dev> Date: Tue, 11 Apr 2023 02:20:22 +0300 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.9.0 Subject: Re: bug#62759: [PATCH] add support for prompting for projects by name Content-Language: en-US To: Spencer Baugh , 62759-done@debbugs.gnu.org References: From: Dmitry Gutov In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -1.1 (-) X-Debbugs-Envelope-To: 62759-done X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.0 (--) Hi! Thanks for the patch. Pushed to master. Next time please also add the full common message, though. Also note that the idea behind the current default (and also why it doesn't return a project instance: just the dir) was to avoid visiting all the directories -- because some might be unavailable at this exact moment (e.g. remote, over Tramp, and currently disconnected), and some simply slow. It shouldn't hurt to have this as an alternative behavior, though. ------------=_1681168862-3619-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at submit) by debbugs.gnu.org; 10 Apr 2023 19:15:02 +0000 Received: from localhost ([127.0.0.1]:35943 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1plwyj-0008Gq-9r for submit@debbugs.gnu.org; Mon, 10 Apr 2023 15:15:02 -0400 Received: from lists.gnu.org ([209.51.188.17]:59646) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1plwyh-0008GZ-Bh for submit@debbugs.gnu.org; Mon, 10 Apr 2023 15:15:00 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1plwyg-0001ZD-9S for bug-gnu-emacs@gnu.org; Mon, 10 Apr 2023 15:14:58 -0400 Received: from mxout5.mail.janestreet.com ([64.215.233.18]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1plwye-0006n2-5F for bug-gnu-emacs@gnu.org; Mon, 10 Apr 2023 15:14:57 -0400 From: Spencer Baugh To: bug-gnu-emacs@gnu.org Subject: [PATCH] add support for prompting for projects by name Date: Mon, 10 Apr 2023 15:14:53 -0400 Message-ID: MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Received-SPF: pass client-ip=64.215.233.18; envelope-from=sbaugh@janestreet.com; helo=mxout5.mail.janestreet.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.4 (-) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.4 (--) --=-=-= Content-Type: text/plain Tags: patch This add a new function project-prompt-project-name, and a project-prompter customize variable which can be used to switch between that function and the existing project-prompt-project-dir. In GNU Emacs 29.0.60 (build 3, x86_64-pc-linux-gnu, X toolkit, cairo version 1.15.12, Xaw scroll bars) of 2023-03-13 built on igm-qws-u22796a Repository revision: e759905d2e0828eac4c8164b09113b40f6899656 Repository branch: emacs-29 Windowing system distributor 'The X.Org Foundation', version 11.0.12011000 System Description: CentOS Linux 7 (Core) Configured using: 'configure --with-x-toolkit=lucid --with-modules --with-gif=ifavailable' --=-=-= Content-Type: text/patch Content-Disposition: attachment; filename=0001-add-support-for-prompting-for-projects-by-name.patch >From e7a03ab0e74bddadf8fa349587ab60cc7f63f6c2 Mon Sep 17 00:00:00 2001 From: Spencer Baugh Date: Mon, 10 Apr 2023 15:11:06 -0400 Subject: [PATCH] add support for prompting for projects by name --- lisp/progmodes/project.el | 43 ++++++++++++++++++++++++++++++++++++--- 1 file changed, 40 insertions(+), 3 deletions(-) diff --git a/lisp/progmodes/project.el b/lisp/progmodes/project.el index 877d79353aa..e7c0bd2069b 100644 --- a/lisp/progmodes/project.el +++ b/lisp/progmodes/project.el @@ -202,6 +202,17 @@ project-current-directory-override "Value to use instead of `default-directory' when detecting the project. When it is non-nil, `project-current' will always skip prompting too.") +(defcustom project-prompter #'project-prompt-project-dir + "Function to call to prompt for a project. +Called with no arguments and should return a project root dir." + :type '(choice (const :tag "Prompt for a project directory" + project-prompt-project-dir) + (const :tag "Prompt for a project name" + project-prompt-project-name) + (function :tag "Custom function" nil)) + :group 'project + :version "30.1") + ;;;###autoload (defun project-current (&optional maybe-prompt directory) "Return the project instance in DIRECTORY, defaulting to `default-directory'. @@ -226,7 +237,7 @@ project-current (pr) ((unless project-current-directory-override maybe-prompt) - (setq directory (project-prompt-project-dir) + (setq directory (funcall project-prompter) pr (project--find-in-directory directory)))) (when maybe-prompt (if pr @@ -1615,7 +1626,7 @@ project-forget-project "Remove directory PROJECT-ROOT from the project list. PROJECT-ROOT is the root directory of a known project listed in the project list." - (interactive (list (project-prompt-project-dir))) + (interactive (list (funcall project-prompter))) (project--remove-from-project-list project-root "Project `%s' removed from known projects")) @@ -1639,6 +1650,32 @@ project-prompt-project-dir (read-directory-name "Select directory: " default-directory nil t) pr-dir))) +(defun project-prompt-project-name () + "Prompt the user for a project, by name, that is one of the known project roots. +The project is chosen among projects known from the project list, +see `project-list-file'. +It's also possible to enter an arbitrary directory not in the list." + (let* ((dir-choice "... (choose a dir)") + (choices + (let (ret) + (dolist (dir (project-known-project-roots)) + ;; we filter out directories that no longer map to a project, + ;; since they don't have a clean project-name. + (if-let (proj (project--find-in-directory dir)) + (push (cons (project-name proj) proj) ret))) + ret)) + ;; XXX: Just using this for the category (for the substring + ;; completion style). + (table (project--file-completion-table (cons dir-choice choices))) + (pr-name "")) + (while (equal pr-name "") + ;; If the user simply pressed RET, do this again until they don't. + (setq pr-name (completing-read "Select project: " table nil t))) + (if (equal pr-name dir-choice) + (read-directory-name "Select directory: " default-directory nil t) + (let ((proj (assoc pr-name choices))) + (if (stringp proj) proj (project-root (cdr proj))))))) + ;;;###autoload (defun project-known-project-roots () "Return the list of root directories of all known projects." @@ -1826,7 +1863,7 @@ project-switch-project When called in a program, it will use the project corresponding to directory DIR." - (interactive (list (project-prompt-project-dir))) + (interactive (list (funcall project-prompter))) (let ((command (if (symbolp project-switch-commands) project-switch-commands (project--switch-project-command)))) -- 2.30.2 --=-=-=-- ------------=_1681168862-3619-1-- From unknown Thu Aug 21 14:54:10 2025 X-Loop: help-debbugs@gnu.org Subject: bug#62759: [PATCH] add support for prompting for projects by name Resent-From: Spencer Baugh Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 11 Apr 2023 00:09:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 62759 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Dmitry Gutov Cc: 62759-done@debbugs.gnu.org Received: via spool by 62759-done@debbugs.gnu.org id=D62759.16811717159259 (code D ref 62759); Tue, 11 Apr 2023 00:09:01 +0000 Received: (at 62759-done) by debbugs.gnu.org; 11 Apr 2023 00:08:35 +0000 Received: from localhost ([127.0.0.1]:36166 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pm1Yo-0002PH-W3 for submit@debbugs.gnu.org; Mon, 10 Apr 2023 20:08:35 -0400 Received: from mxout5.mail.janestreet.com ([64.215.233.18]:33267) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pm1Yn-0002P3-PO for 62759-done@debbugs.gnu.org; Mon, 10 Apr 2023 20:08:34 -0400 Received: from mail-yw1-f198.google.com ([209.85.128.198]) by mxgoog2.mail.janestreet.com with esmtps (TLS1.3:TLS_AES_128_GCM_SHA256:128) (Exim 4.96) id 1pm1Yh-005gmF-1l for 62759-done@debbugs.gnu.org; Mon, 10 Apr 2023 20:08:28 -0400 Received: by mail-yw1-f198.google.com with SMTP id 00721157ae682-54ee0b7dbdbso69143277b3.0 for <62759-done@debbugs.gnu.org>; Mon, 10 Apr 2023 17:08:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=janestreet.com; s=google; t=1681171708; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=7NU16uQCOWw5u927pH98sLTwbIdtS7DmJe7hF3OApIQ=; b=ObX9/oklBuaa3vm6HxHW3l0xpLgrAXC0YTGqxtl3yyFkUYcGYkXeFaJzhAF44SyaLz o9vEuRTQJUeu3hXJ4AEKKlCSdoXRafZIMptFSy3f1Gk7HXKXI5YVAzAPitPrb89aJGyD 7vtx5XFKcCXayORsunZMeXwIdAP0JzWIsRblQ= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1681171708; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=7NU16uQCOWw5u927pH98sLTwbIdtS7DmJe7hF3OApIQ=; b=mz6uSQ/Kvhi9aOcQkew7PeUBCv2MjwpPbND6K0z3nG/K8Ya90i7DCr6PlwOlpo5mGs Kmhqwf9iRJqpGq+3xiJZ6xyxjSSwTHyS81fUKJOxp6wsuhnAoo3Ci+hm7/AeKL48eFQk Eo4QM8n3FSGf22Z3cIiipMq1YhVPV1jDeGYSd+0IBrI7U5RAYHgbUtJn+6HSgAlbsHm8 tOinwq+NeLD0pkkyZqT/CNfBOjsJqEYYdCAX/zLvZA37lTd4zqH3+5J+Bv0a4AHEkp2/ kskZ+P41kcx0IdvI6RJmxHCg5A4wp3pVShG8JeHTupoPa1F4VcBXR7mR/QT+KxslR97s M9wA== X-Gm-Message-State: AAQBX9cIR2aA4P3xDQYBuCqpNr5pUmqoyAOsVrKW9+RZQZs+u68DQO8s vIV1CCmuz8eZc7ZcSA3uhbc7rTyGQnjUnhJRswcnyNi/aFXARSGu2Jbn2fgUpPrlwB3AnsOvXd2 NnI++bbfLEOyO1n4oWZ0ur/ACuYBLQsz2kh05 X-Received: by 2002:a25:d649:0:b0:b8a:7b2d:6555 with SMTP id n70-20020a25d649000000b00b8a7b2d6555mr298827ybg.9.1681171708004; Mon, 10 Apr 2023 17:08:28 -0700 (PDT) X-Google-Smtp-Source: AKy350ZZhEqBqs337o51+sm7icf6Xr46f4jY2uMXQOYExFCHJSUZqfqegXtWxzC3ufIxPDfHS9hg7xAhdpWYlc5KB+Y= X-Received: by 2002:a25:d649:0:b0:b8a:7b2d:6555 with SMTP id n70-20020a25d649000000b00b8a7b2d6555mr298813ybg.9.1681171707728; Mon, 10 Apr 2023 17:08:27 -0700 (PDT) MIME-Version: 1.0 References: <2fb028b1-a9ad-648d-9d27-2107e7e4833a@gutov.dev> In-Reply-To: <2fb028b1-a9ad-648d-9d27-2107e7e4833a@gutov.dev> From: Spencer Baugh Date: Mon, 10 Apr 2023 20:08:19 -0400 Message-ID: Content-Type: multipart/alternative; boundary="000000000000722f4305f9044a0e" X-Spam-Score: -0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --000000000000722f4305f9044a0e Content-Type: text/plain; charset="UTF-8" On Mon, Apr 10, 2023, 19:20 Dmitry Gutov wrote: > Hi! Thanks for the patch. Pushed to master. > > Next time please also add the full common message, though. > Sorry, will do. I was expecting to need to iterate through some review cycles :) Also note that the idea behind the current default (and also why it > doesn't return a project instance: just the dir) was to avoid visiting > all the directories -- because some might be unavailable at this exact > moment (e.g. remote, over Tramp, and currently disconnected), and some > simply slow. Yes, I figured that was the reason. I should also mention that I was thinking about automatically pruning zombie projects (my backend yields lots of those) but instead I just had project-prompt-project-name skip zombies, for exactly this reason (that it avoids excess FS access). It shouldn't hurt to have this as an alternative behavior, though. > --000000000000722f4305f9044a0e Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
On Mon, Apr 10, 2023, 19:20 Dmitry Gutov <dmitry@gutov.dev> wrote:
Hi! Thanks for the patch. Pushed to master.

Next time please also add the full common message, though.
=

Sorry, will do. I= was expecting to need to iterate through some review cycles :)=C2=A0
=

Also note that the idea behind the current default (and also why it
doesn't return a project instance: just the dir) was to avoid visiting =
all the directories -- because some might be unavailable at this exact
moment (e.g. remote, over Tramp, and currently disconnected), and some
simply slow.

Yes, I figured that was the reason. I should also mention that I = was thinking about automatically pruning zombie projects (my backend yields= lots of those) but instead I just had project-prompt-project-name skip zom= bies, for exactly this reason (that it avoids excess FS access).

It shouldn't hurt to have this as an alternative behavior, though.
--000000000000722f4305f9044a0e--