[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

emacsclient: Different --eval for emacs as alternate editor?

From: Florian v. Savigny
Subject: emacsclient: Different --eval for emacs as alternate editor?
Date: Sat, 23 Feb 2013 09:09:13 -0500

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:

  (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!


reply via email to

[Prev in Thread] Current Thread [Next in Thread]