From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Stefan Monnier Newsgroups: gmane.emacs.devel Subject: Re: Thoughts on getting correct line numbers in the byte compiler's warning messages Date: Wed, 14 Nov 2018 08:34:28 -0500 Message-ID: References: <20181106151143.GB4030@ACM> <20181107170036.GA4934@ACM> <20181107184708.GB4934@ACM> <20181108140843.GB5041@ACM> <20181112154448.GB4459@ACM> <20181112213513.GD4459@ACM> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: blaine.gmane.org 1542203054 15798 195.159.176.226 (14 Nov 2018 13:44:14 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Wed, 14 Nov 2018 13:44:14 +0000 (UTC) User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed Nov 14 14:44:10 2018 Return-path: 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 ) id 1gMvSj-00040n-E9 for ged-emacs-devel@m.gmane.org; Wed, 14 Nov 2018 14:44:09 +0100 Original-Received: from localhost ([::1]:60426 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gMvUp-0005aQ-NC for ged-emacs-devel@m.gmane.org; Wed, 14 Nov 2018 08:46:19 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:49117) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gMvJe-00058C-66 for emacs-devel@gnu.org; Wed, 14 Nov 2018 08:34:46 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gMvJZ-0003pP-Hh for emacs-devel@gnu.org; Wed, 14 Nov 2018 08:34:45 -0500 Original-Received: from [195.159.176.226] (port=52987 helo=blaine.gmane.org) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1gMvJX-0003lG-KP for emacs-devel@gnu.org; Wed, 14 Nov 2018 08:34:40 -0500 Original-Received: from list by blaine.gmane.org with local (Exim 4.84_2) (envelope-from ) id 1gMvHK-0005xn-VL for emacs-devel@gnu.org; Wed, 14 Nov 2018 14:32:22 +0100 X-Injected-Via-Gmane: http://gmane.org/ Original-Lines: 25 Original-X-Complaints-To: usenet@blaine.gmane.org Cancel-Lock: sha1:Ks5wqXATpL0yRm00KdNH0/IXUFM= X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 195.159.176.226 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.org gmane.emacs.devel:231128 Archived-At: >> Changing `eq` would better be avoided, > I agree, but don't see how we can avoid it. Oh... you mean when someone else's macro does for example (defmacro ... (if (eq x 'foo) `(...) `(...))) ...hmm... yes, this is getting really ugly. Maybe the "big cons-cells" approach is not that bad after all, since it doesn't try to introduce new objects which are "equal but not": it just introduces a subtype of cons-cells and that's that, so it's semantically much simpler/cleaner. It will require special code in alloc.c to keep the special representation of normal cons-cells, and special extra code to propagate the location information in macroexp.el, cconv.el, byte-opt.el, bytecomp.el but the impact should be much more localized (and at places where normal compilers also have to do this kind of work). Stefan