Received: (at 55137) by debbugs.gnu.org; 27 Apr 2022 11:20:48 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Wed Apr 27 07:20:48 2022 Received: from localhost ([127.0.0.1]:41344 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1njfiy-0005vM-Ek for submit <at> debbugs.gnu.org; Wed, 27 Apr 2022 07:20:48 -0400 Received: from smtp-3.orcon.net.nz ([60.234.4.44]:53007) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <psainty@HIDDEN>) id 1njfiv-0005vB-2p for 55137 <at> debbugs.gnu.org; Wed, 27 Apr 2022 07:20:46 -0400 Received: from [10.253.37.70] (port=35617 helo=webmail.orcon.net.nz) by smtp-3.orcon.net.nz with esmtpa (Exim 4.90_1) (envelope-from <psainty@HIDDEN>) id 1njfir-0000Xh-TZ; Wed, 27 Apr 2022 23:20:42 +1200 Received: from ip-139-180-65-103.kinect.net.nz ([139.180.65.103]) via [10.253.37.253] by webmail.orcon.net.nz with HTTP (HTTP/1.1 POST); Wed, 27 Apr 2022 23:20:41 +1200 MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII; format=flowed Content-Transfer-Encoding: 7bit Date: Wed, 27 Apr 2022 23:20:41 +1200 From: Phil Sainty <psainty@HIDDEN> To: Paul Pogonyshev <pogonyshev@HIDDEN> Subject: Re: bug#55137: Different result when interpreted and when evaluating byte-compiled code In-Reply-To: <CAG7BpaqmWCYjdqDwQYZubgkYQdJH39wuh123+3G1P5oVhb5fJg@HIDDEN> References: <CAG7BpaqmWCYjdqDwQYZubgkYQdJH39wuh123+3G1P5oVhb5fJg@HIDDEN> Message-ID: <8ddae25aa2488d550ca63e396015002e@HIDDEN> X-Sender: psainty@HIDDEN User-Agent: Orcon Webmail X-GeoIP: -- X-Spam_score: -2.9 X-Spam_score_int: -28 X-Spam_bar: -- X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 55137 Cc: 55137 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) On 2022-04-27 10:16, Paul Pogonyshev wrote: > (defmacro is-special-as-macro () > (special-variable-p 'special-variable)) This macro does not expand to code which calls `special-variable-p'. Rather it calls `special-variable-p' at expansion time, and expands to the return value of that call (nil or t). If you byte-compile your code without loading it, then your would-be `special-variable' doesn't exist, and hence your macro was expanding to nil rather than t. Try this: (defmacro is-special-as-macro () '(special-variable-p 'special-variable)) -Phil
bug-gnu-emacs@HIDDEN
:bug#55137
; Package emacs
.
Full text available.Received: (at 55137) by debbugs.gnu.org; 27 Apr 2022 09:19:36 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Wed Apr 27 05:19:36 2022 Received: from localhost ([127.0.0.1]:41257 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1njdpf-0002kW-R4 for submit <at> debbugs.gnu.org; Wed, 27 Apr 2022 05:19:36 -0400 Received: from mail-ed1-f42.google.com ([209.85.208.42]:37855) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <pogonyshev@HIDDEN>) id 1njdpe-0002kH-GU for 55137 <at> debbugs.gnu.org; Wed, 27 Apr 2022 05:19:35 -0400 Received: by mail-ed1-f42.google.com with SMTP id k27so1204833edk.4 for <55137 <at> debbugs.gnu.org>; Wed, 27 Apr 2022 02:19:34 -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=/Zp1m2IGpnpM2+kyYegAYOiX/dfo7pwn6zA56d4xMww=; b=CDg7kev2i/X2T19rjD2APQhIewFIayLVfgPs91+1mHuggARgyR9k7fY89N55GqPwUe u3Xj9EsHYmoMqIp29dx3KIC1H0+YOBfdt96HMpb+r2xnZTkcTJUgDt+EKy5K+ZLsEBQ1 T6Ru1nlBKWXdmonCp49eetEltZbpBn0z4DokjefwLFd0N6O9Hsm9d7tBAJge1Z2O5Sc9 mOrfJRXlhFTEveh8fc62JWrGPRikbbU6Dtqc3PEY/VWwYfzqT5NX0/aa/d6hAge42A/z 4VvZYgWD+0ROmWRbpXNtMv0LBtqIu3b6YPxi8FzSYnHOPh2+cz2p6H3s9R8787lUIL4D eeYA== 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=/Zp1m2IGpnpM2+kyYegAYOiX/dfo7pwn6zA56d4xMww=; b=Sp4WKGfiJQS4F0PhDnxa8oRXRpjkXPRzD1qu7vSJhRhfowoaWErGORypzx1zvw/ARX 64PFuXLJuF84nuC2OYPjws0Tb0afKc4s18zfxYnNglXZxJMmInuettg8+LUN/6NuNepR f02eO8YNn6iphARcSqAYpxGMP9bAia0B4WrLnBs2z/QRvGouYwoaKciF9TaIx4dEOqt2 +4wcoVHa6BxQB6xQtL4NcSMOQVSWiUOYEa4bkPMrCKz7kNA/uL2m2T5vAGWR+elFOve+ 7SkgPc222zuI0vkheWmBTEIrgW75dwJpCrHrOWcZxhSERO57Kdas8tAKOEHgA5K/z05Y So0g== X-Gm-Message-State: AOAM530r27GEmtBTNuFPeptD64OnKreo4kVrtKxeafMcOnqgQ8XQjzid k7i7k4by9rzke91z9uE+YyRdOzH+cUAssNrKkA== X-Google-Smtp-Source: ABdhPJyAVR9MjDsnxjerjvsaEjWoYh4GLaa228L98KfZI9HmGCXUuNF53s/2VJKqpV1XE5W2pZ0hzO/YmGvmQ4yKSiA= X-Received: by 2002:a05:6402:5191:b0:423:fa7f:f4c2 with SMTP id q17-20020a056402519100b00423fa7ff4c2mr29658993edd.9.1651051168462; Wed, 27 Apr 2022 02:19:28 -0700 (PDT) MIME-Version: 1.0 References: <CAG7BpaqmWCYjdqDwQYZubgkYQdJH39wuh123+3G1P5oVhb5fJg@HIDDEN> <83k0bbl0qa.fsf@HIDDEN> In-Reply-To: <83k0bbl0qa.fsf@HIDDEN> From: Paul Pogonyshev <pogonyshev@HIDDEN> Date: Wed, 27 Apr 2022 11:19:17 +0200 Message-ID: <CAG7BpaoK6oBtRLmDtjeLTybRfB=G4xHa3zdK5VDnRYPb8+vc=Q@HIDDEN> Subject: Re: bug#55137: Different result when interpreted and when evaluating byte-compiled code To: Eli Zaretskii <eliz@HIDDEN> Content-Type: multipart/alternative; boundary="00000000000066fb2405dd9f4e2b" X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 55137 Cc: 55137 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) --00000000000066fb2405dd9f4e2b Content-Type: text/plain; charset="UTF-8" Originally reproduced with 27.2. I now upgraded to 28.1. Pretty sure it is the same with master. In GNU Emacs 28.1.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version 2.24.33, cairo version 1.16.0) of 2022-04-27 built on gonzo Repository revision: b511f5c05ced05fc7d1e403002bc5ba782879cba Repository branch: emacs-28 Windowing system distributor 'The X.Org Foundation', version 11.0.12014000 System Description: Debian GNU/Linux bookworm/sid Configured using: 'configure --with-x-toolkit=gtk2' Configured features: CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GSETTINGS HARFBUZZ JPEG LIBSELINUX LIBXML2 MODULES NOTIFY INOTIFY PDUMPER PNG SECCOMP SOUND THREADS TIFF TOOLKIT_SCROLL_BARS X11 XDBE XIM XPM GTK2 ZLIB Important settings: value of $LC_MONETARY: de_AT.UTF-8 value of $LC_NUMERIC: ru_RU.UTF-8 value of $LC_TIME: de_DE.UTF-8 value of $LANG: en_CA.UTF-8 locale-coding-system: utf-8-unix On Wed, 27 Apr 2022 at 04:27, Eli Zaretskii <eliz@HIDDEN> wrote: > > From: Paul Pogonyshev <pogonyshev@HIDDEN> > > Date: Wed, 27 Apr 2022 00:16:42 +0200 > > > > I'm not absolutely sure if it is a bug or a "feature", but it is > > extremely confusing. > > Thanks, but please tell in what version of Emacs is this, and > preferably show the information about your build that's collected by > "M-x report-emacs-bug". > --00000000000066fb2405dd9f4e2b Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable <div dir=3D"ltr"><div>Originally reproduced with 27.2. I now upgraded to 28= .1. Pretty sure it is the same with master.</div><div><br></div>In GNU Emac= s 28.1.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version 2.24.33, cairo versio= n 1.16.0)<br>=C2=A0of 2022-04-27 built on gonzo<br>Repository revision: b51= 1f5c05ced05fc7d1e403002bc5ba782879cba<br>Repository branch: emacs-28<br>Win= dowing system distributor 'The X.Org Foundation', version 11.0.1201= 4000<br>System Description: Debian GNU/Linux bookworm/sid<br><br>Configured= using:<br>=C2=A0'configure --with-x-toolkit=3Dgtk2'<br><br>Configu= red features:<br>CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GSETTINGS HARFBUZZ= JPEG<br>LIBSELINUX LIBXML2 MODULES NOTIFY INOTIFY PDUMPER PNG SECCOMP SOUN= D<br>THREADS TIFF TOOLKIT_SCROLL_BARS X11 XDBE XIM XPM GTK2 ZLIB<br><br>Imp= ortant settings:<br>=C2=A0 value of $LC_MONETARY: de_AT.UTF-8<br>=C2=A0 val= ue of $LC_NUMERIC: ru_RU.UTF-8<br>=C2=A0 value of $LC_TIME: de_DE.UTF-8<br>= =C2=A0 value of $LANG: en_CA.UTF-8<br>=C2=A0 locale-coding-system: utf-8-un= ix<br></div><br><div class=3D"gmail_quote"><div dir=3D"ltr" class=3D"gmail_= attr">On Wed, 27 Apr 2022 at 04:27, Eli Zaretskii <<a href=3D"mailto:eli= z@HIDDEN">eliz@HIDDEN</a>> wrote:<br></div><blockquote class=3D"gmail_= quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,= 204);padding-left:1ex">> From: Paul Pogonyshev <<a href=3D"mailto:pog= onyshev@HIDDEN" target=3D"_blank">pogonyshev@HIDDEN</a>><br> > Date: Wed, 27 Apr 2022 00:16:42 +0200<br> > <br> > I'm not absolutely sure if it is a bug or a "feature", b= ut it is<br> > extremely confusing.<br> <br> Thanks, but please tell in what version of Emacs is this, and<br> preferably show the information about your build that's collected by<br= > "M-x report-emacs-bug".<br> </blockquote></div> --00000000000066fb2405dd9f4e2b--
bug-gnu-emacs@HIDDEN
:bug#55137
; Package emacs
.
Full text available.Received: (at 55137) by debbugs.gnu.org; 27 Apr 2022 02:27:45 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Tue Apr 26 22:27:45 2022 Received: from localhost ([127.0.0.1]:40842 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1njXP7-0000VP-KZ for submit <at> debbugs.gnu.org; Tue, 26 Apr 2022 22:27:45 -0400 Received: from eggs.gnu.org ([209.51.188.92]:37392) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1njXP5-0000VA-C4 for 55137 <at> debbugs.gnu.org; Tue, 26 Apr 2022 22:27:45 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:45506) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <eliz@HIDDEN>) id 1njXP0-0005qR-2a; Tue, 26 Apr 2022 22:27:38 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=exzYm/sr8Od7+6gLZmPMIBE8YIiH94UtBd10MOlpDvM=; b=POOFclLC1huL 2spp6FG7fXz10VeKGyJdqzOdqZc6fTX7+DIYn9sfT9aCoevzo7QrtfTIs8c6+VrULnhmPkPL4Q1II 4ZP2QMKYSn51QjJh/xGSbSguN2uMsRNztv3l70A8YX+w3sj3HD5/YQiE+JNTK4DI5IdvdvOGWCxGR CYEbotcrpe5A6MpQVLkFTTiqaGItZrELdW6F9Evx7LOapDBEhFos1WSemqSpVs0Qe4+iSDtAFvnds sMS51OnBbLX0mCwo+7qgtr2dNhXLBN8q3Ygwru4t7bWwtgQT6QSstWgTurBxhUkhfrzPRwvJK2yJo MRna3T6mxdlS8qDvHuB/4g==; Received: from [87.69.77.57] (port=1064 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <eliz@HIDDEN>) id 1njXOz-0005ME-Hf; Tue, 26 Apr 2022 22:27:37 -0400 Date: Wed, 27 Apr 2022 05:27:25 +0300 Message-Id: <83k0bbl0qa.fsf@HIDDEN> From: Eli Zaretskii <eliz@HIDDEN> To: Paul Pogonyshev <pogonyshev@HIDDEN> In-Reply-To: <CAG7BpaqmWCYjdqDwQYZubgkYQdJH39wuh123+3G1P5oVhb5fJg@HIDDEN> (message from Paul Pogonyshev on Wed, 27 Apr 2022 00:16:42 +0200) Subject: Re: bug#55137: Different result when interpreted and when evaluating byte-compiled code References: <CAG7BpaqmWCYjdqDwQYZubgkYQdJH39wuh123+3G1P5oVhb5fJg@HIDDEN> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 55137 Cc: 55137 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -3.3 (---) > From: Paul Pogonyshev <pogonyshev@HIDDEN> > Date: Wed, 27 Apr 2022 00:16:42 +0200 > > I'm not absolutely sure if it is a bug or a "feature", but it is > extremely confusing. Thanks, but please tell in what version of Emacs is this, and preferably show the information about your build that's collected by "M-x report-emacs-bug".
bug-gnu-emacs@HIDDEN
:bug#55137
; Package emacs
.
Full text available.Received: (at submit) by debbugs.gnu.org; 26 Apr 2022 22:17:01 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Tue Apr 26 18:17:01 2022 Received: from localhost ([127.0.0.1]:40700 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1njTUT-0002gY-02 for submit <at> debbugs.gnu.org; Tue, 26 Apr 2022 18:17:01 -0400 Received: from lists.gnu.org ([209.51.188.17]:33074) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <pogonyshev@HIDDEN>) id 1njTUP-0002gP-T0 for submit <at> debbugs.gnu.org; Tue, 26 Apr 2022 18:17:00 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:36394) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <pogonyshev@HIDDEN>) id 1njTUP-0006s1-MZ for bug-gnu-emacs@HIDDEN; Tue, 26 Apr 2022 18:16:57 -0400 Received: from mail-ed1-x529.google.com ([2a00:1450:4864:20::529]:36381) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from <pogonyshev@HIDDEN>) id 1njTUN-0001BS-Uo for bug-gnu-emacs@HIDDEN; Tue, 26 Apr 2022 18:16:57 -0400 Received: by mail-ed1-x529.google.com with SMTP id a1so18388716edt.3 for <bug-gnu-emacs@HIDDEN>; Tue, 26 Apr 2022 15:16:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:from:date:message-id:subject:to; bh=o7F/mO8l0vxecJpCZTRnKkKQSCsskjPCRp6AIfbJpuI=; b=qXdp2vQh9WbIZzSkYyiPycP+nausWmoZU0Ku8cEtuFjQViLZHYGuhr6rTWDh5KqT85 641CrXO1gK1dRB1fhajCqtvxMXkhUPqD6k+nLllZcVhUzFAiuTZWOJBRO21FuHcr/jRf YgkWPVoA5AqOPQTOcTEsIH2nOqgDkwKwth82dh7Uz37oyNT0LcPTo66XJzJ/cHK8+avn VmQrkz4bwmwxLR+nk6Ww9itctqsn/5cdbm2Qgg++53bO2d1RmNnWQ71yBwzTqZln9Sjs 8Z0jJd5jU17qT2ymVrG7bBfFg2ZOkuwSQXfpQbRQJzRCQhdPbbG75u85qrUtwrXVS24B DOlA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=o7F/mO8l0vxecJpCZTRnKkKQSCsskjPCRp6AIfbJpuI=; b=ZXoBkT2zxPYldTLS1U7qTtZryd/I6AFjTkVqpxAnEEhA2QbOmT8Ks49jhkks4ROcLc EUePFWKey5I1pEnMER06uZn/sLlDvZ1MyfxZ+12XUlS7AfwAkeRL0jq7Ox8g7zQs2NPX TChqYwiTPXcRj/Aw3npXJL6wQDFQM2Tb7KcH51+sn3QPq/n03BOr40uKF86pzuOoFZ75 bfQJAsv9qTJ3ZpYGJobsDCzMxQbpkciqZXcf46kggO1/jkEX4Omkl5K/5/EJOT4kSqwQ /aBQjZ1wcy8hguZWVZZnWVprphodqmIK7prue6hHNpY0YbQSlVhvRBtF+INsr7sjMYyZ fSYg== X-Gm-Message-State: AOAM533PJiehLbRz6HWYafJV+tIGbLtfY8gjgpr8weipvuv4BRc11wwZ +Gx+UMqImklQey6TpM1igEw/Ugux0jzQT6aLWRL/8QxKzIjF X-Google-Smtp-Source: ABdhPJwyN3k0L9PJakeYdQCNaPfVTwmwpQhtWZrdgUpn3jlx+zjiQMWMmkF/mHmU5J9uAsByTsjOvi6hpnsI5XmFIGY= X-Received: by 2002:a05:6402:330b:b0:425:eded:7cfe with SMTP id e11-20020a056402330b00b00425eded7cfemr11713143eda.357.1651011413651; Tue, 26 Apr 2022 15:16:53 -0700 (PDT) MIME-Version: 1.0 From: Paul Pogonyshev <pogonyshev@HIDDEN> Date: Wed, 27 Apr 2022 00:16:42 +0200 Message-ID: <CAG7BpaqmWCYjdqDwQYZubgkYQdJH39wuh123+3G1P5oVhb5fJg@HIDDEN> Subject: Different result when interpreted and when evaluating byte-compiled code To: bug-gnu-emacs@HIDDEN Content-Type: multipart/alternative; boundary="000000000000d4b4ca05dd960c7f" Received-SPF: pass client-ip=2a00:1450:4864:20::529; envelope-from=pogonyshev@HIDDEN; helo=mail-ed1-x529.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.3 (-) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -2.3 (--) --000000000000d4b4ca05dd960c7f Content-Type: text/plain; charset="UTF-8" I'm not absolutely sure if it is a bug or a "feature", but it is extremely confusing. To reproduce: store this as file `test.el': (defvar special-variable nil) (defmacro is-special-as-macro () (special-variable-p 'special-variable)) (defun is-special-as-function () (is-special-as-macro)) (print (is-special-as-function)) (print (eval '(is-special-as-macro))) Now, from command line: $ rm -f test.elc; emacs --batch -l test.el This loads the file as interpreted Elisp and prints `t' two times, i.e. always recognizes the variable as special. Next, byte-compile the file before loading: $ rm -f test.elc; emacs --batch --eval "(byte-compile-file \"test.el\")"; emacs --batch -l test.elc This prints `nil' and `t', i.e. variable is now considered non-special by `is-special-as-function'. From investigating `.elc' file, it is apparent that this is encoded into it as a macroexpanded constant. Note that `is-special-as-macro' still works fine, the problem appears only when it gets macroexpanded during byte-compilation. So, apparently `defvar' form is sort of "skipped without paying attention" during byte-compilation. If I put it into an `eval-and-compile' form, then macroexpansion does produce expected result. I noticed this with code using `iter2' library. When `iter2-defun' generator functions get macroexpanded during compilation, built-in `special-variable-p' is called, because for generator functions this is important to distinguish between local and dynamic variables. The example above is derived from debugging real failure. Standard `generator' package is also affected. Here is example code: ;;; -*- lexical-binding: t -*- (require 'generator) (defvar special-variable nil) (defun get-special-variable () special-variable) (iter-defun buggy () (let ((special-variable t)) (iter-yield (get-special-variable)))) (print (iter-next (buggy))) As before, save as `test.el' and execute the same two commands. Produced output is different depending on whether the file has been byte-compiled or not. Is `eval-and-compile' the proper workaround? Can things be made less confusing by noticing declared special variables during byte-compilation? Paul --000000000000d4b4ca05dd960c7f Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable <div dir=3D"ltr">I'm not absolutely sure if it is a bug or a "feat= ure", but it is<br>extremely confusing.<br><br>To reproduce: store thi= s as file `test.el':<br><br>=C2=A0 =C2=A0 (defvar special-variable nil)= <br><br>=C2=A0 =C2=A0 (defmacro is-special-as-macro ()<br>=C2=A0 =C2=A0 =C2= =A0 (special-variable-p 'special-variable))<br><br>=C2=A0 =C2=A0 (defun= is-special-as-function ()<br>=C2=A0 =C2=A0 =C2=A0 (is-special-as-macro))<b= r><br>=C2=A0 =C2=A0 (print (is-special-as-function))<br>=C2=A0 =C2=A0 (prin= t (eval '(is-special-as-macro)))<br><br>Now, from command line:<br><br>= =C2=A0 =C2=A0 $ rm -f test.elc; emacs --batch -l test.el<br><br>This loads = the file as interpreted Elisp and prints `t' two times,<br>i.e. always = recognizes the variable as special.<br><br>Next, byte-compile the file befo= re loading:<br><br>=C2=A0 =C2=A0 $ rm -f test.elc; emacs --batch --eval &qu= ot;(byte-compile-file \"test.el\")"; emacs --batch -l test.e= lc<br><br>This prints `nil' and `t', i.e. variable is now considere= d non-special<br>by `is-special-as-function'.=C2=A0 From investigating = `.elc' file, it is<br>apparent that this is encoded into it as a macroe= xpanded constant.<br>Note that `is-special-as-macro' still works fine, = the problem appears<br>only when it gets macroexpanded during byte-compilat= ion.<br><br>So, apparently `defvar' form is sort of "skipped witho= ut paying<br>attention" during byte-compilation.=C2=A0 If I put it int= o an<br>`eval-and-compile' form, then macroexpansion does produce expec= ted<br>result.<br><br>I noticed this with code using `iter2' library.= =C2=A0 When `iter2-defun'<br>generator functions get macroexpanded duri= ng compilation, built-in<br>`special-variable-p' is called, because for= generator functions this<br>is important to distinguish between local and = dynamic variables.=C2=A0 The<br>example above is derived from debugging rea= l failure.<br><br><div>Standard `generator' package is also affected.= =C2=A0 Here is example code:<br><br>=C2=A0 =C2=A0 ;;; -*- lexical-binding: = t -*-<br><br>=C2=A0 =C2=A0 (require 'generator)<br><br>=C2=A0 =C2=A0 (d= efvar special-variable nil)<br><br>=C2=A0 =C2=A0 (defun get-special-variabl= e ()<br>=C2=A0 =C2=A0 =C2=A0 special-variable)<br><br>=C2=A0 =C2=A0 (iter-d= efun buggy ()<br>=C2=A0 =C2=A0 =C2=A0 (let ((special-variable t))<br>=C2=A0= =C2=A0 =C2=A0 =C2=A0 (iter-yield (get-special-variable))))<br><br>=C2=A0 = =C2=A0 (print (iter-next (buggy)))<br><br>As before, save as `test.el' = and execute the same two commands.<br>Produced output is different dependin= g on whether the file has been<br>byte-compiled or not.<br><br>Is `eval-and= -compile' the proper workaround?=C2=A0 Can things be made less<br>confu= sing by noticing declared special variables during<br>byte-compilation?<br>= <br>Paul<br></div></div> --000000000000d4b4ca05dd960c7f--
Paul Pogonyshev <pogonyshev@HIDDEN>
:bug-gnu-emacs@HIDDEN
.
Full text available.bug-gnu-emacs@HIDDEN
:bug#55137
; Package emacs
.
Full text available.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997 nCipher Corporation Ltd,
1994-97 Ian Jackson.