From mboxrd@z Thu Jan  1 00:00:00 1970
Path: news.gmane.org!.POSTED!not-for-mail
From: Paul Eggert <eggert@cs.ucla.edu>
Newsgroups: gmane.emacs.devel
Subject: Re: scratch/accurate-warning-pos: Solid progress: the branch now
	bootstraps.
Date: Thu, 29 Nov 2018 13:28:06 -0800
Organization: UCLA Computer Science Department
Message-ID: <fd47ad54-1896-9a88-58b6-4d464e39f14f@cs.ucla.edu>
References: <83in0kijz0.fsf@gnu.org>
	<9e216e61-7d95-94f0-cbee-593b4f32ced2@cs.ucla.edu>
	<20181126184359.GG4030@ACM>
	<55044caa-18fb-9e9a-81b4-3912f64d0aa4@cs.ucla.edu>
	<20181127074336.GA4705@ACM>
	<0ec5806a-0cc6-8b9f-6bc2-97875e36a511@cs.ucla.edu>
	<20181127211539.GB4705@ACM>
	<8c38f335-b25d-9ef6-110c-6efc4fda9d67@cs.ucla.edu>
	<20181127215347.GC4705@ACM>
	<23334086-c0a1-7b34-4234-343719618bd1@cs.ucla.edu>
	<20181128120443.GA4036@ACM>
NNTP-Posting-Host: blaine.gmane.org
Mime-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit
X-Trace: blaine.gmane.org 1543526780 10810 195.159.176.226 (29 Nov 2018 21:26:20 GMT)
X-Complaints-To: usenet@blaine.gmane.org
NNTP-Posting-Date: Thu, 29 Nov 2018 21:26:20 +0000 (UTC)
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101
	Thunderbird/60.3.1
Cc: michael_heerdegen@web.de, Eli Zaretskii <eliz@gnu.org>, emacs-devel@gnu.org,
	cpitclaudel@gmail.com, monnier@IRO.UMontreal.CA
To: Alan Mackenzie <acm@muc.de>
Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Thu Nov 29 22:26:15 2018
Return-path: <emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org>
Envelope-to: ged-emacs-devel@m.gmane.org
Original-Received: from lists.gnu.org ([208.118.235.17])
	by blaine.gmane.org with esmtp (Exim 4.84_2)
	(envelope-from <emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org>)
	id 1gSTp7-0002ev-Gv
	for ged-emacs-devel@m.gmane.org; Thu, 29 Nov 2018 22:26:13 +0100
Original-Received: from localhost ([::1]:56512 helo=lists.gnu.org)
	by lists.gnu.org with esmtp (Exim 4.71)
	(envelope-from <emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org>)
	id 1gSTrD-0000G1-E0
	for ged-emacs-devel@m.gmane.org; Thu, 29 Nov 2018 16:28:23 -0500
Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:57692)
	by lists.gnu.org with esmtp (Exim 4.71)
	(envelope-from <eggert@cs.ucla.edu>) id 1gSTr4-0000Ee-UM
	for emacs-devel@gnu.org; Thu, 29 Nov 2018 16:28:15 -0500
Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
	(envelope-from <eggert@cs.ucla.edu>) id 1gSTr4-0001iH-5Y
	for emacs-devel@gnu.org; Thu, 29 Nov 2018 16:28:14 -0500
Original-Received: from zimbra.cs.ucla.edu ([131.179.128.68]:38186)
	by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32)
	(Exim 4.71) (envelope-from <eggert@cs.ucla.edu>)
	id 1gSTr0-0001de-Hy; Thu, 29 Nov 2018 16:28:10 -0500
Original-Received: from localhost (localhost [127.0.0.1])
	by zimbra.cs.ucla.edu (Postfix) with ESMTP id 46E89160224;
	Thu, 29 Nov 2018 13:28:08 -0800 (PST)
Original-Received: from zimbra.cs.ucla.edu ([127.0.0.1])
	by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10032)
	with ESMTP id ouyt3S3Dmeti; Thu, 29 Nov 2018 13:28:07 -0800 (PST)
Original-Received: from localhost (localhost [127.0.0.1])
	by zimbra.cs.ucla.edu (Postfix) with ESMTP id 7DE86160226;
	Thu, 29 Nov 2018 13:28:07 -0800 (PST)
X-Virus-Scanned: amavisd-new at zimbra.cs.ucla.edu
Original-Received: from zimbra.cs.ucla.edu ([127.0.0.1])
	by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10026)
	with ESMTP id LnQIBvdjlDdB; Thu, 29 Nov 2018 13:28:07 -0800 (PST)
