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

From: Robert Pluim <[email-masked]>
Date: Sun, 18 Sep 2022 16:46:23 +0200

>>>>> On Sun, 18 Sep 2022 12:23:47 +0200, Lars Ingebrigtsen <[email-masked]> said:

    Lars> Jim Porter <[email-masked]> writes:
    >> 1) Instead of specifying the function args with a flag, I think I'd go
    >> the other way and specify the function as being special, e.g.:
    >> 
    >> emacs --apply func arg1 arg2

    Lars> Yes, that sounds good.  (But we'd still need "--" to say that the
    Lars> arguments have ended.)

    >> 2) Even better, why not just use --function and pass some higher-order
    >> function:
    >> 
    >> emacs --function apply-from-command-line func arg1 arg2

    Lars> I think that sounds more obscure, really (even if it's simpler to
    Lars> implement in the "emacs" case).

    >> That way, it's easy to substitute in some other higher-order function
    >> if you want. emacsclient would still need to add a --function flag
    >> though, and probably some changes to how it forwards arguments to the
    >> main emacs so that you can do stuff like this.

I think this would be covered by '--apply apply-from-command-line func
arg1 arg2'

Youʼd have to write 'apply-from-command-line' yourself, although
thereʼd be nothing stopping us from providing a generic one that does

(apply (intern (pop command-line-args-left)) command-line-args-left)

or similar.

    Lars> Since we have to add something new to emacsclient in any case, I'd
    Lars> rather go with adding "--apply" to both Emacs and emacsclient, I think.

I think this is the best option (and we leave anything complicated to '--eval').

Robert
--