Subject: bug#62444: [PATCH] erc: Fix "dcc get" flag parsing

From: Daniel Pettersson <[email-masked]>
Date: Wed, 5 Apr 2023 20:27:33 +0200

Hi J.P.,

Sorry for the delay for some reason the responses bounced my mailbox,
first and foremost I would like to thank you for your patience and
clarity in your response.

> Lastly, I have to mention the dreaded copyright thing because I couldn't
> tell from the discussion for bug#57905 whether you ended up filing. If
> not and we go with changes resembling those you've proposed, you'll
> probably want to do so.

Attached my assignment.

> AFAIK, nicknames can't normally begin with a ?-, and attempting to
> procure one like that will earn you a
>
>   :mercury.libera.chat 432 testing123 -testing123 :Erroneous nickname
>
> or similar. Of course, if you know of any popular servers where this
> isn't the case, please share.

I didn't manage to find a case where ?- is allowed, don't really know
where I got that idea from.

> In the interest of preserving some symmetry with DCC SEND, which quotes
> its outgoing arguments, I think erc-dcc should parse its own input line
> rather than rely on the treatment from `erc-extract-command-from-line'.
> This approach seems to work in cursory trials, but a few complications
> arise when it comes to completion (also present in ERC <5.5.), although
> there are workarounds. (How's your pcomplete-fu?)

I can't say that I am one of the enlightened ones ;).

> Alas, the following are just mechanical, style-related nits. Ignore them
> if you wish, but please see the attached patches for a reprise of your
> initial proposal with the changes I've outlined applied atop. (The first
> two patches are just thrown in for convenience but ultimately
> unrelated.)

This is great, reminds me that I have some homework here; coding
standard, reading some more elisp in emacs packages and the bug
reporting.

Sorry about that.

> Some of the above, such as (setq foo (cons x foo)) instead of `push' and
> `seq-contains-p' instead of `member', might distract a few readers. I
> don't really care, personally.

I'll also add that I was not really happy with my implementation as it
was far from elegant.

> As mentioned, I've taken a slightly different tack WRT parsing based on
> the presence of pre-quoted args. Please check it out, give feedback, and
> by all means iterate.

I don't have any feedback, looks great to me!

Thanks!