Original-Received: from Penguin.CS.UCLA.EDU (Penguin.CS.UCLA.EDU [131.179.64.200])
	by zimbra.cs.ucla.edu (Postfix) with ESMTPSA id 60C86160169;
	Thu, 29 Nov 2018 13:28:07 -0800 (PST)
Openpgp: preference=signencrypt
Autocrypt: addr=eggert@cs.ucla.edu; prefer-encrypt=mutual; keydata=
	xsFNBEyAcmQBEADAAyH2xoTu7ppG5D3a8FMZEon74dCvc4+q1XA2J2tBy2pwaTqfhpxxdGA9
	Jj50UJ3PD4bSUEgN8tLZ0san47l5XTAFLi2456ciSl5m8sKaHlGdt9XmAAtmXqeZVIYX/UFS
	96fDzf4xhEmm/y7LbYEPQdUdxu47xA5KhTYp5bltF3WYDz1Ygd7gx07Auwp7iw7eNvnoDTAl
	KAl8KYDZzbDNCQGEbpY3efZIvPdeI+FWQN4W+kghy+P6au6PrIIhYraeua7XDdb2LS1en3Ss
	mE3QjqfRqI/A2ue8JMwsvXe/WK38Ezs6x74iTaqI3AFH6ilAhDqpMnd/msSESNFt76DiO1ZK
	QMr9amVPknjfPmJISqdhgB1DlEdw34sROf6V8mZw0xfqT6PKE46LcFefzs0kbg4GORf8vjG2
	Sf1tk5eU8MBiyN/bZ03bKNjNYMpODDQQwuP84kYLkX2wBxxMAhBxwbDVZudzxDZJ1C2VXujC
	OJVxq2kljBM9ETYuUGqd75AW2LXrLw6+MuIsHFAYAgRr7+KcwDgBAfwhPBYX34nSSiHlmLC+
	KaHLeCLF5ZI2vKm3HEeCTtlOg7xZEONgwzL+fdKo+D6SoC8RRxJKs8a3sVfI4t6CnrQzvJbB
	n6gxdgCu5i29J1QCYrCYvql2UyFPAK+do99/1jOXT4m2836j1wARAQABzSBQYXVsIEVnZ2Vy
	dCA8ZWdnZXJ0QGNzLnVjbGEuZWR1PsLBfgQTAQIAKAUCTIByZAIbAwUJEswDAAYLCQgHAwIG
	FQgCCQoLBBYCAwECH 
In-Reply-To: <20181128120443.GA4036@ACM>
Content-Language: en-US
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x [fuzzy]
X-Received-From: 131.179.128.68
X-BeenThere: emacs-devel@gnu.org
X-Mailman-Version: 2.1.21
Precedence: list
List-Id: "Emacs development discussions." <emacs-devel.gnu.org>
List-Unsubscribe: <https://lists.gnu.org/mailman/options/emacs-devel>,
	<mailto:emacs-devel-request@gnu.org?subject=unsubscribe>
List-Archive: <http://lists.gnu.org/archive/html/emacs-devel/>
List-Post: <mailto:emacs-devel@gnu.org>
List-Help: <mailto:emacs-devel-request@gnu.org?subject=help>
List-Subscribe: <https://lists.gnu.org/mailman/listinfo/emacs-devel>,
	<mailto:emacs-devel-request@gnu.org?subject=subscribe>
Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org
Original-Sender: "Emacs-devel" <emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org>
Xref: news.gmane.org gmane.emacs.devel:231522
Archived-At: <http://permalink.gmane.org/gmane.emacs.devel/231522>

On 11/28/18 4:04 AM, Alan Mackenzie wrote:

> Assuming the macro is compiled, just where are these cons positions
> going to be stored?

The same place we store the rest of compiled output. That is, when we 
byte-compile macros, we store the uncompiled macros (with source-pos 
info) into the .elc file. Then, any code that wants accurate line number 
or similar debugging information for the macro can use the uncompiled 
version. It's pretty common to bloat object files to support debugging 
in this way.

This approach wouldn't work for .elc files generated by older versions 
of Emacs, but that's OK; the old macros should still work, it's just 
that the byte-compiler's diagnostics will be just as bad as before.

(Sorry, I don't know how edebug works so I don't know how this would 
affect edebug.)

> You're wrong, here.  Symbols-with-pos works on the output from macros.
> Conses-with-pos will only do so for some "nice" macros, ones which
> preserve their input conses.
I'm afraid we'll have to disagree here, as I can see examples where 
symbols-with-pos fails and conses-with-pos works (as well as vice 
versa). The only good way I see to resolve the disagreement would be to 
build it both ways and see which typically works better in the real 
world. A daunting prospect, admittedly.