From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Tom Gillespie Newsgroups: gmane.emacs.bugs Subject: bug#55645: src/print.c; print_object changes make it impossible to compare elisp code across versions Date: Sat, 28 May 2022 10:54:25 -0700 Message-ID: References: <87zgj4biw7.fsf@gnus.org> <874k1b9ser.fsf@gnus.org> <874k1a54ap.fsf@gnus.org> Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="10942"; mail-complaints-to="usenet@ciao.gmane.io" Cc: 55645@debbugs.gnu.org To: Lars Ingebrigtsen Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Sat May 28 19:55:13 2022 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1nv0ee-0002g2-ED for geb-bug-gnu-emacs@m.gmane-mx.org; Sat, 28 May 2022 19:55:12 +0200 Original-Received: from localhost ([::1]:39848 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nv0ec-0008G8-Tb for geb-bug-gnu-emacs@m.gmane-mx.org; Sat, 28 May 2022 13:55:10 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:46080) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nv0eU-0008Eh-Sr for bug-gnu-emacs@gnu.org; Sat, 28 May 2022 13:55:02 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:44967) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nv0eU-00071h-Ih for bug-gnu-emacs@gnu.org; Sat, 28 May 2022 13:55:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1nv0eU-00031y-GS for bug-gnu-emacs@gnu.org; Sat, 28 May 2022 13:55:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Tom Gillespie Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 28 May 2022 17:55:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 55645 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: moreinfo Original-Received: via spool by 55645-submit@debbugs.gnu.org id=B55645.165376048411624 (code B ref 55645); Sat, 28 May 2022 17:55:02 +0000 Original-Received: (at 55645) by debbugs.gnu.org; 28 May 2022 17:54:44 +0000 Original-Received: from localhost ([127.0.0.1]:38864 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nv0eC-00031P-2s for submit@debbugs.gnu.org; Sat, 28 May 2022 13:54:44 -0400 Original-Received: from mail-yw1-f172.google.com ([209.85.128.172]:42715) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nv0eA-00031D-I2 for 55645@debbugs.gnu.org; Sat, 28 May 2022 13:54:42 -0400 Original-Received: by mail-yw1-f172.google.com with SMTP id 00721157ae682-2ef5380669cso75263307b3.9 for <55645@debbugs.gnu.org>; Sat, 28 May 2022 10:54:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=GYY8vyhOCZZAKWTF8h20p2i/qxstgi4ljecF2ogeu4E=; b=T0AOeXJvblcmLWPLgCkESxIUqq4V1L0j208bXTipUFNVURfIrrUBXF90CviW01cU33 HYy2cTBIWkbtH3ftZdqjN6cb9xDWbXL5jt32xcHuGudLktA9/psz3OpeageZbjFind// AZzKMqxHwb2pJJM20tPQVg61o7SVMRFA4m9GHO0XqUofA1EvE5tD8+mCQwY2pNKRnU6P DYKzofg1HPRvxvhZKcjSp+ONXFt1E2frCovgkDBnIsDUeGlvtBgxjjXjJ8McTtquJkE3 SkNMUCG1vR0xN+/Rnz1GzpQ5qi91fhTvdmKyop7M4RQT6AcskRTR8fAIA3tf7cPuAv+X Qe2Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=GYY8vyhOCZZAKWTF8h20p2i/qxstgi4ljecF2ogeu4E=; b=O6pmCW9F88jhVOcO9sNouZ+H/AIurp5JNe04QPGinlTilePGJh7Ougw2sc5WcsXlo+ 8ALhe75LB2aT+p8hf2abkuBKHJMxymdSJWxSmJwKMA/NxiZYh4t7I/KHnaxFP4LpLXvN iAX2PmwCO5VuBQ+tuxI5AaABgfggPRzS1/8mapnG5TtYPG8b3w3g8ube7Ak6VNcnDGJ/ iZhH0Aua3W9zVlAlm/rJnw+/seF8LoDN1g98jNCAMDXhK3vLOVtqQSXB1tOZP+tM7g6v yp3rwXfrvkrSsQEqj79AaDb8VxEnl2dlRVBDgvaEx18RRLaUABHdZJFqI4M3nU5yzG2l jhvQ== X-Gm-Message-State: AOAM530TjhPfaIRHi1cNb5MoaGqzLo64PFzcyENF8AGc2PvABmd59HK4 CuM2X2uzXPE47N9uzCJIi3J3pDhubXb15GBIPV0= X-Google-Smtp-Source: ABdhPJx4dFptHept/icvz77+Rzf/DpKksYfHsTaNExkg5mqneCP2FDd20bMKbgQUGMeW+hSjZwHYKsoRzE1STHaADV0= X-Received: by 2002:a05:690c:97:b0:2f1:9582:6685 with SMTP id be23-20020a05690c009700b002f195826685mr52074663ywb.395.1653760476768; Sat, 28 May 2022 10:54:36 -0700 (PDT) In-Reply-To: <874k1a54ap.fsf@gnus.org> X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.io gmane.emacs.bugs:233271 Archived-At: > If you're using prin1 as a way to compare stably differences between > objects, this only works by accident: You have to be very lucky in which > objects you have included in the output so far if you've managed to make > this code work over time. Ah I think I know what is missing here. I'm not trying to compare arbitrary elisp objects. I'm explicitly only trying to compare literal emacs lisp source code and that has been extremely easy since at least emacs 24 (iirc it is also the same in 23). The only issue I have encountered was a change in iirc 27 of the default value for print-escape-newlines or something like that. > We can indeed add something that lets you control how symbols in > specific are output by prin1, but I don't really see the utility in > general -- because we have changed, and will change, how other objects > are output by prin1, and if the objects you're outputting happens to > contain these, your algo will break again. These aren't arbitrary elisp objects, they are only objects that appear in quoted elisp source code. There has been exactly one change in that since emacs 24 (and possibly before), and it was a change where there was already a variable to control the behavior.