From unknown Sun Aug 17 22:10:19 2025
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-Mailer: MIME-tools 5.509 (Entity 5.509)
Content-Type: text/plain; charset=utf-8
From: bug#41988 <41988@debbugs.gnu.org>
To: bug#41988 <41988@debbugs.gnu.org>
Subject: Status: 28.0.50; Edebug unconditionally instruments definitions
with &define specs
Reply-To: bug#41988 <41988@debbugs.gnu.org>
Date: Mon, 18 Aug 2025 05:10:19 +0000
retitle 41988 28.0.50; Edebug unconditionally instruments definitions with =
&define specs
reassign 41988 emacs
submitter 41988 Philipp
severity 41988 normal
thanks
From debbugs-submit-bounces@debbugs.gnu.org Sun Jun 21 12:59:05 2020
Received: (at submit) by debbugs.gnu.org; 21 Jun 2020 16:59:05 +0000
Received: from localhost ([127.0.0.1]:60855 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from )
id 1jn3JA-0001Gc-LP
for submit@debbugs.gnu.org; Sun, 21 Jun 2020 12:59:04 -0400
Received: from lists.gnu.org ([209.51.188.17]:36310)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from ) id 1jn3J7-0001GC-9P
for submit@debbugs.gnu.org; Sun, 21 Jun 2020 12:59:03 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10]:58694)
by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
(Exim 4.90_1) (envelope-from )
id 1jn3J7-0000wX-0p
for bug-gnu-emacs@gnu.org; Sun, 21 Jun 2020 12:59:01 -0400
Received: from mail-wr1-x444.google.com ([2a00:1450:4864:20::444]:32829)
by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
(Exim 4.90_1) (envelope-from )
id 1jn3J5-0004K4-1m
for bug-gnu-emacs@gnu.org; Sun, 21 Jun 2020 12:59:00 -0400
Received: by mail-wr1-x444.google.com with SMTP id l11so14368743wru.0
for ; Sun, 21 Jun 2020 09:58:58 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
h=from:to:subject:date:message-id:mime-version;
bh=6UP0dIreru0XNIFamP68DvxHFfz+TtGXjizrMDZMRpo=;
b=g+hP5B+4oSC93UXAJvAXDG93DcsSti85Ox96rSYghKdDTpo5P4LB91gkTKrO/+dUjV
N51+nnVdvGdE1AmaLlIcUJZpnHKCDHAi2bPt1i5ZUTBz5r1i9wtHTYui+mQPF/8hDB22
BBtPJ92PtVsfaIKPwLF4ZHkmyfOfI9qXbuldFwk7LCdedDY3tceUK2FRaFnomx3P4QOe
/XB/LacVxkpK5ZSTqDP5Jg3+sRJ9Gg9dwQUIul2K5hVpHJ1h7NithIf++t1yW1MoV1LP
sLAkSTskYdWWY3eFnBgiiLF1ztHCWeWMwLEMJVI6ZBQk5FvHdWhTdzBBnF8bulmDsTrt
F3cQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20161025;
h=x-gm-message-state:from:to:subject:date:message-id:mime-version;
bh=6UP0dIreru0XNIFamP68DvxHFfz+TtGXjizrMDZMRpo=;
b=beHfRNVyupuEIoVn/Z3COisQ+utJJMPt6zfHNOonfcq0V7xX10h2jAyWMERsZ43H8l
WZ1crz2WzkT78EHLwYbgbQ6s6I+qokafm5imgc8MyaatgW402cBPB6jbMga7lQ7KOA06
3z3y9MuM1IKBD6s/2j1f60n2upUsshAV55fnOtPGyH40S3ncNwAHbkqHmrEDendbgB0r
H/1msWZ24oo1voKvxadjZdJNOVGNS+zYi5bujGf5gEJPrwLSTszYL8O37uR7yuU07UCI
Rb/690iAjVcl0Ga0wvvmLUPjJnCX/qR4tSTIMnoFFxLJbkxiRMCicfgepCn0E7ISVd6C
/fYw==
X-Gm-Message-State: AOAM531d4SG91IjuSQOk/C4EQiDIxrEEbhf5DJh5k9AsZak7gFLEw69+
8NNqrc/XDsPEvunWFxP1wBi5XaDCItc=
X-Google-Smtp-Source: ABdhPJyCaYfQf6YcCBiJLoF46QcRB3pfSrAs024h4324AWeaLyJ3JeQGFNA1LLYkEnadd7c0WqZofw==
X-Received: by 2002:adf:8444:: with SMTP id 62mr14138875wrf.278.1592758736844;
Sun, 21 Jun 2020 09:58:56 -0700 (PDT)
Received: from p ([2a02:2455:2a2:100:b098:928b:bb30:186])
by smtp.gmail.com with ESMTPSA id d63sm14269414wmc.22.2020.06.21.09.58.55
for
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Sun, 21 Jun 2020 09:58:56 -0700 (PDT)
From: Philipp
To: bug-gnu-emacs@gnu.org
Subject: 28.0.50; Edebug unconditionally instruments definitions with
&define specs
Date: Sun, 21 Jun 2020 18:58:55 +0200
Message-ID:
MIME-Version: 1.0
Content-Type: text/plain
Received-SPF: pass client-ip=2a00:1450:4864:20::444;
envelope-from=p.stephani2@gmail.com; helo=mail-wr1-x444.google.com
X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache.
That's all we know.
X-Spam_score_int: -17
X-Spam_score: -1.8
X-Spam_bar: -
X-Spam_report: (-1.8 / 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_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001,
RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001,
SPF_PASS=-0.001 autolearn=_AUTOLEARN
X-Spam_action: no action
X-Spam-Score: 0.9 (/)
X-Debbugs-Envelope-To: submit
X-BeenThere: debbugs-submit@debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id:
List-Unsubscribe: ,
List-Archive:
List-Post:
List-Help:
List-Subscribe: ,
Errors-To: debbugs-submit-bounces@debbugs.gnu.org
Sender: "Debbugs-submit"
X-Spam-Score: -2.1 (--)
As an example, edebug-instrument (C-u C-M-x) the following definition:
(defun bar ()
(cl-flet ((foo () 1))
(foo)))
The *Messages* buffer now says
Edebug: foo [2 times]
Edebug: bar
Note the '[2 times]'. I believe this is because `edebug-match-&define'
calls `edebug-make-form-wrapper' unconditionally. The Edebug spec for
`cl-flet' has two `&or' branches that both use `&define', so if the
first one doesn't match it will still create a definition using
`edebug-make-form-wrapper'. Probably `edebug-match-&define' should only
invoke `edebug-make-form-wrapper' if the specification actually matches.
In GNU Emacs 28.0.50 (build 55, x86_64-apple-darwin19.4.0, NS appkit-1894.50 Version 10.15.5 (Build 19F101))
of 2020-06-21
Repository revision: a4d3897d8f0caa54be1e1d081651ed6640b7f25e
Repository branch: master
Windowing system distributor 'Apple', version 10.3.1894
System Description: Mac OS X 10.15.5
Recent messages:
For information about GNU Emacs and the GNU system, type C-h C-a.
C-c C-c is undefined
Configured using:
'configure --with-modules --without-xml2 --without-pop --with-mailutils
--enable-gcc-warnings=warn-only --enable-checking=all
--enable-check-lisp-object-type 'CFLAGS=-ggdb3 -O0''
Configured features:
JPEG TIFF GIF PNG NOTIFY KQUEUE ACL GNUTLS ZLIB TOOLKIT_SCROLL_BARS NS
MODULES THREADS JSON PDUMPER LCMS2 GMP
Important settings:
value of $LANG: de_DE.UTF-8
locale-coding-system: utf-8-unix
Major mode: Lisp Interaction
Minor modes in effect:
tooltip-mode: t
global-eldoc-mode: t
eldoc-mode: t
electric-indent-mode: t
mouse-wheel-mode: t
tool-bar-mode: t
menu-bar-mode: t
file-name-shadow-mode: t
global-font-lock-mode: t
font-lock-mode: t
blink-cursor-mode: t
auto-composition-mode: t
auto-encryption-mode: t
auto-compression-mode: t
line-number-mode: t
transient-mark-mode: t
Load-path shadows:
None found.
Features:
(shadow sort mail-extr emacsbug message rmc dired dired-loaddefs rfc822
mml easymenu mml-sec epa epg epg-config gnus-util rmail rmail-loaddefs
text-property-search time-date mm-decode mm-bodies mm-encode mail-parse
rfc2231 mailabbrev gmm-utils mailheader sendmail rfc2047 rfc2045
ietf-drums mm-util mail-prsvr mail-utils phst skeleton derived edmacro
kmacro pcase ffap thingatpt url url-proxy url-privacy url-expand
url-methods url-history url-cookie url-domsuf url-util url-parse
auth-source cl-seq eieio eieio-core cl-macs eieio-loaddefs
password-cache json map url-vars mailcap subr-x rx gnutls puny seq
byte-opt gv bytecomp byte-compile cconv dbus xml compile comint
ansi-color ring cl-loaddefs cl-lib tooltip eldoc electric uniquify
ediff-hook vc-hooks lisp-float-type mwheel term/ns-win ns-win
ucs-normalize mule-util term/common-win tool-bar dnd fontset image
regexp-opt fringe tabulated-list replace newcomment text-mode elisp-mode
lisp-mode prog-mode register page tab-bar menu-bar rfn-eshadow isearch
timer select scroll-bar mouse jit-lock font-lock syntax facemenu
font-core term/tty-colors frame minibuffer cl-generic cham georgian
utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean
japanese eucjp-ms cp51932 hebrew greek romanian slovak czech european
ethiopic indian cyrillic chinese composite charscript charprop
case-table epa-hook jka-cmpr-hook help simple abbrev obarray
cl-preloaded nadvice loaddefs button faces cus-face macroexp files
text-properties overlay sha1 md5 base64 format env code-pages mule
custom widget hashtable-print-readable backquote threads kqueue cocoa ns
lcms2 multi-tty make-network-process emacs)
Memory information:
((conses 16 69651 5774)
(symbols 48 8651 1)
(strings 32 23551 1900)
(string-bytes 1 768689)
(vectors 16 14140)
(vector-slots 8 172499 9631)
(floats 8 25 30)
(intervals 56 206 0)
(buffers 992 10))
From debbugs-submit-bounces@debbugs.gnu.org Sun Jun 21 19:48:27 2020
Received: (at 41988) by debbugs.gnu.org; 21 Jun 2020 23:48:27 +0000
Received: from localhost ([127.0.0.1]:32846 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from )
id 1jn9hL-00078Q-D0
for submit@debbugs.gnu.org; Sun, 21 Jun 2020 19:48:27 -0400
Received: from colin.muc.de ([193.149.48.1]:15229 helo=mail.muc.de)
by debbugs.gnu.org with smtp (Exim 4.84_2)
(envelope-from ) id 1jn9hH-00078A-Ll
for 41988@debbugs.gnu.org; Sun, 21 Jun 2020 19:48:26 -0400
Received: (qmail 88428 invoked by uid 3782); 21 Jun 2020 23:48:16 -0000
Date: 21 Jun 2020 23:48:16 -0000
Message-ID: <20200621234816.88427.qmail@mail.muc.de>
From: Alan Mackenzie
To: Philipp
Subject: Re: bug#41988: 28.0.50;
Edebug unconditionally instruments definitions with &define specs
Organization: muc.de e.V.
In-Reply-To:
X-Newsgroups: gnu.emacs.bug
User-Agent: tin/2.4.4-20191224 ("Millburn") (FreeBSD/11.3-RELEASE-p9 (amd64))
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 41988
Cc: 41988@debbugs.gnu.org
X-BeenThere: debbugs-submit@debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id:
List-Unsubscribe: ,
List-Archive:
List-Post:
List-Help:
List-Subscribe: ,
Errors-To: debbugs-submit-bounces@debbugs.gnu.org
Sender: "Debbugs-submit"
X-Spam-Score: -1.0 (-)
Hello, Philipp.
In article you wrote:
> As an example, edebug-instrument (C-u C-M-x) the following definition:
> (defun bar ()
> (cl-flet ((foo () 1))
> (foo)))
> The *Messages* buffer now says
> Edebug: foo [2 times]
> Edebug: bar
> Note the '[2 times]'. I believe this is because `edebug-match-&define'
> calls `edebug-make-form-wrapper' unconditionally. The Edebug spec for
> `cl-flet' has two `&or' branches that both use `&define', so if the
> first one doesn't match it will still create a definition using
> `edebug-make-form-wrapper'. Probably `edebug-match-&define' should only
> invoke `edebug-make-form-wrapper' if the specification actually matches.
I don't understand why this is a bug. What precisely is wrong with the
messages displayed in *Messages*? Or is it something else which is
wrong?
After instrumenting bar, can you actually step through it with edebug?
(I can't try it out myself, since I can't discern from the documentation
what, precisely, cl-flet is supposed to do.)
> In GNU Emacs 28.0.50 (build 55, x86_64-apple-darwin19.4.0, NS appkit-1894.50 Version 10.15.5 (Build 19F101))
> of 2020-06-21
> Repository revision: a4d3897d8f0caa54be1e1d081651ed6640b7f25e
> Repository branch: master
> Windowing system distributor 'Apple', version 10.3.1894
> System Description: Mac OS X 10.15.5
[ .... ]
--
Alan Mackenzie (Nuremberg, Germany).
From debbugs-submit-bounces@debbugs.gnu.org Sat Aug 08 07:02:10 2020
Received: (at 41988) by debbugs.gnu.org; 8 Aug 2020 11:02:10 +0000
Received: from localhost ([127.0.0.1]:58279 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from )
id 1k4Mc6-0007or-0A
for submit@debbugs.gnu.org; Sat, 08 Aug 2020 07:02:10 -0400
Received: from mail-oi1-f172.google.com ([209.85.167.172]:33361)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from ) id 1k4Mc3-0007oY-5o
for 41988@debbugs.gnu.org; Sat, 08 Aug 2020 07:02:08 -0400
Received: by mail-oi1-f172.google.com with SMTP id 25so4440436oir.0
for <41988@debbugs.gnu.org>; Sat, 08 Aug 2020 04:02:07 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
h=mime-version:references:in-reply-to:from:date:message-id:subject:to
:cc; bh=8LjXQ6ODusjiW+2fjm+xSPHU8z5lGS+qZn8vwOk0VqQ=;
b=rWjM7+3B8G9+Hu/9fGrmsQHPpXWMpS56bfIts+uRG0kvtJAlqru4L8r+gSaz26+R3q
OyNCQNDdpb0smjMz9gSdwVk2a7W4eyrC4rO/WE857SHIdv9SYnWVcwsChq/2LiIsqXMp
sf7stu0ve69fs+VQCPmAcs8AHKs17cWthtGhIQf/oNL3dntZ1PGgNTRwM+3cGy4CWA51
gWpI63SsbSlIJ7uul8q6HkoVII+g81R8PWNTY4oOerTdmr7KkiJX4qiGDqoCX2+NGtS5
dSAx2Gsw5iUn366yBsLt0q5tqStAC01p4l6FjcP1uu7ItER2DtYD1IjvKKPW5EDPB6Kq
85ow==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20161025;
h=x-gm-message-state:mime-version:references:in-reply-to:from:date
:message-id:subject:to:cc;
bh=8LjXQ6ODusjiW+2fjm+xSPHU8z5lGS+qZn8vwOk0VqQ=;
b=o4uN5tni+nf8oksnzMeR3AAakss9EBbPpCIIV2gSQ76U86rUnloIsEv+ChfyJkzRYR
JruMZVtwRd6Nbt6l5P7qFppFNo7ZM7I4f+MYtvv7rS+MzK+VqjnICd/TG6p5HBkUAoxx
8hf9cOFFZyz84lKkHn55FDv3peF3d9U/F99bm2nIYaJMYE63Bixwq1JpI9JM4LckoU1N
nFkt4dhSqn4MzkjbgWXI6Hyd2Dy+hYUWmvWsRV3e2C34Xzu+Yfc3bvMKENJuhOELPs9q
QBvkXeWiq7du+KQkgIcrZaPp+F+47a70UYuy+7phGr6TC9HHotCek1k+EnaFI+qfN8Rc
utgg==
X-Gm-Message-State: AOAM531aGzNoixYPaAyW+OwZaLK7yLJ8gFNqUoK/Gz5VagNk3DJ78vta
v5vgRX7iyTApjXpqUdvmsbCfqQrahyb2P8pow6707sNu
X-Google-Smtp-Source: ABdhPJxrrMY11YyErEGPjOc0w/pM1MTTGeZqlbMqcf0I5HI5Lfl3mk4EzMXGqvm1g1/0f89anTiyn5TZtNpLBTJGs7U=
X-Received: by 2002:aca:b884:: with SMTP id i126mr14904511oif.65.1596884521096;
Sat, 08 Aug 2020 04:02:01 -0700 (PDT)
MIME-Version: 1.0
References:
<20200621234816.88427.qmail@mail.muc.de>
In-Reply-To: <20200621234816.88427.qmail@mail.muc.de>
From: Philipp Stephani
Date: Sat, 8 Aug 2020 13:01:50 +0200
Message-ID:
Subject: Re: bug#41988: 28.0.50; Edebug unconditionally instruments
definitions with &define specs
To: Alan Mackenzie
Content-Type: text/plain; charset="UTF-8"
X-Spam-Score: 0.2 (/)
X-Debbugs-Envelope-To: 41988
Cc: 41988@debbugs.gnu.org
X-BeenThere: debbugs-submit@debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id:
List-Unsubscribe: ,
List-Archive:
List-Post:
List-Help:
List-Subscribe: ,
Errors-To: debbugs-submit-bounces@debbugs.gnu.org
Sender: "Debbugs-submit"
X-Spam-Score: -0.8 (/)
Am Mo., 22. Juni 2020 um 01:48 Uhr schrieb Alan Mackenzie :
>
> Hello, Philipp.
>
> In article you wrote:
>
> > As an example, edebug-instrument (C-u C-M-x) the following definition:
>
> > (defun bar ()
> > (cl-flet ((foo () 1))
> > (foo)))
>
> > The *Messages* buffer now says
>
> > Edebug: foo [2 times]
> > Edebug: bar
>
> > Note the '[2 times]'. I believe this is because `edebug-match-&define'
> > calls `edebug-make-form-wrapper' unconditionally. The Edebug spec for
> > `cl-flet' has two `&or' branches that both use `&define', so if the
> > first one doesn't match it will still create a definition using
> > `edebug-make-form-wrapper'. Probably `edebug-match-&define' should only
> > invoke `edebug-make-form-wrapper' if the specification actually matches.
>
> I don't understand why this is a bug. What precisely is wrong with the
> messages displayed in *Messages*? Or is it something else which is
> wrong?
>
> After instrumenting bar, can you actually step through it with edebug?
> (I can't try it out myself, since I can't discern from the documentation
> what, precisely, cl-flet is supposed to do.)
>
So this is somewhat subtle, so let me try to give some context. The
message is merely a symptom of defining a symbol twice (via
edebug-make-form-wrapper). That's a problem when using Edebug for
coverage instrumentation (in batch mode), as the coverage information
is attached to properties of the symbol that Edebug
generates/instruments. Instrumenting a symbol with two different
definitions can lead to very subtle bugs because the frequency vector
and the form offset vector are out of sync, see e.g.
https://debbugs.gnu.org/cgi/bugreport.cgi?bug=41853. Therefore it's
important to prevent such duplicate instrumentation, typically by
changing the Edebug symbol in some way (appending a unique suffix,
etc.). Edebug does this already in many cases (ERT tests, CL methods,
...), but not always.
For some more context, see the coverage instrumentation in my Bazel
rules for ELisp (https://github.com/phst/rules_elisp).
https://github.com/phst/rules_elisp/blob/master/elisp/ert/runner.el
contains the ERT and coverage integration. In
https://github.com/phst/rules_elisp/blob/0b24aa1660af2f6c668899bdd78aaba383d7ac18/elisp/ert/runner.el#L133-L134
I explicitly check for duplicate instrumentation. It is hard to
predict in general whether a specific instance of duplicate
instrumentation will lead to bugs like
https://debbugs.gnu.org/cgi/bugreport.cgi?bug=41853 or not, thus I'm
treating every duplicate instrumentation as a bug.
From debbugs-submit-bounces@debbugs.gnu.org Sat Aug 08 10:59:58 2020
Received: (at 41988) by debbugs.gnu.org; 8 Aug 2020 14:59:58 +0000
Received: from localhost ([127.0.0.1]:59473 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from )
id 1k4QKE-0002Ei-9V
for submit@debbugs.gnu.org; Sat, 08 Aug 2020 10:59:58 -0400
Received: from colin.muc.de ([193.149.48.1]:27705 helo=mail.muc.de)
by debbugs.gnu.org with smtp (Exim 4.84_2)
(envelope-from ) id 1k4QKC-0002ET-KK
for 41988@debbugs.gnu.org; Sat, 08 Aug 2020 10:59:58 -0400
Received: (qmail 80133 invoked by uid 3782); 8 Aug 2020 14:59:48 -0000
Received: from acm.muc.de (p2e5d54f7.dip0.t-ipconnect.de [46.93.84.247]) by
localhost.muc.de (tmda-ofmipd) with ESMTP;
Sat, 08 Aug 2020 16:59:48 +0200
Received: (qmail 10453 invoked by uid 1000); 8 Aug 2020 14:59:48 -0000
Date: Sat, 8 Aug 2020 14:59:48 +0000
To: Philipp Stephani
Subject: Re: bug#41988: 28.0.50; Edebug unconditionally instruments
definitions with &define specs
Message-ID: <20200808145948.GA10181@ACM>
References:
<20200621234816.88427.qmail@mail.muc.de>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To:
X-Delivery-Agent: TMDA/1.1.12 (Macallan)
From: Alan Mackenzie
X-Primary-Address: acm@muc.de
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 41988
Cc: 41988@debbugs.gnu.org
X-BeenThere: debbugs-submit@debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id:
List-Unsubscribe: ,
List-Archive:
List-Post:
List-Help:
List-Subscribe: ,
Errors-To: debbugs-submit-bounces@debbugs.gnu.org
Sender: "Debbugs-submit"
X-Spam-Score: -1.0 (-)
Hello, Philipp.
I must admit, I'm having difficulty understanding this problem.
On Sat, Aug 08, 2020 at 13:01:50 +0200, Philipp Stephani wrote:
> Am Mo., 22. Juni 2020 um 01:48 Uhr schrieb Alan Mackenzie :
> > In article you wrote:
> > > As an example, edebug-instrument (C-u C-M-x) the following
> > > definition:
> > > (defun bar ()
> > > (cl-flet ((foo () 1))
> > > (foo)))
> > > The *Messages* buffer now says
> > > Edebug: foo [2 times]
> > > Edebug: bar
> > > Note the '[2 times]'. I believe this is because
> > > `edebug-match-&define' calls `edebug-make-form-wrapper'
> > > unconditionally. The Edebug spec for `cl-flet' has two `&or'
> > > branches that both use `&define', so if the first one doesn't match
> > > it will still create a definition using `edebug-make-form-wrapper'.
> > > Probably `edebug-match-&define' should only invoke
> > > `edebug-make-form-wrapper' if the specification actually matches.
> > I don't understand why this is a bug. What precisely is wrong with
> > the messages displayed in *Messages*? Or is it something else which
> > is wrong?
> > After instrumenting bar, can you actually step through it with
> > edebug? (I can't try it out myself, since I can't discern from the
> > documentation what, precisely, cl-flet is supposed to do.)
> So this is somewhat subtle, so let me try to give some context. The
> message is merely a symptom of defining a symbol twice (via
> edebug-make-form-wrapper). That's a problem when using Edebug for
> coverage instrumentation (in batch mode), as the coverage information
> is attached to properties of the symbol that Edebug
> generates/instruments.
I'm trying to see what, exactly, this problem is. Edebug is defining a
symbol twice, once for each of two arms of a &or form in the edebug spec.
The first of these surely does nothing; it will eventually end up in the
garbage collector. The second will form the function slot of the symbol,
fulfilling all the Edebug things. What am I missing?
> Instrumenting a symbol with two different definitions can lead to very
> subtle bugs because the frequency vector and the form offset vector are
> out of sync, ....
The picture you seem to be painting is of two distinct definitions being
assigned to the same symbol, and both of them being live. Do you have
any evidence that this is happening?
> .... see e.g. https://debbugs.gnu.org/cgi/bugreport.cgi?bug=41853.
> Therefore it's important to prevent such duplicate instrumentation,
> typically by changing the Edebug symbol in some way (appending a unique
> suffix, etc.). Edebug does this already in many cases (ERT tests, CL
> methods, ...), but not always. For some more context, see the coverage
> instrumentation in my Bazel rules for ELisp
> (https://github.com/phst/rules_elisp).
> https://github.com/phst/rules_elisp/blob/master/elisp/ert/runner.el
> contains the ERT and coverage integration. In
> https://github.com/phst/rules_elisp/blob/0b24aa1660af2f6c668899bdd78aaba383d7ac18/elisp/ert/runner.el#L133-L134
> I explicitly check for duplicate instrumentation. It is hard to predict
> in general whether a specific instance of duplicate instrumentation
> will lead to bugs like
> https://debbugs.gnu.org/cgi/bugreport.cgi?bug=41853 or not, thus I'm
> treating every duplicate instrumentation as a bug.
What exactly do you mean by "duplicate instrumentation"? If a symbol
gets defined twice, once for each arm of an &or in the edebug spec, does
that count as a duplicate instrumentation?
--
Alan Mackenzie (Nuremberg, Germany).
From debbugs-submit-bounces@debbugs.gnu.org Sun Aug 09 07:34:12 2020
Received: (at 41988) by debbugs.gnu.org; 9 Aug 2020 11:34:12 +0000
Received: from localhost ([127.0.0.1]:60138 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from )
id 1k4jad-0003IG-LW
for submit@debbugs.gnu.org; Sun, 09 Aug 2020 07:34:12 -0400
Received: from mail-ot1-f54.google.com ([209.85.210.54]:33805)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from ) id 1k4jab-0003I1-VD
for 41988@debbugs.gnu.org; Sun, 09 Aug 2020 07:34:10 -0400
Received: by mail-ot1-f54.google.com with SMTP id k12so5139775otr.1
for <41988@debbugs.gnu.org>; Sun, 09 Aug 2020 04:34:09 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
h=mime-version:references:in-reply-to:from:date:message-id:subject:to
:cc; bh=6fal7yEZr6AvDAgOfOLLinsHTt4+laJj/uoBiDOQWJQ=;
b=QwwZ2Y/rv58PHS7+nMa2odXa7VwvpJDMjllr7wd+PbtEBNvo0h/FsNkeRMA6OnvWgb
aEqTPi4fUQ+XIqnZ8xl6tssukstsxoF/FSU7VGEwTCMGfyA75s8HEe2h/I7P/ymAwPFR
WMwkNkGshMatKCOqJ5qiuxkuGDnEwmLFsr0MMqBjLbmK6GJs5f4Ojqo1A+LBaP+YywJa
drNf3mhdm0MIE3/x7YMFSktgnYowcg6EXcTybCXbXI95mhAtieXYeT0kgI+8hfFQN/XX
16npDqoH9Q9rihVTKSfnKRq2hw0xJ4QDCJlHmxBs0BsaKgsti7NofsBCrz0YhSm4MoVf
vMpw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20161025;
h=x-gm-message-state:mime-version:references:in-reply-to:from:date
:message-id:subject:to:cc;
bh=6fal7yEZr6AvDAgOfOLLinsHTt4+laJj/uoBiDOQWJQ=;
b=IcHNdRv4+xAA2i6uBbFnR/lqPE6pedyoFSyT8Nz1rtYCmXYBP3bqobKHw4nvfmkzWe
7lQdOINVfC4lckZa9rTKuuVR1K6mBeYKg1aoa5UkA4+5ai4EmW8JsFPzyemwV0ICfumF
lixtlIKiJHPnz3w6h0FzdJ6O9f2UPyZJpVfwXjIRHIgsZ0PlTY7KsI2ny6HYmjcu1Dkx
6mC7IFlFlPMj7N3ao8aZTZwpeB86DSCwLprg82dhEzhkpLCy26+axMKrqtPb3oGH/mYj
AAvtAS2o1620h503YRE7MZVSF3hQ9blMver6cmqS27HAUbZv/S7VQXshF9JRnWSMc21i
Ak3Q==
X-Gm-Message-State: AOAM531tfWUVXOO1iSWGw8XK3Adkk6uPSse/LAkT2GJ6Z/sLiclvRlO3
vkvrvS07HnrV8Pwpos4XO3ErkuXLw4jRMZUGDoRdLZG7
X-Google-Smtp-Source: ABdhPJzGDOHTdN878aNjY3oJDEns/jdUV/BzL2td+XunJnBk8W+YO/j6T5LKe85nVNTfnXNXAWtZvLdcKArZgL/KaQg=
X-Received: by 2002:a9d:2203:: with SMTP id o3mr18292377ota.149.1596972844052;
Sun, 09 Aug 2020 04:34:04 -0700 (PDT)
MIME-Version: 1.0
References:
<20200621234816.88427.qmail@mail.muc.de>
<20200808145948.GA10181@ACM>
In-Reply-To: <20200808145948.GA10181@ACM>
From: Philipp Stephani
Date: Sun, 9 Aug 2020 13:33:53 +0200
Message-ID:
Subject: Re: bug#41988: 28.0.50; Edebug unconditionally instruments
definitions with &define specs
To: Alan Mackenzie
Content-Type: text/plain; charset="UTF-8"
X-Spam-Score: 0.3 (/)
X-Debbugs-Envelope-To: 41988
Cc: 41988@debbugs.gnu.org
X-BeenThere: debbugs-submit@debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id:
List-Unsubscribe: ,
List-Archive:
List-Post:
List-Help:
List-Subscribe: ,
Errors-To: debbugs-submit-bounces@debbugs.gnu.org
Sender: "Debbugs-submit"
X-Spam-Score: -0.7 (/)
Am Sa., 8. Aug. 2020 um 16:59 Uhr schrieb Alan Mackenzie :
>
> Hello, Philipp.
>
> I must admit, I'm having difficulty understanding this problem.
>
> On Sat, Aug 08, 2020 at 13:01:50 +0200, Philipp Stephani wrote:
> > Am Mo., 22. Juni 2020 um 01:48 Uhr schrieb Alan Mackenzie :
>
> > > In article you wrote:
>
> > > > As an example, edebug-instrument (C-u C-M-x) the following
> > > > definition:
>
> > > > (defun bar ()
> > > > (cl-flet ((foo () 1))
> > > > (foo)))
>
> > > > The *Messages* buffer now says
>
> > > > Edebug: foo [2 times]
> > > > Edebug: bar
>
> > > > Note the '[2 times]'. I believe this is because
> > > > `edebug-match-&define' calls `edebug-make-form-wrapper'
> > > > unconditionally. The Edebug spec for `cl-flet' has two `&or'
> > > > branches that both use `&define', so if the first one doesn't match
> > > > it will still create a definition using `edebug-make-form-wrapper'.
> > > > Probably `edebug-match-&define' should only invoke
> > > > `edebug-make-form-wrapper' if the specification actually matches.
>
> > > I don't understand why this is a bug. What precisely is wrong with
> > > the messages displayed in *Messages*? Or is it something else which
> > > is wrong?
>
> > > After instrumenting bar, can you actually step through it with
> > > edebug? (I can't try it out myself, since I can't discern from the
> > > documentation what, precisely, cl-flet is supposed to do.)
>
>
> > So this is somewhat subtle, so let me try to give some context. The
> > message is merely a symptom of defining a symbol twice (via
> > edebug-make-form-wrapper). That's a problem when using Edebug for
> > coverage instrumentation (in batch mode), as the coverage information
> > is attached to properties of the symbol that Edebug
> > generates/instruments.
>
> I'm trying to see what, exactly, this problem is. Edebug is defining a
> symbol twice, once for each of two arms of a &or form in the edebug spec.
> The first of these surely does nothing; it will eventually end up in the
> garbage collector. The second will form the function slot of the symbol,
> fulfilling all the Edebug things. What am I missing?
The problem is that Edebug not only generates objects that would later
be garbage-collected (and therefore not observable), but also modifies
observable global state. This starts at
https://git.savannah.gnu.org/cgit/emacs.git/tree/lisp/emacs-lisp/edebug.el?id=55bcb3f7e05c01d86778f1a2b7caccf72124614d#n1418
and continues for the rest of the edebug-make-form-wrapper function.
In particular, https://git.savannah.gnu.org/cgit/emacs.git/tree/lisp/emacs-lisp/edebug.el?id=55bcb3f7e05c01d86778f1a2b7caccf72124614d#n1444
sets the `edebug' symbol property of the symbol being generated. None
of these mutations are undone when backtracking.
>
> > Instrumenting a symbol with two different definitions can lead to very
> > subtle bugs because the frequency vector and the form offset vector are
> > out of sync, ....
>
> The picture you seem to be painting is of two distinct definitions being
> assigned to the same symbol, and both of them being live. Do you have
> any evidence that this is happening?
Let's say it's rather an incompatible mixture of two definitions.
https://debbugs.gnu.org/cgi/bugreport.cgi?bug=41853 is a symptom of
this. Another piece of evidence is the implementation of
`edebug-make-form-wrapper': that function clearly modifies buffer
contents and symbol properties even in branches that would later be
discarded as part of backtracking.
My (not well evidenced) assumption is that
https://git.savannah.gnu.org/cgit/emacs.git/tree/lisp/emacs-lisp/edebug.el?id=55bcb3f7e05c01d86778f1a2b7caccf72124614d#n1427
regenerates the offset vector, but there's no regeneration of the
frequency vector, which is the immediate trigger of
https://debbugs.gnu.org/cgi/bugreport.cgi?bug=41853, since now the
frequency and offset vectors might be incompatible with each other.
But I'd also assume the problem runs deeper: edebug-make-form-wrapper
performs multiple mutations, and it's not really clear which of those
are "safe" w.r.t. multiple definitions in not-taken branches.
>
> > .... see e.g. https://debbugs.gnu.org/cgi/bugreport.cgi?bug=41853.
> > Therefore it's important to prevent such duplicate instrumentation,
> > typically by changing the Edebug symbol in some way (appending a unique
> > suffix, etc.). Edebug does this already in many cases (ERT tests, CL
> > methods, ...), but not always. For some more context, see the coverage
> > instrumentation in my Bazel rules for ELisp
> > (https://github.com/phst/rules_elisp).
> > https://github.com/phst/rules_elisp/blob/master/elisp/ert/runner.el
> > contains the ERT and coverage integration. In
> > https://github.com/phst/rules_elisp/blob/0b24aa1660af2f6c668899bdd78aaba383d7ac18/elisp/ert/runner.el#L133-L134
> > I explicitly check for duplicate instrumentation. It is hard to predict
> > in general whether a specific instance of duplicate instrumentation
> > will lead to bugs like
> > https://debbugs.gnu.org/cgi/bugreport.cgi?bug=41853 or not, thus I'm
> > treating every duplicate instrumentation as a bug.
>
> What exactly do you mean by "duplicate instrumentation"? If a symbol
> gets defined twice, once for each arm of an &or in the edebug spec, does
> that count as a duplicate instrumentation?
What I mean concretely is evaluating `edebug-make-form-wrapper' (and
therefore, mutating symbol properties and buffer contents) once for
each branch of an &or construct.
From debbugs-submit-bounces@debbugs.gnu.org Sun Aug 09 12:35:37 2020
Received: (at 41988) by debbugs.gnu.org; 9 Aug 2020 16:35:37 +0000
Received: from localhost ([127.0.0.1]:33319 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from )
id 1k4oIL-0003Eb-3q
for submit@debbugs.gnu.org; Sun, 09 Aug 2020 12:35:37 -0400
Received: from colin.muc.de ([193.149.48.1]:38369 helo=mail.muc.de)
by debbugs.gnu.org with smtp (Exim 4.84_2)
(envelope-from ) id 1k4oIF-0003EF-2O
for 41988@debbugs.gnu.org; Sun, 09 Aug 2020 12:35:35 -0400
Received: (qmail 1733 invoked by uid 3782); 9 Aug 2020 16:35:24 -0000
Received: from acm.muc.de (p2e5d5e8f.dip0.t-ipconnect.de [46.93.94.143]) by
localhost.muc.de (tmda-ofmipd) with ESMTP;
Sun, 09 Aug 2020 18:35:23 +0200
Received: (qmail 27260 invoked by uid 1000); 9 Aug 2020 16:35:23 -0000
Date: Sun, 9 Aug 2020 16:35:23 +0000
To: Philipp Stephani
Subject: Re: bug#41988: 28.0.50; Edebug unconditionally instruments
definitions with &define specs
Message-ID: <20200809163523.GB26635@ACM>
References:
<20200621234816.88427.qmail@mail.muc.de>
<20200808145948.GA10181@ACM>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To:
X-Delivery-Agent: TMDA/1.1.12 (Macallan)
From: Alan Mackenzie
X-Primary-Address: acm@muc.de
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 41988
Cc: 41988@debbugs.gnu.org
X-BeenThere: debbugs-submit@debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id:
List-Unsubscribe: ,
List-Archive:
List-Post:
List-Help:
List-Subscribe: ,
Errors-To: debbugs-submit-bounces@debbugs.gnu.org
Sender: "Debbugs-submit"
X-Spam-Score: -1.0 (-)
Hello, Philipp.
On Sun, Aug 09, 2020 at 13:33:53 +0200, Philipp Stephani wrote:
> Am Sa., 8. Aug. 2020 um 16:59 Uhr schrieb Alan Mackenzie :
> > I must admit, I'm having difficulty understanding this problem.
> > On Sat, Aug 08, 2020 at 13:01:50 +0200, Philipp Stephani wrote:
> > > Am Mo., 22. Juni 2020 um 01:48 Uhr schrieb Alan Mackenzie :
[ .... ]
> > > So this is somewhat subtle, so let me try to give some context. The
> > > message is merely a symptom of defining a symbol twice (via
> > > edebug-make-form-wrapper). That's a problem when using Edebug for
> > > coverage instrumentation (in batch mode), as the coverage
> > > information is attached to properties of the symbol that Edebug
> > > generates/instruments.
> > I'm trying to see what, exactly, this problem is. Edebug is defining
> > a symbol twice, once for each of two arms of a &or form in the edebug
> > spec. The first of these surely does nothing; it will eventually end
> > up in the garbage collector. The second will form the function slot
> > of the symbol, fulfilling all the Edebug things. What am I missing?
> The problem is that Edebug not only generates objects that would later
> be garbage-collected (and therefore not observable), but also modifies
> observable global state. This starts at
> https://git.savannah.gnu.org/cgit/emacs.git/tree/lisp/emacs-lisp/edebug.el?id=55bcb3f7e05c01d86778f1a2b7caccf72124614d#n1418
> and continues for the rest of the edebug-make-form-wrapper function.
> In particular,
> https://git.savannah.gnu.org/cgit/emacs.git/tree/lisp/emacs-lisp/edebug.el?id=55bcb3f7e05c01d86778f1a2b7caccf72124614d#n1444
> sets the `edebug' symbol property of the symbol being generated. None
> of these mutations are undone when backtracking.
Ah, I think I see it, now. edebug-form-data contains structures
referring to functions, and could well have two entries with the same
function name. (I see that at the moment in a file where I instrumented
alternately an old version and a new version of a function.) The
property list on the symbol then contains a messy combination of details
for the two functions.
> > > Instrumenting a symbol with two different definitions can lead to
> > > very subtle bugs because the frequency vector and the form offset
> > > vector are out of sync, ....
> > The picture you seem to be painting is of two distinct definitions
> > being assigned to the same symbol, and both of them being live. Do
> > you have any evidence that this is happening?
> Let's say it's rather an incompatible mixture of two definitions.
> https://debbugs.gnu.org/cgi/bugreport.cgi?bug=41853 is a symptom of
> this. Another piece of evidence is the implementation of
> `edebug-make-form-wrapper': that function clearly modifies buffer
> contents and symbol properties even in branches that would later be
> discarded as part of backtracking.
> My (not well evidenced) assumption is that
> https://git.savannah.gnu.org/cgit/emacs.git/tree/lisp/emacs-lisp/edebug.el?id=55bcb3f7e05c01d86778f1a2b7caccf72124614d#n1427
> regenerates the offset vector, but there's no regeneration of the
> frequency vector, which is the immediate trigger of
> https://debbugs.gnu.org/cgi/bugreport.cgi?bug=41853, since now the
> frequency and offset vectors might be incompatible with each other.
> But I'd also assume the problem runs deeper: edebug-make-form-wrapper
> performs multiple mutations, and it's not really clear which of those
> are "safe" w.r.t. multiple definitions in not-taken branches.
How about, instead of having symbol properties, we institute non-symbol
property lists contained in each entry in edebug-form-data? This list
could be rapidly searched, with repeated memq, for the pertinent entry.
It would mean, however, that all gathered data would be discarded on each
fresh instrumentation of a function. Apologies if you've already
suggested this and I missed it.
> > > .... see e.g. https://debbugs.gnu.org/cgi/bugreport.cgi?bug=41853.
> > > Therefore it's important to prevent such duplicate instrumentation,
> > > typically by changing the Edebug symbol in some way (appending a unique
> > > suffix, etc.). Edebug does this already in many cases (ERT tests, CL
> > > methods, ...), but not always. For some more context, see the coverage
> > > instrumentation in my Bazel rules for ELisp
> > > (https://github.com/phst/rules_elisp).
> > > https://github.com/phst/rules_elisp/blob/master/elisp/ert/runner.el
> > > contains the ERT and coverage integration. In
> > > https://github.com/phst/rules_elisp/blob/0b24aa1660af2f6c668899bdd78aaba383d7ac18/elisp/ert/runner.el#L133-L134
> > > I explicitly check for duplicate instrumentation. It is hard to predict
> > > in general whether a specific instance of duplicate instrumentation
> > > will lead to bugs like
> > > https://debbugs.gnu.org/cgi/bugreport.cgi?bug=41853 or not, thus I'm
> > > treating every duplicate instrumentation as a bug.
> > What exactly do you mean by "duplicate instrumentation"? If a symbol
> > gets defined twice, once for each arm of an &or in the edebug spec, does
> > that count as a duplicate instrumentation?
> What I mean concretely is evaluating `edebug-make-form-wrapper' (and
> therefore, mutating symbol properties and buffer contents) once for
> each branch of an &or construct.
OK, thanks. How does my above plan, for reinitilising the function's
properties at each instrumentation, sound?
--
Alan Mackenzie (Nuremberg, Germany).
From debbugs-submit-bounces@debbugs.gnu.org Mon Aug 10 09:32:42 2020
Received: (at 41988) by debbugs.gnu.org; 10 Aug 2020 13:32:42 +0000
Received: from localhost ([127.0.0.1]:34961 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from )
id 1k57us-0003ok-7y
for submit@debbugs.gnu.org; Mon, 10 Aug 2020 09:32:42 -0400
Received: from mail-ot1-f41.google.com ([209.85.210.41]:39452)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from ) id 1k57up-0003jR-M6
for 41988@debbugs.gnu.org; Mon, 10 Aug 2020 09:32:40 -0400
Received: by mail-ot1-f41.google.com with SMTP id z18so7243010otk.6
for <41988@debbugs.gnu.org>; Mon, 10 Aug 2020 06:32:39 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
h=mime-version:references:in-reply-to:from:date:message-id:subject:to
:cc; bh=a46mJzD7MlT4mJ6NWGxSDXsjJv17kGZi3yiLR7mhIio=;
b=tj1EoL2ca5S/3UyGVgnKlxF21IBvalss60EcZIOhJEJt5S8Bqj0t3/XEHGM8Bb6s06
He23o92FhJBREYsDyI4NQ/i13XBbU/1ozMb+6Yx2OuuSysOwOJrjze5ywupMkFCsJ9Kl
KHGozTWagc+tX931RM3GVst5JU/zh5j5xks74LPOCcqyIXnObU0alsx7u0ogLiRTzyS4
dY9cK0zR+HC6CbbvBAQwRboYZHXdZYnXdQdkAa5MdkzZ8au4YlFr/Iltb+I/ZUqQdgA2
mLvl9gFkbYW/9dSSR92igcY9KX+B9Qu8W57m9VrsGjUT3FuMK1v5d+onhL/k/uziq12s
BgKA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20161025;
h=x-gm-message-state:mime-version:references:in-reply-to:from:date
:message-id:subject:to:cc;
bh=a46mJzD7MlT4mJ6NWGxSDXsjJv17kGZi3yiLR7mhIio=;
b=peVZ+AKW4rI+Ihf4Eu8PMhU9fTdUPRUeuXoW0qnkp2wLo4HQmg40P9MMgGpcxQiWpY
TUR5l0TF3k3/LHV2QDm5lfC3J/toZ6Z3eAMhrh9HHcO3+MGBiuOA3C8gWXuU5SpBaay7
7yHy0tRMm13Ae2uo/CwOz9MzEethX34eWCVXyqQ7/DEU9IHK0WEBjakWNknK0IxK7t8p
wSGkAakb0O7CsA6EesBO80xY4CWjI/1w6no7kaWmm/LWYdGcK/nYjksHi+PBMao4q31P
/A2smSuualnJJMjDJL1Tyj0CMxUKO6BXCUtP1NXeAIiufpLJntXshuubdLNbSNlfeBBQ
PVaQ==
X-Gm-Message-State: AOAM533khhjFRbkpGSX+uSfGystjD30jTqGKv7xvZMOWx4BH+cPIeTC/
KasPqYuaktR0tYcqtow6Ftg19vyISA0i5Hl6xIptT7HS
X-Google-Smtp-Source: ABdhPJz9Pct3+3mAXlvEaK1CQEbkhEwgFLXDZjpCzasffSEmRDeQzDzArsPVaOJuFkvYLYlOq3rnom94FWZWesfRG7s=
X-Received: by 2002:a9d:2203:: with SMTP id o3mr753633ota.149.1597066353477;
Mon, 10 Aug 2020 06:32:33 -0700 (PDT)
MIME-Version: 1.0
References:
<20200621234816.88427.qmail@mail.muc.de>
<20200808145948.GA10181@ACM>
<20200809163523.GB26635@ACM>
In-Reply-To: <20200809163523.GB26635@ACM>
From: Philipp Stephani
Date: Mon, 10 Aug 2020 15:32:22 +0200
Message-ID:
Subject: Re: bug#41988: 28.0.50; Edebug unconditionally instruments
definitions with &define specs
To: Alan Mackenzie
Content-Type: text/plain; charset="UTF-8"
X-Spam-Score: 0.3 (/)
X-Debbugs-Envelope-To: 41988
Cc: 41988@debbugs.gnu.org
X-BeenThere: debbugs-submit@debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id:
List-Unsubscribe: ,
List-Archive:
List-Post:
List-Help:
List-Subscribe: ,
Errors-To: debbugs-submit-bounces@debbugs.gnu.org
Sender: "Debbugs-submit"
X-Spam-Score: -0.7 (/)
Am So., 9. Aug. 2020 um 18:35 Uhr schrieb Alan Mackenzie :
>
> Hello, Philipp.
>
> On Sun, Aug 09, 2020 at 13:33:53 +0200, Philipp Stephani wrote:
> > Am Sa., 8. Aug. 2020 um 16:59 Uhr schrieb Alan Mackenzie :
>
> > > I must admit, I'm having difficulty understanding this problem.
>
> > > On Sat, Aug 08, 2020 at 13:01:50 +0200, Philipp Stephani wrote:
> > > > Am Mo., 22. Juni 2020 um 01:48 Uhr schrieb Alan Mackenzie :
>
> [ .... ]
>
> > > > So this is somewhat subtle, so let me try to give some context. The
> > > > message is merely a symptom of defining a symbol twice (via
> > > > edebug-make-form-wrapper). That's a problem when using Edebug for
> > > > coverage instrumentation (in batch mode), as the coverage
> > > > information is attached to properties of the symbol that Edebug
> > > > generates/instruments.
>
> > > I'm trying to see what, exactly, this problem is. Edebug is defining
> > > a symbol twice, once for each of two arms of a &or form in the edebug
> > > spec. The first of these surely does nothing; it will eventually end
> > > up in the garbage collector. The second will form the function slot
> > > of the symbol, fulfilling all the Edebug things. What am I missing?
>
> > The problem is that Edebug not only generates objects that would later
> > be garbage-collected (and therefore not observable), but also modifies
> > observable global state. This starts at
> > https://git.savannah.gnu.org/cgit/emacs.git/tree/lisp/emacs-lisp/edebug.el?id=55bcb3f7e05c01d86778f1a2b7caccf72124614d#n1418
> > and continues for the rest of the edebug-make-form-wrapper function.
> > In particular,
> > https://git.savannah.gnu.org/cgit/emacs.git/tree/lisp/emacs-lisp/edebug.el?id=55bcb3f7e05c01d86778f1a2b7caccf72124614d#n1444
> > sets the `edebug' symbol property of the symbol being generated. None
> > of these mutations are undone when backtracking.
>
> Ah, I think I see it, now. edebug-form-data contains structures
> referring to functions, and could well have two entries with the same
> function name. (I see that at the moment in a file where I instrumented
> alternately an old version and a new version of a function.) The
> property list on the symbol then contains a messy combination of details
> for the two functions.
Yes.
>
> > > > Instrumenting a symbol with two different definitions can lead to
> > > > very subtle bugs because the frequency vector and the form offset
> > > > vector are out of sync, ....
>
> > > The picture you seem to be painting is of two distinct definitions
> > > being assigned to the same symbol, and both of them being live. Do
> > > you have any evidence that this is happening?
>
> > Let's say it's rather an incompatible mixture of two definitions.
> > https://debbugs.gnu.org/cgi/bugreport.cgi?bug=41853 is a symptom of
> > this. Another piece of evidence is the implementation of
> > `edebug-make-form-wrapper': that function clearly modifies buffer
> > contents and symbol properties even in branches that would later be
> > discarded as part of backtracking.
> > My (not well evidenced) assumption is that
> > https://git.savannah.gnu.org/cgit/emacs.git/tree/lisp/emacs-lisp/edebug.el?id=55bcb3f7e05c01d86778f1a2b7caccf72124614d#n1427
> > regenerates the offset vector, but there's no regeneration of the
> > frequency vector, which is the immediate trigger of
> > https://debbugs.gnu.org/cgi/bugreport.cgi?bug=41853, since now the
> > frequency and offset vectors might be incompatible with each other.
> > But I'd also assume the problem runs deeper: edebug-make-form-wrapper
> > performs multiple mutations, and it's not really clear which of those
> > are "safe" w.r.t. multiple definitions in not-taken branches.
>
> How about, instead of having symbol properties, we institute non-symbol
> property lists contained in each entry in edebug-form-data? This list
> could be rapidly searched, with repeated memq, for the pertinent entry.
> It would mean, however, that all gathered data would be discarded on each
> fresh instrumentation of a function. Apologies if you've already
> suggested this and I missed it.
That seems roughly what the documentation of `edebug-form-data' itself
suggests: "In the future (haha!), the symbol will be irrelevant and
edebug data will be stored in the definitions themselves rather than
in the property list of a symbol."
Though I don't know what "the definitions themselves" is supposed to mean here.
In any case, I'd agree that attaching the data (in an undocumented
manner) to some symbol that then carefully needs to be constructed to
be unique is too brittle. However, the current implementation is used
in quite a few places (see e.g. the interactive specification of
`edebug-remove-instrumentation'), so changing it isn't trivial.
>
> > > > .... see e.g. https://debbugs.gnu.org/cgi/bugreport.cgi?bug=41853.
> > > > Therefore it's important to prevent such duplicate instrumentation,
> > > > typically by changing the Edebug symbol in some way (appending a unique
> > > > suffix, etc.). Edebug does this already in many cases (ERT tests, CL
> > > > methods, ...), but not always. For some more context, see the coverage
> > > > instrumentation in my Bazel rules for ELisp
> > > > (https://github.com/phst/rules_elisp).
> > > > https://github.com/phst/rules_elisp/blob/master/elisp/ert/runner.el
> > > > contains the ERT and coverage integration. In
> > > > https://github.com/phst/rules_elisp/blob/0b24aa1660af2f6c668899bdd78aaba383d7ac18/elisp/ert/runner.el#L133-L134
> > > > I explicitly check for duplicate instrumentation. It is hard to predict
> > > > in general whether a specific instance of duplicate instrumentation
> > > > will lead to bugs like
> > > > https://debbugs.gnu.org/cgi/bugreport.cgi?bug=41853 or not, thus I'm
> > > > treating every duplicate instrumentation as a bug.
>
> > > What exactly do you mean by "duplicate instrumentation"? If a symbol
> > > gets defined twice, once for each arm of an &or in the edebug spec, does
> > > that count as a duplicate instrumentation?
>
> > What I mean concretely is evaluating `edebug-make-form-wrapper' (and
> > therefore, mutating symbol properties and buffer contents) once for
> > each branch of an &or construct.
>
> OK, thanks. How does my above plan, for reinitilising the function's
> properties at each instrumentation, sound?
It would definitely be an improvement I think.
From debbugs-submit-bounces@debbugs.gnu.org Tue Mar 02 10:59:39 2021
Received: (at 41988) by debbugs.gnu.org; 2 Mar 2021 15:59:39 +0000
Received: from localhost ([127.0.0.1]:54042 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from )
id 1lH7Qw-0004Li-Gt
for submit@debbugs.gnu.org; Tue, 02 Mar 2021 10:59:39 -0500
Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:53895)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from ) id 1lH7Qq-0004LQ-Qt
for 41988@debbugs.gnu.org; Tue, 02 Mar 2021 10:59:36 -0500
Received: from pmg3.iro.umontreal.ca (localhost [127.0.0.1])
by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id BBFB0440879;
Tue, 2 Mar 2021 10:59:26 -0500 (EST)
Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1])
by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id 5F638440843;
Tue, 2 Mar 2021 10:59:25 -0500 (EST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca;
s=mail; t=1614700765;
bh=bfMNXog8QUX1mFwKEhLhAw6DeRyGMS9JutKu8uiSzh8=;
h=From:To:Cc:Subject:References:Date:In-Reply-To:From;
b=hxHlUPzf7N/10anGP1fTOXBEhzeYou+Rj0SGXhykqNOswGQ46/TI/JaOJa0ML/o02
tjw6Y+Y0AZAUT3MYYF84b3RFhNRWL7Gcrkw7P4dFbEK4duU5sgeh8nusP+Hbnar8M1
O1XedpKxJEgUY7LWhjsIL4WITC3QdFHFPslNs7Ola+Xb0MZFqCapRazqFLQOKweidW
CzZQudgAJPq+mbDtriePrLis9/q5O+5ZiVfbr2FTZVU6fay0vZKOT1/yT4Kd0BzhqT
TqRugoIdqMl+gaMwEH6P9/m3/DMyoWjEx/9xpYirsmJjW49XJMrY8lDE/oEGhSM561
fN68N52xHMqOw==
Received: from alfajor (unknown [216.154.41.47])
by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 6639C1203FD;
Tue, 2 Mar 2021 10:59:25 -0500 (EST)
From: Stefan Monnier
To: Philipp
Subject: Re: bug#41988: 28.0.50; Edebug unconditionally instruments
definitions with &define specs
Message-ID:
References:
Date: Tue, 02 Mar 2021 10:59:24 -0500
In-Reply-To: (Philipp's message of "Sun, 21 Jun
2020 18:58:55 +0200")
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain
X-SPAM-INFO: Spam detection results: 0
ALL_TRUSTED -1 Passed through trusted hosts only via SMTP
AWL -0.100 Adjusted score from AWL reputation of From: address
BAYES_00 -1.9 Bayes spam probability is 0 to 1%
DKIM_SIGNED 0.1 Message has a DKIM or DK signature,
not necessarily valid
DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature
DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's
domain
X-SPAM-LEVEL:
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 41988
Cc: 41988@debbugs.gnu.org
X-BeenThere: debbugs-submit@debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id:
List-Unsubscribe: ,
List-Archive:
List-Post:
List-Help:
List-Subscribe: ,
Errors-To: debbugs-submit-bounces@debbugs.gnu.org
Sender: "Debbugs-submit"
X-Spam-Score: -3.3 (---)
> As an example, edebug-instrument (C-u C-M-x) the following definition:
>
> (defun bar ()
> (cl-flet ((foo () 1))
> (foo)))
>
> The *Messages* buffer now says
>
> Edebug: foo [2 times]
> Edebug: bar
I believe this is now fixed in `master`.
At least we only get a total of 2 messages rather than "3 collapsed to 2".
But I don't know enough about the code coverage to be sure that the
underlying problem you saw is also fixed. Can you confirm?
Stefan
From debbugs-submit-bounces@debbugs.gnu.org Tue Mar 02 12:28:23 2021
Received: (at 41988) by debbugs.gnu.org; 2 Mar 2021 17:28:23 +0000
Received: from localhost ([127.0.0.1]:54107 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from )
id 1lH8op-0006QB-Gk
for submit@debbugs.gnu.org; Tue, 02 Mar 2021 12:28:23 -0500
Received: from mail-ot1-f49.google.com ([209.85.210.49]:45806)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from ) id 1lH8om-0006Pv-LN
for 41988@debbugs.gnu.org; Tue, 02 Mar 2021 12:28:21 -0500
Received: by mail-ot1-f49.google.com with SMTP id d9so20701433ote.12
for <41988@debbugs.gnu.org>; Tue, 02 Mar 2021 09:28:20 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
h=mime-version:references:in-reply-to:from:date:message-id:subject:to
:cc:content-transfer-encoding;
bh=yXdivCJCmd7MlWmnK8Hu3RilSNwNwzMVl47jNyMIMGw=;
b=NV86xJ3H2rLzZAuGO3xnSyDBA+ifQrvXbMUd5OsluIMFyUmcF+yQFyBPJq6am/LXSS
330hCoGNFa069s9zIyKIBK3Es+BvGciNuD7pFksH/jAtnDm1QkQX6dIerNhAEyYt+TXd
uRIU6zphHGakqrw5upWkkPOREkSkLtKwwmAv7tGkk0uvWUBQltlddlXoTHLlr4KhzkIr
uqHm8rLkwXmdV3pURQrMheysdVfCqPnbA1c2omAOASbW6N73GY+TKNJVJY9oxws3b5fp
+3zABOqUS6aAbf/1yzfKEx2RFzcqdnuRAMHj7w0NiAucsP2LMd/e3Cphc2Iz3gMnuY3f
ZQTg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20161025;
h=x-gm-message-state:mime-version:references:in-reply-to:from:date
:message-id:subject:to:cc:content-transfer-encoding;
bh=yXdivCJCmd7MlWmnK8Hu3RilSNwNwzMVl47jNyMIMGw=;
b=YMDy57NpPfsH5+s/IDAm7xZscjFtflySN1FuRguQUtBXup6yQjC5L3U4fxljA1f7j8
1+CE0lPnUBC8MqjXaGCBIP4+Kq7seyM9sRJtYDxYwsGnyw0Lv2Mvm+wBuhVxqx/dsTJ9
CxaxXcmwHghdFRMmRuMbeT82egx6uObcSI4ylILe/FaSi0Sbor1XLT0d7VxvS4lTpk+f
XDGFMQmegKrW5MeyLuAq9K/H+UL0Z3REaZZ2Mo9Xy1yNEt0gKIW8h4cCmwaAGqd+yfZ7
k/l0mCL70fW5ihP6yg7+3LlNu1HdMCcsTRJPxcKgJNYmcq1FAxdJLwIy9AwRdb7ziB2W
SoQw==
X-Gm-Message-State: AOAM530gbon9pKxXsEEOAkFJtb+27ZMe6LMqkreMMl++fBqeWjzKWTWF
WPzb00ncdmitdEYR1dWDa36CAsyKvmdp+/sx+J8=
X-Google-Smtp-Source: ABdhPJy3/O7oI6w6act1wTYyDi/21UWv0d11d1eM4HY0hQEVu80VhpfcitNhmLqmHc45ZC7qf/GoGq7sZIbO8pAJDXM=
X-Received: by 2002:a9d:3a34:: with SMTP id j49mr18347404otc.153.1614706094723;
Tue, 02 Mar 2021 09:28:14 -0800 (PST)
MIME-Version: 1.0
References:
In-Reply-To:
From: Philipp Stephani
Date: Tue, 2 Mar 2021 18:28:03 +0100
Message-ID:
Subject: Re: bug#41988: 28.0.50; Edebug unconditionally instruments
definitions with &define specs
To: Stefan Monnier
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.3 (/)
X-Debbugs-Envelope-To: 41988
Cc: 41988@debbugs.gnu.org
X-BeenThere: debbugs-submit@debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id:
List-Unsubscribe: ,
List-Archive:
List-Post:
List-Help:
List-Subscribe: ,
Errors-To: debbugs-submit-bounces@debbugs.gnu.org
Sender: "Debbugs-submit"
X-Spam-Score: -0.7 (/)
Am Di., 2. M=C3=A4rz 2021 um 16:59 Uhr schrieb Stefan Monnier
:
>
> > As an example, edebug-instrument (C-u C-M-x) the following definition:
> >
> > (defun bar ()
> > (cl-flet ((foo () 1))
> > (foo)))
> >
> > The *Messages* buffer now says
> >
> > Edebug: foo [2 times]
> > Edebug: bar
>
> I believe this is now fixed in `master`.
> At least we only get a total of 2 messages rather than "3 collapsed to 2"=
.
> But I don't know enough about the code coverage to be sure that the
> underlying problem you saw is also fixed. Can you confirm?
Thanks! I'll check (hopefully in the next few days).
For context, the tests that should now be fixed are
https://github.com/phst/rules_elisp/blob/6050b4ecc35e1a450320420f3a652f2551=
fc22b1/tests/ert_test.go#L215
and https://github.com/phst/rules_elisp/blob/6050b4ecc35e1a450320420f3a652f=
2551fc22b1/elisp/ert/runner.el#L138.
But these run under Emacs 27 by default. I'm going to check whether I
can make them run under "master" as well.
From debbugs-submit-bounces@debbugs.gnu.org Mon Mar 08 11:33:39 2021
Received: (at 41988-done) by debbugs.gnu.org; 8 Mar 2021 16:33:40 +0000
Received: from localhost ([127.0.0.1]:44614 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from )
id 1lJIp9-0000Xc-OM
for submit@debbugs.gnu.org; Mon, 08 Mar 2021 11:33:39 -0500
Received: from mail-oi1-f177.google.com ([209.85.167.177]:40055)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from ) id 1lJIp8-0000XP-4g
for 41988-done@debbugs.gnu.org; Mon, 08 Mar 2021 11:33:38 -0500
Received: by mail-oi1-f177.google.com with SMTP id w65so11557741oie.7
for <41988-done@debbugs.gnu.org>; Mon, 08 Mar 2021 08:33:38 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
h=mime-version:references:in-reply-to:from:date:message-id:subject:to
:cc:content-transfer-encoding;
bh=Nz81GVOgana74Bp1QaY5YTBBXhmHNVeDV9q8/iX56SU=;
b=Wovs7UkLqkf/qre2OglQ5bJNIF7b1QLGEaqjLc/HUM/EisT0jfe51Rz3WYllEno/cF
eCDUj54k0a8tSpqMijj7FDWAPD9/S39/E+FIxtiU+HVgKzFk86waK70q1b+BF99F8CcR
TFO25z2/3z80TSOwz7ypKBV3o3OEnoKL+m+pviYcgILK0g06B68u9GTTRp4zWHaWi3ny
KUFIzt/UsO67Gas41Z/ulVQbYxxiedx+w2ZnUndR3YT7FJ9V0lcKruZNNbNhpShVIa1d
Tg4Q6ANT8q72mv8PMkEPfrMayxomVzeeIO87lvwcXQuGDrjuTxm6k080JiXSZPjVYEWP
t0oA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20161025;
h=x-gm-message-state:mime-version:references:in-reply-to:from:date
:message-id:subject:to:cc:content-transfer-encoding;
bh=Nz81GVOgana74Bp1QaY5YTBBXhmHNVeDV9q8/iX56SU=;
b=IAz0fpICSND+uchai3lqgW9gS4W1yvUFDHrQB2W6U7GEX0UeDQSoWIi/sw+d2qJ4A4
o2f5DGzgD8zgTp5jPRYErYTxvI/Tt2FM7fzAyrkuMLOFfU43nRoN1GJ49i7b9SfQZVsF
hoL4G03aU0q5dU3SG1bMHZMTOSF5jiVFZ6xv3CqpHtexxk4l0CXlQV2+hTx5nqf4jC9v
zOUX4UuDjZcdf2LaLMS/LWn0akjD9p1VlzuEp6/HWoHNqEAtpQADnCztK17BgLNsvjKl
I19Bfb1VzrFyS02pjsOQ3hEO7H64AsiX0CglhidxCck1THXYFDh5KZ0O12CaQfEwwpt5
Wv9A==
X-Gm-Message-State: AOAM533zp88uE2fpkkqjywBEdNrX6LQkbsC5WK0LjKV7E9gO5azx+9Os
KiudT0uFse1nxgm993a0gEX62bhrUNHFBsIZUG0=
X-Google-Smtp-Source: ABdhPJxFifK7rmpfZ94DX63Ct+sOAzsnGVaqnamgsJ1A8kFJ6wR+LqRIhUklwxsBXBN9MZfNX65ND5A4jq7Gb2JWEko=
X-Received: by 2002:a05:6808:d47:: with SMTP id
w7mr17678678oik.150.1615221212401;
Mon, 08 Mar 2021 08:33:32 -0800 (PST)
MIME-Version: 1.0
References:
In-Reply-To:
From: Philipp Stephani
Date: Mon, 8 Mar 2021 17:33:21 +0100
Message-ID:
Subject: Re: bug#41988: 28.0.50; Edebug unconditionally instruments
definitions with &define specs
To: Stefan Monnier
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.2 (/)
X-Debbugs-Envelope-To: 41988-done
Cc: 41988-done@debbugs.gnu.org
X-BeenThere: debbugs-submit@debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id:
List-Unsubscribe: ,
List-Archive:
List-Post:
List-Help:
List-Subscribe: ,
Errors-To: debbugs-submit-bounces@debbugs.gnu.org
Sender: "Debbugs-submit"
X-Spam-Score: -0.8 (/)
Am Di., 2. M=C3=A4rz 2021 um 18:28 Uhr schrieb Philipp Stephani
:
>
> Am Di., 2. M=C3=A4rz 2021 um 16:59 Uhr schrieb Stefan Monnier
> :
> >
> > > As an example, edebug-instrument (C-u C-M-x) the following definition=
:
> > >
> > > (defun bar ()
> > > (cl-flet ((foo () 1))
> > > (foo)))
> > >
> > > The *Messages* buffer now says
> > >
> > > Edebug: foo [2 times]
> > > Edebug: bar
> >
> > I believe this is now fixed in `master`.
> > At least we only get a total of 2 messages rather than "3 collapsed to =
2".
> > But I don't know enough about the code coverage to be sure that the
> > underlying problem you saw is also fixed. Can you confirm?
>
> Thanks! I'll check (hopefully in the next few days).
Confirmed that the original issue is indeed fixed.
From debbugs-submit-bounces@debbugs.gnu.org Mon Mar 08 11:38:03 2021
Received: (at 41988) by debbugs.gnu.org; 8 Mar 2021 16:38:03 +0000
Received: from localhost ([127.0.0.1]:44625 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from )
id 1lJItP-0000en-Ke
for submit@debbugs.gnu.org; Mon, 08 Mar 2021 11:38:03 -0500
Received: from mail-oo1-f51.google.com ([209.85.161.51]:44516)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from ) id 1lJItO-0000eH-FU
for 41988@debbugs.gnu.org; Mon, 08 Mar 2021 11:38:02 -0500
Received: by mail-oo1-f51.google.com with SMTP id n19so2320848ooj.11
for <41988@debbugs.gnu.org>; Mon, 08 Mar 2021 08:38:02 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
h=mime-version:references:in-reply-to:from:date:message-id:subject:to
:cc:content-transfer-encoding;
bh=DEug/6VJ1TmtnwCttqwjdKjXyyFEilNazt5cmNQ8M+o=;
b=EcVNIxcOSma44chMFFUXNVkmMi7dqAUfnIuQPBeD2o3tZFlBYsIgA9eTWscvC+a6C2
5AJ4npEAB/ZJjpVOq8JZJvqTFO7clwh5FFjHi2Q6NWQQClUiAC5yRPaJTq7M/4NfePtc
GCLswlgAL/fYtFVVML4b9vp45tfXmOvHpmRA3idv9Izu9GtB9gOX9+sUX8lTFI+VE7j3
JeV5q/Fwdmk+UfJ1uBmRAfDrPzpNR4XwhoBMz8oUT5MUZO6wGdP7kglBpj5HFpAtV953
ij348uS1s6WZp8PxHhlj5wMmzDSt6xRQlRFshB1v5iHKe8fBBO3bNKt9OD5eER6Napjy
iXXg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20161025;
h=x-gm-message-state:mime-version:references:in-reply-to:from:date
:message-id:subject:to:cc:content-transfer-encoding;
bh=DEug/6VJ1TmtnwCttqwjdKjXyyFEilNazt5cmNQ8M+o=;
b=Lxa6Y1Mr7jes3XlTlS34eiX3RWgnSU9eDQRM3cmP0Jhw5ZrzwNhYwJf0t6qOoALgQT
KlbxMW6eXKBjPgdPt2t3dRvhpXhgu3kY2yGbKHc6ThYaWWWa6ZePGECh6jPzax4hkvYa
epphh+n7/WeUUCuv0ai+1HtweFH7uqBZRiwULOdIVPVKnJPmTZb8Mblx6qfuNyv6PjDg
1DG8A4LZAnLdfnQ3Kb7BzuZ+UyOIDPMXJKLN9+pdGdrS9qEKn+v48bk4aJnq0gyMWPQv
Aow2WWrkETq5+Pcw//M6+ytiXSMdp7O18u+ueElTvlcFL3zE8UwOCXTvtUQpLSyM8eoK
mzBQ==
X-Gm-Message-State: AOAM531sMkoRM8gRk83uKiVFQBBLwTrSKLvcG1SriwY1BjXSz8kDl38I
otjO59nTouuonSJYUFrAZ8bkxh2FJniBGPUkUuw=
X-Google-Smtp-Source: ABdhPJxWg1wXcZMG8nCqcRGY7cy3XTL4tYqdpZMr/DdjX7IakwCmLaA2TTgqhbXydIJZtpwJnop+XpMs0/KEvoJKmso=
X-Received: by 2002:a4a:e615:: with SMTP id f21mr19151104oot.91.1615221476826;
Mon, 08 Mar 2021 08:37:56 -0800 (PST)
MIME-Version: 1.0
References:
In-Reply-To:
From: Philipp Stephani
Date: Mon, 8 Mar 2021 17:37:45 +0100
Message-ID:
Subject: Re: bug#41988: 28.0.50; Edebug unconditionally instruments
definitions with &define specs
To: Stefan Monnier
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.3 (/)
X-Debbugs-Envelope-To: 41988
Cc: 41988@debbugs.gnu.org
X-BeenThere: debbugs-submit@debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id:
List-Unsubscribe: ,
List-Archive:
List-Post:
List-Help:
List-Subscribe: ,
Errors-To: debbugs-submit-bounces@debbugs.gnu.org
Sender: "Debbugs-submit"
X-Spam-Score: -0.7 (/)
Am Mo., 8. M=C3=A4rz 2021 um 17:33 Uhr schrieb Philipp Stephani
:
>
> Am Di., 2. M=C3=A4rz 2021 um 18:28 Uhr schrieb Philipp Stephani
> :
> >
> > Am Di., 2. M=C3=A4rz 2021 um 16:59 Uhr schrieb Stefan Monnier
> > :
> > >
> > > > As an example, edebug-instrument (C-u C-M-x) the following definiti=
on:
> > > >
> > > > (defun bar ()
> > > > (cl-flet ((foo () 1))
> > > > (foo)))
> > > >
> > > > The *Messages* buffer now says
> > > >
> > > > Edebug: foo [2 times]
> > > > Edebug: bar
> > >
> > > I believe this is now fixed in `master`.
> > > At least we only get a total of 2 messages rather than "3 collapsed t=
o 2".
> > > But I don't know enough about the code coverage to be sure that the
> > > underlying problem you saw is also fixed. Can you confirm?
> >
> > Thanks! I'll check (hopefully in the next few days).
>
> Confirmed that the original issue is indeed fixed.
Hmm, maybe I spoke too soon. The original issue with cl-flet is indeed
fixed, but I think one likely explanation for that is that it now only
has a single &define form. What about other macros that still have
multiple &define forms in an &or form? Are they fixed as well?
From debbugs-submit-bounces@debbugs.gnu.org Mon Mar 08 12:41:18 2021
Received: (at 41988) by debbugs.gnu.org; 8 Mar 2021 17:41:19 +0000
Received: from localhost ([127.0.0.1]:44711 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from )
id 1lJJsc-0002DA-LL
for submit@debbugs.gnu.org; Mon, 08 Mar 2021 12:41:18 -0500
Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:10161)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from ) id 1lJJsb-0002Cv-5V
for 41988@debbugs.gnu.org; Mon, 08 Mar 2021 12:41:17 -0500
Received: from pmg2.iro.umontreal.ca (localhost.localdomain [127.0.0.1])
by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id 99CE380229;
Mon, 8 Mar 2021 12:41:11 -0500 (EST)
Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1])
by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id 20DFE804E6;
Mon, 8 Mar 2021 12:41:10 -0500 (EST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca;
s=mail; t=1615225270;
bh=UuHKADki7FmVJuKPBzMcprq2s71Otq+p8FQ1B1piStI=;
h=From:To:Cc:Subject:References:Date:In-Reply-To:From;
b=DMi3heLXw8zpwU2T+gWszAUlPpftytMZ5/iXJuqhjOetKJlN1C4ucRngRX377tAo/
MYI+oTDScIY6wHPuSbj5gcyuGsgsE3yH/ylq/1NXaQf8903netgxHdVxkKyONBWsJ1
3o0kopJbhre5CQP5YkH1+XgbIg7GCT6oMXnvA0WLl/4QswkY1uYoUX1vRTFuc3Hd2y
OsF6eaW0jWH8NfkzyHtIOXHVh1xbatZCWwBWz92uLkMrvFtwXf0Upf94d9DaGflviF
mJKiRvSkDaZeElzgnHhyLlUzKb7ai9Qr1SP5TUPtuJly5XPx+F+B1tnmb5DbHoAezp
ndYYDDQ+GgEyg==
Received: from alfajor (unknown [216.154.43.249])
by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id C6EDD1201AA;
Mon, 8 Mar 2021 12:41:09 -0500 (EST)
From: Stefan Monnier
To: Philipp Stephani
Subject: Re: bug#41988: 28.0.50; Edebug unconditionally instruments
definitions with &define specs
Message-ID:
References:
Date: Mon, 08 Mar 2021 12:41:09 -0500
In-Reply-To:
(Philipp Stephani's message of "Mon, 8 Mar 2021 17:37:45 +0100")
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain
X-SPAM-INFO: Spam detection results: 0
ALL_TRUSTED -1 Passed through trusted hosts only via SMTP
AWL -0.095 Adjusted score from AWL reputation of From: address
BAYES_00 -1.9 Bayes spam probability is 0 to 1%
DKIM_SIGNED 0.1 Message has a DKIM or DK signature,
not necessarily valid
DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature
DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's
domain
X-SPAM-LEVEL:
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 41988
Cc: 41988@debbugs.gnu.org
X-BeenThere: debbugs-submit@debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id:
List-Unsubscribe: ,
List-Archive:
List-Post:
List-Help:
List-Subscribe: ,
Errors-To: debbugs-submit-bounces@debbugs.gnu.org
Sender: "Debbugs-submit"
X-Spam-Score: -3.3 (---)
> Hmm, maybe I spoke too soon. The original issue with cl-flet is indeed
> fixed, but I think one likely explanation for that is that it now only
> has a single &define form. What about other macros that still have
> multiple &define forms in an &or form? Are they fixed as well?
No, I don't think they'd be fixed either.
Stefan
From debbugs-submit-bounces@debbugs.gnu.org Sun Mar 14 12:32:58 2021
Received: (at 41988) by debbugs.gnu.org; 14 Mar 2021 16:32:58 +0000
Received: from localhost ([127.0.0.1]:34114 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from )
id 1lLTfm-0003Aa-Je
for submit@debbugs.gnu.org; Sun, 14 Mar 2021 12:32:58 -0400
Received: from mail-ed1-f41.google.com ([209.85.208.41]:38803)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from ) id 1lLTfl-0003AN-0t
for 41988@debbugs.gnu.org; Sun, 14 Mar 2021 12:32:57 -0400
Received: by mail-ed1-f41.google.com with SMTP id h13so14506419eds.5
for <41988@debbugs.gnu.org>; Sun, 14 Mar 2021 09:32:56 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
h=mime-version:subject:from:in-reply-to:date:cc
:content-transfer-encoding:message-id:references:to;
bh=xZyqLEkScmxCigX9+7g1FosI/5F58iUzIip1LZRiXXk=;
b=OLRDVuKXrwElAM9ZR1uP9Sd5nAtVA/aqc57KlWWLZMHCgDrn7Mq4iDZzxXIO4UXipA
2sCyD72MZr3Xdhh9HdLbNXbplUXctfYWuy82rHUicXTbWWUJe/MXd2dqjw7Ul1pq25+T
hRzCE+w0N2V76RE5KXqD6eu+Bgy6LyYkn3T0VSMbMi5AanoeHbs82w2JfZKezgDSU4a3
m6wKMcVN8PFvFQCNzpZd054lWJyAPryXxMpGmjDdNa1eLvhIAAi6loRyDdSFqJnXCWOV
eFEDFapp0l2d3kYCNGPfa19Chx7eGfeTjrDCT5GxccmyPx6F/11HpSnva4wXONY6rbyK
ILGg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20161025;
h=x-gm-message-state:mime-version:subject:from:in-reply-to:date:cc
:content-transfer-encoding:message-id:references:to;
bh=xZyqLEkScmxCigX9+7g1FosI/5F58iUzIip1LZRiXXk=;
b=hoWH8dZYwwDj5k6nmVGfhurOXVBVzdO4ypmt+aNwaqBu6o9pBxtTIgd27wCvI1WT36
hv//dCj1SE1eREygTPb4mN8aqqoHAOGPRKDYkscntDH8+AYeNzBqWfbXqIFBP9OhslVS
DZofL/PPIx/jmRGj8hG57cypbJIqHLmtgZwHV3C2a80bnzk14GuGNLP7YcZDuyfIqwTk
p7/ubLVkMHu9h6PSQKoh1/4MP/JoX55luwMwPw7xEWA6cqvZACW+evEQcMfGDeSra++7
ZI2uipAbfufwtQ2FQk1qS5aKWek93ZDOLFmK9eqhv/fZaEdWBgc2/QJk58nfGCkweMsq
epfA==
X-Gm-Message-State: AOAM530psz3HYVaXxkk7P+GjYSSnkYde4BaOXTDawG5ejBCG795viLbQ
lc8XiZz1+BPzu3G1iAvpVag=
X-Google-Smtp-Source: ABdhPJyQd/2KbTNDkH8+ztIJwM5x3CeBC2GXSWwh8DKw0a0USrI5/590oj/cR2o16ALBPO9ZvUNDmQ==
X-Received: by 2002:a05:6402:9:: with SMTP id d9mr25334500edu.67.1615739571069;
Sun, 14 Mar 2021 09:32:51 -0700 (PDT)
Received: from philipps-mbp.fritz.box ([46.128.208.19])
by smtp.gmail.com with ESMTPSA id c17sm7156993edw.32.2021.03.14.09.32.50
(version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128);
Sun, 14 Mar 2021 09:32:50 -0700 (PDT)
Content-Type: text/plain;
charset=us-ascii
Mime-Version: 1.0 (Mac OS X Mail 14.0 \(3654.60.0.2.21\))
Subject: Re: bug#41988: 28.0.50; Edebug unconditionally instruments
definitions with &define specs
From: Philipp
In-Reply-To:
Date: Sun, 14 Mar 2021 17:32:49 +0100
Content-Transfer-Encoding: 7bit
Message-Id: <6D19F14E-0133-4751-B0BD-EC2A73C1D21F@gmail.com>
References:
To: Stefan Monnier
X-Mailer: Apple Mail (2.3654.60.0.2.21)
X-Spam-Score: 0.2 (/)
X-Debbugs-Envelope-To: 41988
Cc: 41988@debbugs.gnu.org
X-BeenThere: debbugs-submit@debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id:
List-Unsubscribe: ,
List-Archive:
List-Post:
List-Help:
List-Subscribe: ,
Errors-To: debbugs-submit-bounces@debbugs.gnu.org
Sender: "Debbugs-submit"
X-Spam-Score: -0.8 (/)
> Am 08.03.2021 um 18:41 schrieb Stefan Monnier :
>
>> Hmm, maybe I spoke too soon. The original issue with cl-flet is indeed
>> fixed, but I think one likely explanation for that is that it now only
>> has a single &define form. What about other macros that still have
>> multiple &define forms in an &or form? Are they fixed as well?
>
> No, I don't think they'd be fixed either.
>
OK, then maybe it would make sense to reopen this bug.
Do you know of a similar example that still reproduces the bug?
From debbugs-submit-bounces@debbugs.gnu.org Sun Mar 14 13:38:15 2021
Received: (at 41988) by debbugs.gnu.org; 14 Mar 2021 17:38:15 +0000
Received: from localhost ([127.0.0.1]:34143 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from )
id 1lLUgw-0004nc-UG
for submit@debbugs.gnu.org; Sun, 14 Mar 2021 13:38:15 -0400
Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:53905)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from ) id 1lLUgu-0004nN-NN
for 41988@debbugs.gnu.org; Sun, 14 Mar 2021 13:38:13 -0400
Received: from pmg3.iro.umontreal.ca (localhost [127.0.0.1])
by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id 131FD440940;
Sun, 14 Mar 2021 13:38:07 -0400 (EDT)
Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1])
by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id CA8BD440BDA;
Sun, 14 Mar 2021 13:38:05 -0400 (EDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca;
s=mail; t=1615743485;
bh=35OUBqCeaRRzlYVkvFbhpTu9N3g1m1I131svkybtUb8=;
h=From:To:Cc:Subject:References:Date:In-Reply-To:From;
b=HEVwhvhVwu7kdJycyi0mi+/wQztcvCchk1rGfLFePp7ZFl92HlX5h2FR3FbDKcEm9
hZpjfK0LkAsorQMfUg2uuNEDRmnW4e8q5ZUdeE8ZLL4Gr0BqrZS/LnM8eekeHWHXbi
HWZt4rcBDuUOwrVKnZKTnE/glM4KOT19sfPOOmoiPTvJtfXGP17gj0rKdU3DBpbN88
4XHt/Rt5Q/Iz+/MdzWQJfgV/O8uBUOunENwXmqj9EGm+5lveHNip/n3urbthpO9jm4
R+7uG5tBCXxHNjF59giAxL6mPb2UQ8EXqLwOqlGPZGq/TwVkurXUob23LZIxsGdfdt
ivBRnsXF63RgA==
Received: from alfajor (unknown [216.154.43.249])
by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id B2A6F12020D;
Sun, 14 Mar 2021 13:38:05 -0400 (EDT)
From: Stefan Monnier
To: Philipp
Subject: Re: bug#41988: 28.0.50; Edebug unconditionally instruments
definitions with &define specs
Message-ID:
References:
<6D19F14E-0133-4751-B0BD-EC2A73C1D21F@gmail.com>
Date: Sun, 14 Mar 2021 13:38:04 -0400
In-Reply-To: <6D19F14E-0133-4751-B0BD-EC2A73C1D21F@gmail.com> (Philipp's
message of "Sun, 14 Mar 2021 17:32:49 +0100")
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain
X-SPAM-INFO: Spam detection results: 0
ALL_TRUSTED -1 Passed through trusted hosts only via SMTP
AWL -0.104 Adjusted score from AWL reputation of From: address
BAYES_00 -1.9 Bayes spam probability is 0 to 1%
DKIM_SIGNED 0.1 Message has a DKIM or DK signature,
not necessarily valid
DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature
DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's
domain
X-SPAM-LEVEL:
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 41988
Cc: 41988@debbugs.gnu.org
X-BeenThere: debbugs-submit@debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id:
List-Unsubscribe: ,
List-Archive:
List-Post:
List-Help:
List-Subscribe: ,
Errors-To: debbugs-submit-bounces@debbugs.gnu.org
Sender: "Debbugs-submit"
X-Spam-Score: -3.3 (---)
>>> Hmm, maybe I spoke too soon. The original issue with cl-flet is indeed
>>> fixed, but I think one likely explanation for that is that it now only
>>> has a single &define form. What about other macros that still have
>>> multiple &define forms in an &or form? Are they fixed as well?
>> No, I don't think they'd be fixed either.
> OK, then maybe it would make sense to reopen this bug.
It might be easier to declare this as a known limitation.
> Do you know of a similar example that still reproduces the bug?
No. And I'd hope the problem can be avoided in all cases.
I guess we could try and make it more "official" by imposing some kind of "cut"
such that after passing a `&define` we can't backtrack.
Stefan
From debbugs-submit-bounces@debbugs.gnu.org Thu Mar 18 07:19:34 2021
Received: (at 41988) by debbugs.gnu.org; 18 Mar 2021 11:19:35 +0000
Received: from localhost ([127.0.0.1]:45256 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from )
id 1lMqgg-0002b2-MC
for submit@debbugs.gnu.org; Thu, 18 Mar 2021 07:19:34 -0400
Received: from mail-wm1-f54.google.com ([209.85.128.54]:35345)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from ) id 1lMqgf-0002ap-FA
for 41988@debbugs.gnu.org; Thu, 18 Mar 2021 07:19:33 -0400
Received: by mail-wm1-f54.google.com with SMTP id
a132-20020a1c668a0000b029010f141fe7c2so2952866wmc.0
for <41988@debbugs.gnu.org>; Thu, 18 Mar 2021 04:19:33 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
h=mime-version:subject:from:in-reply-to:date:cc
:content-transfer-encoding:message-id:references:to;
bh=Lgi4olm8sVRdNwPkCAMyktMtNs9jpPe+xmPB7/qzR9Y=;
b=IS4yy79lnMl59iFyfhQSNHWWNz+tdeRkyi04MHxrAZL/xhkPPFH5iHrCgqWLzYy9JJ
AAZxa9XOJIbPcdePVnfDVkVi9yA6mgIPuF6AQEIPa4h4s39t5P/DL/XEFHS6CvycUaBo
nr7eKXYEPRdOnFau3Rc3ZPlK4uE03Qb1I1UnbtfXjLJR0l+zBYB9SCKn5rQTNGzockP6
qa8Pm4DyxN2pYVZjmjb2FHG1RS2XI+7Q66/tbXMvGnWgRriQONWDEyXwAvXZOXrRFozm
MU59z2Ryhu63Lk0IV4QRSTGDEY02VJBqqET2Qcb+6c5c18uh3i4kuIxruJUXb1JHTswx
PWUg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20161025;
h=x-gm-message-state:mime-version:subject:from:in-reply-to:date:cc
:content-transfer-encoding:message-id:references:to;
bh=Lgi4olm8sVRdNwPkCAMyktMtNs9jpPe+xmPB7/qzR9Y=;
b=lyLaTMKnnyfV5MB8oC2DohbFXkXcao8LvZ1iPAvbsTrAdTw3LSiLiAl0gl1rthf1RT
67VcixCH0jYePUSNN4rMG23LVKGE4EefqpC0LJJNbngyvG8ZYK4z3ImfxjEAlYDP0U8p
d9ANrvaWckkOFpVSzHNRAA+1JH53/A77QpBfY/m4u2oJ8twkGe6nsk8kVEwCFe5TJpeU
00nOcaD9ofVAIQrlVGl/2MeKxgNC2QKUNp76USIOYFFLY7EHQRygLCVX3dOa+WcyWyXE
DZ3C4DKIssJ04eYxI3nH3EDgfLf5rWHoe0YIXo67ksUO7WScrs85WovO9vifhUxDuBSx
egMw==
X-Gm-Message-State: AOAM533QT6YPh2BgPPj15leqA3fSXt5CHQRRGJOGk1zgrGivj5dMKY7k
csWOmBUHATGNI9oSr5+tRdE=
X-Google-Smtp-Source: ABdhPJzw14+3HYU9xS97Alz+mDAIdIJj/u9ZlEJpU9cWpaiyS/z37HeRxD0P2OV4/CqzIUa1LlRlNg==
X-Received: by 2002:a1c:4182:: with SMTP id o124mr3232443wma.61.1616066367565;
Thu, 18 Mar 2021 04:19:27 -0700 (PDT)
Received: from philipps-macbook-pro.fritz.box (p57aafc25.dip0.t-ipconnect.de.
[87.170.252.37])
by smtp.gmail.com with ESMTPSA id w11sm2552539wrv.88.2021.03.18.04.19.26
(version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128);
Thu, 18 Mar 2021 04:19:26 -0700 (PDT)
Content-Type: text/plain;
charset=us-ascii
Mime-Version: 1.0 (Mac OS X Mail 14.0 \(3654.60.0.2.21\))
Subject: Re: bug#41988: 28.0.50; Edebug unconditionally instruments
definitions with &define specs
From: Philipp
In-Reply-To:
Date: Thu, 18 Mar 2021 12:19:26 +0100
Content-Transfer-Encoding: quoted-printable
Message-Id: