Philip Kaludercic wrote:
Also, I'm wondering if this counts as non-trivial enough that I would
need to sign the FSF copyright.
It looks like it to me, and either way it is not bad to do that so that
you have it behind you for future contributions either to Emacs or ELPA.
You are right, I have initiated the process.
Regarding testing, as far as I can tell, there are currently no tests
for `compilation-read-command`.
Should I add anything? If yes, I'll probably need someone to point to
existing tests for similar things that I can copy from.
You could take a look at test/lisp/progmodes/compile-tests.el, but I
don't think this breaks the patch, especially when dealing with
something as interactive as what you are proposing.

I did check compile-tests.el and found no references to `compilation-read-command`,
that's why I said I think it's not tested currently.
I'll not add any tests, I wouldn't even know how to test something interactive like that.

Am I forgetting anything else?
From e1068206662913978d541f924205a0615f8d2d95 Mon Sep 17 00:00:00 2001
From: Spyros Roum <spyros.roum@posteo.net>
Date: Wed, 25 Dec 2024 17:32:31 +0200
Subject: [PATCH] Add option for making compilation-read-command use
 completing-read
A ChageLog style commit message would be expected here as well.  You can
inject the structure in vc-mode using C-c C-w.

I'm not sure the level of detail I should go in describing each function I touch, so I wrote (what I think is) a lot. Let me know if it's not necessary or if it's fine as is. I did see some examples from the wiki/other commits and I think it's fine.

+  "Function used by `compilation-read-command' to get user's input.
+Defaults to `compilation-prompt-read-shell-command',
+but `compilation-prompt-read-command-with-completion' can be used instead for
If possible, avoid the passive phrase here.

I changed it to active voice. I'll also say I'm not a native speaker, so if you think
it's still weird/not good enough, please let me know.

I've attached a new draft based on your feedback. Additionally, I've renamed the new function to something that describes that completion happens based on history, according to Juri's input.

One additional question: The NEWS file is for version 31.1. Should the `:version` tag also be for 31.1 instead of 31?