The problem is that if you do a server-start when the server is
already running, any existing emacsclient will immediately exit as if
it succeded in editing/creating whatever it was that the application
running it wanted it to do.

Which could be bad if, say, you're in the middle of an interactive
rebase in some other repository, or doing something in some other
application entirely.  

It may be better to *offer* to start the server the first time it's
encountered in magit, and thereafter assume it's running [the theory
being that the server usually won't die once it's been started,...
... but I don't know how good a theory that is...].  

Or you can copy in the emacs23 code (buh).

 > From: Moritz Bunkus <[email protected]>
 > ---
 >  magit.el |    3 ++-
 >  1 files changed, 2 insertions(+), 1 deletions(-)
 > 
 > diff --git a/magit.el b/magit.el
 > index 1a1283e..296d5f8 100644
 > --- a/magit.el
 > +++ b/magit.el
 > @@ -3726,7 +3726,8 @@ With a non numeric prefix ARG, show all entries"
 >    "Start a git rebase -i session, old school-style."
 >    (interactive)
 >    (require 'server)
 > -  (unless (server-running-p)
 > +  (if (or (< emacs-major-version 23)
 > +          (not (server-running-p)))
 >      (server-start))
 >    (let* ((section (get-text-property (point) 'magit-section))
 >          (commit (and (member 'commit (magit-section-context-type
 > section))
 > --
 > 1.6.3.3
 > 
 > --
 > Subscription settings:http://groups.google.com/group/magit/subscribe?
 > hl=en

Reply via email to