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

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

Re: Feature request: Expose system `exec` as a built-in elisp function


From: Kevin Rodgers
Subject: Re: Feature request: Expose system `exec` as a built-in elisp function
Date: Thu, 14 Aug 2014 00:08:37 -0600
User-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:24.0) Gecko/20100101 Thunderbird/24.6.0

On 8/13/14 3:42 PM, Andrew Pennebaker wrote:
Eh, what if you don't want the second emacs call to use the same emacs
configuration, etc. etc. as the parent emacs process?

Pass -Q on the command line.  Here's what I use to fork a new instance via `M-x
run-emacs RET':

(defun run-emacs (command)
  "Run the Emacs COMMAND in the background via `shell-command'."
  (interactive
   (let ((program (expand-file-name invocation-name invocation-directory)))
     (list (read-string "Emacs command: "
                        (cons (concat program
                                      " "
                                      (if (cdr command-line-args)
                                          (mapconcat 'shell-quote-argument
                                                     (cdr command-line-args)
                                                     " ")
                                        "-Q")
                                      " &")
                              (1+ (length program)))))))
  (shell-command command))

Feel free to ask the cask project for more details:

https://github.com/cask/cask



On Wed, Aug 13, 2014 at 3:36 PM, Barry Margolin <barmar@alum.mit.edu> wrote:

In article <mailman.7068.1407955728.1147.help-gnu-emacs@gnu.org>,
  Andrew Pennebaker <andrew.pennebaker@gmail.com> wrote:

One example of the worthiness of exec is cask, an Emacs package manager
that sometimes wants to fork out to an emacs instance, for editing text
files.

I'm not familiar with cask, but usually if you run something within
Emacs, and it wants you to edit something, you set EDITOR=emacsclient so
that it goes back to the original Emacs instance. You don't need to
start a new Emacs instance.

And that still doesn't explain why you would want to kill the original
Emacs instance when running cask.

--
Barry Margolin, barmar@alum.mit.edu
Arlington, MA
*** PLEASE post questions in newsgroups, not directly to me ***

--
Kevin Rodgers
Denver, Colorado, USA




reply via email to

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