Subject: bug#57752: 28.1.91; emacsclient-mail.desktop doesn't work for me

From: Jim Porter <[email-masked]>
Date: Mon, 19 Sep 2022 08:48:02 -0700

On 9/19/2022 1:12 AM, Lars Ingebrigtsen wrote:
> Jim Porter <[email-masked]> writes:
> 
>> This is actually the trickiest part about this to me. If I were
>> designing this, I'd say that '--apply' consumes every positional
>> argument up to the next flag.
> 
> Sorry, that would just be a very fiddly, often-breaking interface.  If
> you say
> 
> emacs --apply foo $1 $2
> 
> and $2 happens to be "-*hakuna-matata*-", then you'd get a failure.

In my suggestion, this would be spelled

   emacs --apply foo -- $1 $2

However...

> Morover, there's no way to separate
> 
> emacs --apply foo param1 param2
> 
> from
> 
> emacs --apply foo param1 file-to-be-opened
> 
> So we need "--" to end the parameter list.

This would indeed be impossible in my suggestion (at least not without 
having 'foo' call 'find-file'). Just to make sure I understand your 
suggestion: '--apply' would consume *every* argument after it until it 
sees a '--'? So to apply 2 functions, you'd say:

   emacs --apply func1 arg1 arg2 -- --apply func2 arg3 arg4

That seems like it would probably be ok, so long as no one wanted to 
pass a literal '--' to the function. I don't think there's much of a 
security risk either, since the worst that would happen is someone 
sending "-- foobar", causing "foobar" to get opened as a file.