From: Eli Zaretskii <eliz@gnu.org>
To: Sebastian Wiesner <lunaryorn@gmail.com>
Cc: schwab@suse.de, nbtrap@nbtrap.com, emacs-devel@gnu.org
Subject: Re: Compile Mode and "host" Emacs
Date: Tue, 29 Oct 2013 21:57:09 +0200 [thread overview]
Message-ID: <83iowfetpm.fsf@gnu.org> (raw)
In-Reply-To: <CALf2awQFeT8F55qjRrO3ScHkS28QwtMY_SNGCPh-c2RGjMoVuQ@mail.gmail.com>
> Date: Tue, 29 Oct 2013 20:09:04 +0100
> From: Sebastian Wiesner <lunaryorn@gmail.com>
> Cc: schwab@suse.de, nbtrap@nbtrap.com, emacs-devel@gnu.org
>
> 2013/10/29 Eli Zaretskii <eliz@gnu.org>:
> >> Date: Tue, 29 Oct 2013 16:52:42 +0100
> >> From: Sebastian Wiesner <lunaryorn@gmail.com>
> >> Cc: Nathan Trapuzzano <nbtrap@nbtrap.com>, emacs-devel@gnu.org
> >>
> >> I would have preferred to have my question answered and my problem
> >> solved rather than seeing my question arrogantly dismissed as "not
> >> useful", and being lectured upon what my problem actually is.
> >
> > Perhaps if you explained in more details what is your problem, the
> > issue would become more clear, and you could get more focused replies.
> > As things stand, you only described in very general terms what you
> > want to do, and on that level, Andreas is right: the OOB tool to
> > communicate with Emacs is emacsclient. Providing more details might
> > clarify whether emacsclient fits the bill or not, and why, and if it
> > doesn't, what might fit the bill.
>
> "emacsclient" runs code in a running Emacs. I don't want a use the
> running session, but rather a fresh session, but using the same Emacs.
Ah, but you could use emacsclient to provide the absolute file name of
the running Emacs, like this:
emacsclient --eval "(concat invocation-directory invocation-name)"
and then use the result to invoke a fresh instance of the same binary.
> An Emacs Lisp developer runs her ERT tests in a fresh Emacs session.
> She has a Makefile with a "test" target, and a bunch of different
> Emacs versions installed (e.g. Emacs 23.4, Emacs 24.2, Emacs 24.3,
> three different Emacs trunk builds), to test her package against all
> supported Emacs versions. When developing her package, she has
> different Emacs versions running in parallel to try how different
> Emacs versions behave. She wants "M-x compile RET make test" to use
> the Emacs version she is currently in, and she does not want to
> remember to explicitly specify the target version in each Emacs
> session with "make EMACS=emacs23.4 test".
No need to remember, there could be a specialized command to
automatically add the EMACS=whatever part.
> She also byte-compiles her libraries in a fresh Emacs session to make
> sure that they cause no warnings (e.g. assignment to free variables,
> unused lexical variables, undefined functions, whatever). For this
> purpose, she has a "compile" target in her Makefile, and she also
> wants to compile against the very she is currently in.
Same-same.
> A Emacs Lisp has written a little script to update all her installed
> packages from the command line. As she uses a lot of packages and
> updates only once in a while, updates take long, and she wants to
> continue working meanwhile. Thus, she calls her update script via
> "M-x compile", watches the compile buffer for progress, and calls
> "package-initialize" once the update is done, to make her Emacs use
> the new packages. Obviously, she wants to install packages for the
> Emacs she is currently using, and not the one, which is in "$PATH".
> She has a few systems, where these are actually different: A Fedora
> system at work, where she has no root privileges. She installed Emacs
> trunk from source, and added it to the Gnome 3 menu. Also an OS X
> system at home, where she installed Emacs 24.3 as App Bundle, by just
> dragging it into the "/Applications" folder. In both cases, the
> "emacs" in $PATH is different from the Emacs she uses and starts from
> the GUI. She does not want this Emacs to be used in her script,
> because it would break in both cases, because the system "emacs" is
> outdated.
>
> I hope these use cases make my intend a little more clear.
They are all the same use case, and I can see at least 2 solutions,
outlined above. One that uses custom commands which wrap "M-x compile",
the other that uses emacsclient to glean the file name of the running
binary.
next prev parent reply other threads:[~2013-10-29 19:57 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-10-29 9:55 Compile Mode and "host" Emacs Sebastian Wiesner
2013-10-29 12:38 ` Nathan Trapuzzano
2013-10-29 12:50 ` Sebastian Wiesner
2013-10-29 12:54 ` Andreas Schwab
2013-10-29 13:11 ` Sebastian Wiesner
2013-10-29 13:53 ` Andreas Schwab
2013-10-29 14:04 ` Sebastian Wiesner
2013-10-29 15:28 ` Andreas Schwab
2013-10-29 15:52 ` Sebastian Wiesner
2013-10-29 16:02 ` Michael Albinus
2013-10-29 16:12 ` Andreas Schwab
2013-10-29 17:07 ` Eli Zaretskii
2013-10-29 19:09 ` Sebastian Wiesner
2013-10-29 19:57 ` Eli Zaretskii [this message]
2013-10-29 20:22 ` Óscar Fuentes
2013-10-29 20:27 ` Eli Zaretskii
2013-10-29 15:59 ` David Engster
2013-10-29 17:00 ` Eli Zaretskii
2013-10-29 18:42 ` Sebastian Wiesner
2013-10-29 13:10 ` Nathan Trapuzzano
2013-10-29 13:18 ` Sebastian Wiesner
2013-10-29 13:31 ` Nathan Trapuzzano
2013-10-29 13:36 ` Sebastian Wiesner
2013-10-29 13:42 ` Nathan Trapuzzano
2013-10-29 13:55 ` Sebastian Wiesner
2013-10-29 13:58 ` Nathan Trapuzzano
2013-10-29 14:07 ` Sebastian Wiesner
2013-10-29 14:16 ` Nathan Trapuzzano
2013-10-29 14:25 ` Sebastian Wiesner
2013-10-29 14:27 ` Nathan Trapuzzano
2013-10-30 4:43 ` Stephen J. Turnbull
2013-10-30 7:23 ` Jorgen Schaefer
2013-10-30 8:09 ` Stephen J. Turnbull
2013-10-29 17:22 ` chad
2013-10-29 16:52 ` Stefan Monnier
2013-10-29 18:42 ` Sebastian Wiesner
2013-10-29 21:40 ` Stefan Monnier
2013-10-29 22:55 ` Xue Fuqiao
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
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=83iowfetpm.fsf@gnu.org \
--to=eliz@gnu.org \
--cc=emacs-devel@gnu.org \
--cc=lunaryorn@gmail.com \
--cc=nbtrap@nbtrap.com \
--cc=schwab@suse.de \
/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 public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).