[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#67310: [PATCH] Include the project--list as history when prompting f
From: |
Eli Zaretskii |
Subject: |
bug#67310: [PATCH] Include the project--list as history when prompting for a project |
Date: |
Thu, 23 Nov 2023 08:38:33 +0200 |
> From: Spencer Baugh <sbaugh@janestreet.com>
> Cc: 67310@debbugs.gnu.org, eliz@gnu.org, juri@linkov.net
> Date: Wed, 22 Nov 2023 18:14:56 -0500
>
> (defvar project--list 'unset
> - "List structure containing root directories of known projects.
> -With some possible metadata (to be decided).")
> + "List of root directories of known projects.
> +
> +This is also the minibuffer history variable for
> +`project-prompt-project-dir' and `project-prompt-project-name'.")
Please add here cross-reference(s) to command(s) or option(s) used for
minibuffer-history handling. IOW, don't assume that when you say
"minibuffer history variable", the reader immediately understands what
you mean and how this aspect is significant.
I also question the decision of making this variable an internal one.
I don't think any other minibuffer-history variables we have are
internal ones, and for good reasons.
> + (let q((history-delete-duplicates t)
^^^
Typo?
> + ;; Iterate in reverse order so project--name-history is in
> + ;; the correct order.
What is the "correct" order?
> - (if-let (proj (project--find-in-directory dir))
> - (push (cons (project-name proj) proj) ret)))
> + (when-let (proj (project--find-in-directory dir))
> + (let ((name (project-name proj)))
> + (push name project--name-history)
> + (push (cons name proj) ret))))
Not sure I understand why you replaced if-let with when-let here.
> + (let ((history-add-new-input nil))
Why this non-standard way of let-binding a variable to nil?
> + (let ((history-delete-duplicates t)
> + (history-length t))
> + (add-to-history 'project--list root))
Why are you overriding the values of these two user options?
> - (let ((dirs (if recursive
> - (directory-files-recursively dir "" t)
> - (directory-files dir t)))
> - (known (make-hash-table :size (* 2 (length project--list))
> - :test #'equal))
> - (count 0))
> - (dolist (project (mapcar #'car project--list))
> + (let* ((dirs (if recursive
> + (directory-files-recursively dir "" t)
> + (directory-files dir t)))
> + (roots (project-known-project-roots))
> + (known (make-hash-table :size (* 2 (length roots))
> + :test #'equal))
> + (count 0))
Is it really necessary to use let* here?
Thanks.
- bug#67310: [PATCH] Include the project--list as history when prompting for a project, (continued)
- bug#67310: [PATCH] Include the project--list as history when prompting for a project, Spencer Baugh, 2023/11/21
- bug#67310: [PATCH] Include the project--list as history when prompting for a project, Dmitry Gutov, 2023/11/21
- bug#67310: [PATCH] Include the project--list as history when prompting for a project, Spencer Baugh, 2023/11/22
- bug#67310: [PATCH] Include the project--list as history when prompting for a project, Dmitry Gutov, 2023/11/22
- bug#67310: [PATCH] Include the project--list as history when prompting for a project, Spencer Baugh, 2023/11/22
- bug#67310: [PATCH] Include the project--list as history when prompting for a project, Dmitry Gutov, 2023/11/22
- bug#67310: [PATCH] Include the project--list as history when prompting for a project, Spencer Baugh, 2023/11/24
- bug#67310: [PATCH] Include the project--list as history when prompting for a project, Dmitry Gutov, 2023/11/24
- bug#67310: [PATCH] Include the project--list as history when prompting for a project, Juri Linkov, 2023/11/25
- bug#67310: [PATCH] Include the project--list as history when prompting for a project, Juri Linkov, 2023/11/27
- bug#67310: [PATCH] Include the project--list as history when prompting for a project,
Eli Zaretskii <=
- bug#67310: [PATCH] Include the project--list as history when prompting for a project, Dmitry Gutov, 2023/11/24
- bug#67310: [PATCH] Include the project--list as history when prompting for a project, Eli Zaretskii, 2023/11/25
- bug#67310: [PATCH] Include the project--list as history when prompting for a project, Dmitry Gutov, 2023/11/25
- bug#67310: [PATCH] Include the project--list as history when prompting for a project, Eli Zaretskii, 2023/11/25
- bug#67310: [PATCH] Include the project--list as history when prompting for a project, Dmitry Gutov, 2023/11/25
- bug#67310: [PATCH] Include the project--list as history when prompting for a project, Eli Zaretskii, 2023/11/25
- bug#67310: [PATCH] Include the project--list as history when prompting for a project, Dmitry Gutov, 2023/11/25
- bug#67310: [PATCH] Include the project--list as history when prompting for a project, Dmitry Gutov, 2023/11/21
- bug#67310: [PATCH] Include the project--list as history when prompting for a project, Spencer Baugh, 2023/11/22