all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: florian@fsavigny.de (Florian v. Savigny)
To: help-gnu-emacs@gnu.org
Subject: emacsclient: Different --eval for emacs as alternate editor?
Date: Sat, 23 Feb 2013 09:09:13 -0500	[thread overview]
Message-ID: <E1U9Fmm-0001RF-0V@eggs.gnu.org> (raw)


Hi there,

this is either a question about emacs(client) commandline invocation,
or one about bookmark.el:

I have been trying to write menu entries for Fvwm which would call
either emacsclient or emacs and would take me directy to an Emacs
bookmark. I have tried the following command line:

emacsclient -c -a emacs --eval '(bookmark-jump "name")'

This only works, however, when emacsclient does not have to call emacs
instead, i.e. only if Emacs is already running and bookmark-alist is
already set.

Basically, bookmark-jump is autoloaded, and when you call it when the
bookmark list has not been loaded yet (e.g. directly after Emacs
startup), it seems to take care of that when you call it
*interactively*. It does not do that, however, when called as
above. Thus, I conclude the trick is somehow buried in the functions
used in the (interactive ...) form of bookmark-jump, i.e.,
bookmark-jump does not seem to have been designed with non-interactive
use in mind.

I would think it clumsy, to say the least, to pass the following form
to --eval instead:

(progn
  (bookmark-load '~/.emacs.bmk' t) ; t: OVERWRITE
  (bookmark-jump "name"))

I would have to overwrite because when emacs is already running, any
newly loaded bookmarks are normally added to the list, which would
basically duplicate all the bookmarks (or worse, when this happens
several times in one session) if I did not use that argument. The
overwriting, on the other hand, would destroy any new bookmarks. So
both would be crap.

The solutions I can think of are to either 1) pass different lisp code
depending on whether emacs(server) is already running or not. (The
progn form above.) Is there a standard way of doing this? Or, 2) maybe
there is some way to tell bookmark-jump to load the default bookmark
file even when it is called non-interactively?

Can anybody help?

Thanks so much!

Florian






             reply	other threads:[~2013-02-23 14:09 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-02-23 14:09 Florian v. Savigny [this message]
2013-02-28  8:36 ` emacsclient: Different --eval for emacs as alternate editor? ronaldo.mercado
2013-02-28 18:15   ` Florian v. Savigny
2013-02-28 18:26   ` emacsclient, -a emacs, and --eval (rephrased) Florian v. Savigny
2013-02-28 18:33     ` "Jérôme M. Berger"
2013-03-03 16:53     ` PJ Weisberg
2013-03-04 22:43       ` Ludwig, Mark

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=E1U9Fmm-0001RF-0V@eggs.gnu.org \
    --to=florian@fsavigny.de \
    --cc=help-gnu-emacs@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.