unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Philip Kaludercic <philipk@posteo.net>
To: Tony Zorman <tonyzorman@mailbox.org>
Cc: 66567@debbugs.gnu.org
Subject: bug#66567: [PATCH] use-package: Add ignored-files support to :vc keyword
Date: Wed, 01 Nov 2023 12:48:47 +0000	[thread overview]
Message-ID: <87r0l91vww.fsf@posteo.net> (raw)
In-Reply-To: <87ttq5bx2y.fsf@hyperspace> (Tony Zorman's message of "Wed, 01 Nov 2023 11:13:25 +0100")

Tony Zorman <tonyzorman@mailbox.org> writes:

> On Wed, Nov 01 2023 09:09, Philip Kaludercic wrote:
>>> diff --git a/lisp/use-package/use-package-core.el b/lisp/use-package/use-package-core.el
>>> index 34c45b7aec..5d0d554baf 100644
>>> --- a/lisp/use-package/use-package-core.el
>>> +++ b/lisp/use-package/use-package-core.el
>>> @@ -1654,7 +1654,8 @@ use-package-normalize--vc-arg
>>>                               (t (ensure-string v))))
>>>                   (:vc-backend (ensure-symbol v))
>>>                   (_ (ensure-string v)))))
>>> -    (pcase-let ((valid-kws '(:url :branch :lisp-dir :main-file :vc-backend :rev))
>>> +    (pcase-let ((valid-kws '( :url :branch :lisp-dir :main-file :vc-backend :rev
>>> +                              :shell-command :make))
>>
>> Why is use-package checking for valid keywords in the first place?
>
> Better error messages, mostly. Especially people switching from
> quelpa/straight/vc-use-package might be surprised that :vc is not a
> drop-in replacement for those packages. I feel like alerting them to
> this fact sooner rather than later makes for a better experience.

IIUC this would raise an error when an unknown keyword is encountered,
right?

>>> * lisp/use-package/use-package-core.el (use-package-split-when):
>>> New utility function to split a list whenever a specified predicate
>>> returns t.
>>> (use-package-vc-valid-keywords): A new defconst to gather all allowed
>>> keywords.
>>> (use-package-normalize--vc-arg): Properly normalize the :ignored-files
>>> keyword, in that the following are all valid ways of entering files:
>>>   :ignored-files "a"
>>>   :ignored-files ("a")
>>>   :ignored-files "a" "b" "c"
>>>   :ignored-files ("a" "b" "c")
>>> (use-package-normalize/:vc): Adjust normalization, now that we do not
>>> necessarily receive a valid plist as an input.
>>
>> I would much prefer that package specifications have a canonical form
>> and that use-package doesn't try to introduce variations that wouldn't
>> be compatible with package-vc-install proper and elpa-admin.  Or is this
>> necessary for use-package?
>
> It's not *necessary*, but it's quite common for use-package keywords to
> do their best in order to be as unobtrusive as possible. This includes
> omitting parentheses that might not be strictly needed, or to cleverly
> transform the input in some other way (e.g., :hook makes great use of
> this).

My experience is that this is more likely to cause confusion, e.g. when
people write :config (progn ...).  But as I said, since I don't use
use-package, I don't want to give the final verdict, I am just
expressing my preferences.

>>> I will cheekily bump this, and also Cc. Philip as the most likely
>>> reviewer.
>>
>> I don't use use-package nor am I familiar with the code base, so I
>> wouldn't value my input that much.
>
> Oh, fair enough. In either case, I couldn't think of anyone else—sorry
> for the noise :)

I think that Stefan Kangas would probably be the best to ask, since he
was the one responsible for merging use-package into the core.





  reply	other threads:[~2023-11-01 12:48 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-10-15 16:42 bug#66567: [PATCH] use-package: Add ignored-files support to :vc keyword Tony Zorman via Bug reports for GNU Emacs, the Swiss army knife of text editors
     [not found] ` <handler.66567.B.169739278328671.ack@debbugs.gnu.org>
2023-11-01  7:43   ` Tony Zorman via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-11-01  9:09 ` Philip Kaludercic
2023-11-01 10:13   ` Tony Zorman via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-11-01 12:48     ` Philip Kaludercic [this message]
2023-11-01 14:36       ` Tony Zorman via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-11-01 16:38         ` Philip Kaludercic
2023-11-07 19:39           ` Tony Zorman via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-11-07 21:24             ` Philip Kaludercic
2023-11-10 12:00               ` Tony Zorman via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-11-16  7:32                 ` Philip Kaludercic
2024-05-02 18:57                   ` Tony Zorman via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-05-03  6:35                     ` Eli Zaretskii
2024-05-04  6:16                       ` John Wiegley
2024-05-14 16:08                         ` Tony Zorman via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-05-15  1:19                           ` John Wiegley
2024-05-18 10:32                             ` Eli Zaretskii

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87r0l91vww.fsf@posteo.net \
    --to=philipk@posteo.net \
    --cc=66567@debbugs.gnu.org \
    --cc=tonyzorman@mailbox.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).