unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Sam Steingold <sds@gnu.org>
To: Stefan Monnier <monnier@iro.umontreal.ca>
Cc: emacs-devel@gnu.org
Subject: Re: [Emacs-diffs] /srv/bzr/emacs/trunk r99848: (compilation-save-buffers-predicate):
Date: Mon, 12 Apr 2010 17:47:28 -0400	[thread overview]
Message-ID: <r2r1f77704b1004121447v29a3b815rbd2947f950212adc@mail.gmail.com> (raw)
In-Reply-To: <jwv8w8sqt6u.fsf-monnier+emacs@gnu.org>

On 4/12/10, Stefan Monnier <monnier@iro.umontreal.ca> wrote:
> >> Introducing `compile-default-directory' is not the end of the world, but
>  >> to my naive eyes, if `default-directory' doesn't point to the right
>  >> place, it's a bug to be fixed.
>  > default-directory "Automatically becomes buffer-local when set in any
>  > fashion" this means that it is useless in
>  > compilation-save-buffers-predicate because that is called inside the
>  > buffer to be saved and thus for it default-directory should be the
>  > directory where the buffer is located.
>
> Ah, yes, that would be a good reason, sorry for being so dense.

sorry about being unclear on this.

>  >>>> How 'bout this:
>  >>>> - we provide some way for the user to explain to compile.el how to find
>  >>>> her projects's root directories (e.g. a list of tell-tale file names).
>  >>> this is tricky: some files might be ordinary for some projects and the
>  >>> tell-tale for others.
>  >> I know, that's a significant problem, but I can't think of a really good
>  >> solution other than push it onto the user by providing a customizable
>  >> variable.  My main goal here is to make sure that we can support the
>  >> case where the user has several projects, which seems like a common
>  >> enough case, especially for Free Software hackers.
>  > I think this variable should be buffer-local (with an eye on being set in
>  > dir_locals).
>
>
> Ah!  Thanks for finally answering my original question "Could you
>  explain how you see it being used?" ;-)
>
>  My first answer would have been: in that case it probably shouldn't be
>  a defcustom.  But by now, I think we *can* give it a good global default
>  value (and justify it being a defcustom).
>
>  This default value will depend on Emacs being able to figure out what is
>  "the current project", which is something where Emacs needs to improve
>  anyway, so it's a good direction.

ok.

>  >>>> - and we can also provide an option to "cd to project's root before
>  >>>> running the command".
>  >>> I doubt the value of this.
>  >> I've used several build systems where this is necessary (e.g. a single
>  >> Makefile at the root, or something equivalent).  I usually work around
>  >> it with something like M-x compile RET cd ..; make RET, but if `compile'
>  >> could insert the "cd .." for me when needed it would be even better.
>
>  > this sounds like a case for yet another buffer-local variable -
>  > build-directory
>
>
> Could be.  In my case this build-dir has always been the same as the
>  project's root, but indeed there may be cases where something else
>  is needed.  We'll cross that bridge when we get there.

actually, in my case, the build directory is different from the root,
so I think that bridge is already there.
note also that the build directory can easily be _not_ under root, but
somewhere far far away, on a separate partition.

-- 
Sam Steingold <http://sds.podval.org>




  reply	other threads:[~2010-04-12 21:47 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <E1NzYsW-0004b6-Iu@internal.in.savannah.gnu.org>
2010-04-07 19:00 ` [Emacs-diffs] /srv/bzr/emacs/trunk r99848: (compilation-save-buffers-predicate): New custom variable Stefan Monnier
2010-04-07 20:40   ` Sam Steingold
2010-04-09  3:13     ` [Emacs-diffs] /srv/bzr/emacs/trunk r99848: (compilation-save-buffers-predicate): Stefan Monnier
2010-04-09 16:18       ` Sam Steingold
2010-04-10  1:04         ` Stefan Monnier
2010-04-11 19:21           ` Sam Steingold
2010-04-11 20:28             ` Stefan Monnier
2010-04-12 20:02               ` Sam Steingold
2010-04-12 21:15                 ` Stefan Monnier
2010-04-12 21:47                   ` Sam Steingold [this message]
2010-04-13  0:04                     ` Stefan Monnier
2010-04-13 17:07               ` Tom Tromey

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=r2r1f77704b1004121447v29a3b815rbd2947f950212adc@mail.gmail.com \
    --to=sds@gnu.org \
    --cc=emacs-devel@gnu.org \
    --cc=monnier@iro.umontreal.ca \
    /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).