GNU bug report logs - #25547
25.1.91; emacsclient -c creates frames on the wrong display

Previous Next

Package: emacs;

Reported by: Alex Hutcheson <alexhutcheson <at> google.com>

Date: Thu, 26 Jan 2017 18:11:01 UTC

Severity: normal

Merged with 30382

Found in versions 25.1.91, 27.0.50

Done: Stefan Monnier <monnier <at> iro.umontreal.ca>

Bug is archived. No further changes may be made.

Full log


Message #31 received at 25547 <at> debbugs.gnu.org (full text, mbox):

From: Eliza Velasquez <exv <at> google.com>
To: Stefan Monnier <monnier <at> iro.umontreal.ca>
Cc: 25547 <at> debbugs.gnu.org, Alex Hutcheson <alexhutcheson <at> google.com>
Subject: Re: bug#25547: 25.1.91;
 emacsclient -c creates frames on the wrong display
Date: Thu, 5 Nov 2020 16:55:56 -0800
Actually, I'm realizing now that my patch requires some more work
after testing Emacs in daemon mode without an X server. I'll continue
this tomorrow.

On Thu, Nov 5, 2020 at 3:41 PM Eliza Velasquez <exv <at> google.com> wrote:
>
> Oops, forgot to reply all on my last message. Attached is the patch.
>
> On Wed, Nov 4, 2020 at 8:44 PM Stefan Monnier <monnier <at> iro.umontreal.ca> wrote:
> >
> > > It looks like I was able to make progress today. Just by modifying
> > > server.el, I've gotten `emacsclient -ce "..."` to create a new frame
> > > based on the currently selected frame's terminal when called in a dumb
> > > terminal.
> >
> > Great!
> >
> > > Unfortunately, the command for calling ediff is still very
> > > unpleasant:
> > >
> > > emacsclient -ucF "((delete-frame-on-ediff-quit . t))" \
> > >   -e "(ediff-merge-with-ancestor \"${local}\" \"${other}\" \"${base}\"
> > > nil \"${output}\")" \
> > >   -e "(add-hook 'ediff-quit-hook (lambda () (when (frame-parameter nil
> > > 'delete-frame-on-ediff-quit) (delete-frame))))"
> >
> > I think the problem is that emacsclient lacks the equivalent of `-f`,
> > i.e. calling a particular ELisp function where the remaining arguments
> > can be consumed by that function.  That would solve the problem of
> > quoting (your above script will stumble when encountering
> > a file name with quotes in it or with a final backslash).
> >
> > > So perhaps introducing a wrapper script for ediff merges would still be useful.
> >
> > We should be able to add a convenience `batch-ediff-merge-with-ancestor`.
> > Bonus points if you manage to make it work with `emacs --batch -f` as
> > well as with `emacsclient --<newflag>`.
> >
> >
> >         Stefan
> >




This bug report was last modified 4 years and 252 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.