From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: "Dave Korn" Newsgroups: gmane.emacs.help Subject: RE: removing compile directive Date: Fri, 25 Apr 2008 19:02:05 +0100 Message-ID: <023a01c8a6fe$7853f010$2708a8c0@CAM.ARTIMI.COM> References: <00c701c8a4c8$d96134e0$a01a90d4@j4f3n1> <002c01c8a56b$da5ed1b0$2708a8c0@CAM.ARTIMI.COM> <040901c8a6f2$1a209ae0$5e45fe91@j4f3n1> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-Trace: ger.gmane.org 1209223290 13354 80.91.229.12 (26 Apr 2008 15:21:30 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sat, 26 Apr 2008 15:21:30 +0000 (UTC) Cc: help-gnu-emacs@gnu.org To: "'grischka'" Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Sat Apr 26 17:22:05 2008 connect(): Connection refused Return-path: Envelope-to: geh-help-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1JpmDx-0003Q2-Hc for geh-help-gnu-emacs@m.gmane.org; Sat, 26 Apr 2008 17:22:01 +0200 Original-Received: from localhost ([127.0.0.1]:42913 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1JpmDH-0000u2-39 for geh-help-gnu-emacs@m.gmane.org; Sat, 26 Apr 2008 11:21:19 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1JpjeT-0001PL-8W for help-gnu-emacs@gnu.org; Sat, 26 Apr 2008 08:37:13 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1JpjeS-0001Ny-8z for help-gnu-emacs@gnu.org; Sat, 26 Apr 2008 08:37:12 -0400 Original-Received: from [199.232.76.173] (port=42452 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1JpjeS-0001Ng-4n for help-gnu-emacs@gnu.org; Sat, 26 Apr 2008 08:37:12 -0400 Original-Received: from mx2.bt.net ([217.35.209.165]) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1JpjeR-0004vH-Pm for help-gnu-emacs@gnu.org; Sat, 26 Apr 2008 08:37:12 -0400 Original-Received: from [194.72.81.2] (helo=mail.artimi.com) by insmtp25 with esmtp (Exim 4.50) id 1JpjeB-0002m0-KS; Sat, 26 Apr 2008 13:36:55 +0100 Original-Received: from ALBATROSS ([192.168.8.39]) by mail.artimi.com with Microsoft SMTPSVC(6.0.3790.3959); Fri, 25 Apr 2008 19:02:03 +0100 X-Mailer: Microsoft Office Outlook 11 In-Reply-To: <040901c8a6f2$1a209ae0$5e45fe91@j4f3n1> X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.3198 Thread-Index: Acim8haCGTTGeMYATvethlIQBb8idQAAEiUw X-OriginalArrivalTime: 25 Apr 2008 18:02:03.0906 (UTC) FILETIME=[77A1DE20:01C8A6FE] X-detected-kernel: by monty-python.gnu.org: Linux 2.6, seldom 2.4 (older, 4) X-Mailman-Approved-At: Sat, 26 Apr 2008 11:20:09 -0400 X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.help:53557 Archived-At: grischka wrote on 25 April 2008 17:32: > From: "Dave Korn": > >> From: grischka >>> >>> 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. No it isn't: in fact, that's the very reason why the += syntax exists; it allows you to append something yet still retain deferred evaluation. Your assumption that 'CFLAGS += -Dxxx' is the same statement as 'CFLAGS = $(CFLAGS) -Dxxx' is not quite right; although your assumption that it's not the same as 'CFLAGS := $(CFLAGS) -Dxxx' is correct, it's a fallacy of the excluded middle to assume that the only other possibility is the deferred assignment. In fact, += is not an operation that can be translated into a plain-old assignment and still retain the same semantics. > 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). You have, of course, identified a good reason for adding a '-=' operator to make, by analogy to why '+=' exists. cheers, DaveK -- Can't think of a witty .sigline today....