help-gnu-emacs
[Top][All Lists]
Advanced

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

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


From: ronaldo.mercado
Subject: RE: emacsclient: Different --eval for emacs as alternate editor?
Date: Thu, 28 Feb 2013 08:36:40 +0000

Sorry no direct answer.

I had a somewhat similar problem when trying to call "org-cycle" from a macro. 
I wanted the equivalent behaviour of C-u C-u C-u M-x org-cycle

It did not work when called non interactively. I had a fruitless attempt at 
using call-interactively and ended up digging the source of org-mode to find 
out that under the hood it did an "show-all" which is how I solved my problem.

I'd be glad to know if call-interactively is meant to solve these kind of 
problems.

Regards
                
> -----Original Message-----
> From: address@hidden
> [mailto:address@hidden
> On Behalf Of Florian v. Savigny
> Sent: 23 February 2013 14:09
> To: address@hidden
> Subject: emacsclient: Different --eval for emacs as alternate editor?
> 
> 
> 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
> 
> 
> 


--
This e-mail and any attachments may contain confidential, copyright and or 
privileged material, and are for the use of the intended addressee only. If you 
are not the intended addressee or an authorised recipient of the addressee 
please notify us of receipt by returning the e-mail and do not use, copy, 
retain, distribute or disclose the information in or attached to the e-mail.
Any opinions expressed within this e-mail are those of the individual and not 
necessarily of Diamond Light Source Ltd.
Diamond Light Source Ltd. cannot guarantee that this e-mail or any attachments 
are free from viruses and we cannot accept liability for any damage which you 
may sustain as a result of software viruses which may be transmitted in or with 
the message.
Diamond Light Source Limited (company no. 4375679). Registered in England and 
Wales with its registered office at Diamond House, Harwell Science and 
Innovation Campus, Didcot, Oxfordshire, OX11 0DE, United Kingdom







reply via email to

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