unofficial mirror of help-gnu-emacs@gnu.org
 help / color / mirror / Atom feed
From: "grischka" <grishka@gmx.de>
To: "Dave Korn" <dave.korn@artimi.com>
Cc: help-gnu-emacs@gnu.org
Subject: Re: removing compile directive
Date: Fri, 25 Apr 2008 18:32:11 +0200	[thread overview]
Message-ID: <040901c8a6f2$1a209ae0$5e45fe91@j4f3n1> (raw)
In-Reply-To: 002c01c8a56b$da5ed1b0$2708a8c0@CAM.ARTIMI.COM

From: "Dave Korn":

> >> On Mon, 2008-04-21 at 10:43 -0700, Brian Dessent wrote:
> >>> CFLAGS = $(filter-out -D_REMOVE_THIS_,$(CFLAGS))
> >> 
> >> You can't do this: recursive variables cannot reference themselves.
> > 
> > I'm actually curious whether this is considered as a feature or a
> > limitation, or maybe just tradition with GNU make?
>
>   It's a limitation in the nature of the universe: the universe is finite, and
> therefore the entropic limits on computability that follow from its finite
> nature mean we can never run an infinite loop to recursion.
>  
> > I mean, basically it is very clear what the writer of above line
> > has in mind, so the program could as well support it.
> 
>   I assume the "very clear" intention that you perceive the writer to have had
> in mind is this:
> 
> CFLAGS := $(filter-out -D_REMOVE_THIS_,$(CFLAGS))
> 
> i.e. a non-recursive operation; and that you are suggesting that make could
> overlook the fact that what they actually wrote was an operation that recurses
> infinitely because it has no termination condition.

What I mean is that it is not obvious that it has no termination condition, 
anyway less obvious than that it could have one. 

Just as you could see 'CFLAGS += -Dxxx' also as an impossibility with 
no termination condition, but it is more useful if you don't.

Similar in the general case the more obvious model incidentally also 
seems to be the more useful one, because (if supported) it allows 
you to emulate 'CFLAGS -= -Dxxx' by other facitilities that GNU make 
already has, quite easily.

Btw, could be I saw '-=' in jam (or maybe some other make program).

--- grischka





       reply	other threads:[~2008-04-25 16:32 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <00c701c8a4c8$d96134e0$a01a90d4@j4f3n1>
     [not found] ` <002c01c8a56b$da5ed1b0$2708a8c0@CAM.ARTIMI.COM>
2008-04-25 16:32   ` grischka [this message]
2008-04-25 18:02     ` removing compile directive Dave Korn

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='040901c8a6f2$1a209ae0$5e45fe91@j4f3n1' \
    --to=grishka@gmx.de \
    --cc=dave.korn@artimi.com \
    --cc=help-gnu-emacs@gnu.org \
    /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.
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).