X-Loop: help-debbugs@HIDDEN Subject: bug#48585: 28.0.50; Missing Edebug instrumentation for some 'if-let' variants Resent-From: Philipp <p.stephani2@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: bug-gnu-emacs@HIDDEN Resent-Date: Sat, 22 May 2021 11:38:02 +0000 Resent-Message-ID: <handler.48585.B.162168347515477 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: report 48585 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: 48585 <at> debbugs.gnu.org X-Debbugs-Original-To: bug-gnu-emacs@HIDDEN Received: via spool by submit <at> debbugs.gnu.org id=B.162168347515477 (code B ref -1); Sat, 22 May 2021 11:38:02 +0000 Received: (at submit) by debbugs.gnu.org; 22 May 2021 11:37:55 +0000 Received: from localhost ([127.0.0.1]:38391 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1lkPx4-00041Z-RE for submit <at> debbugs.gnu.org; Sat, 22 May 2021 07:37:55 -0400 Received: from lists.gnu.org ([209.51.188.17]:45894) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <p.stephani2@HIDDEN>) id 1lkPx3-00041S-Tl for submit <at> debbugs.gnu.org; Sat, 22 May 2021 07:37:54 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:38544) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <p.stephani2@HIDDEN>) id 1lkPx3-0001VL-LP for bug-gnu-emacs@HIDDEN; Sat, 22 May 2021 07:37:53 -0400 Received: from mail-ej1-x636.google.com ([2a00:1450:4864:20::636]:33721) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from <p.stephani2@HIDDEN>) id 1lkPx1-0005Wa-2w for bug-gnu-emacs@HIDDEN; Sat, 22 May 2021 07:37:53 -0400 Received: by mail-ej1-x636.google.com with SMTP id z12so32883689ejw.0 for <bug-gnu-emacs@HIDDEN>; Sat, 22 May 2021 04:37:50 -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=ItqNIsK1d0YZds13wikFBGHHw+B/M2WtiKV2j8X1Jug=; b=MKQ80ERl9Morl7mgb0enQlCSZbHL3pEFk1sPakhna8HOQ4lsWW+/QCyEDQh2MjPJJw d0DTqNQNy7AjVhIZIZtZHiQf9SEY02CMQ2LqxASVSTC26YzBIwVycVG0LJFETenZotDl rGg/NE/U+1LgocN+aBe+uAkkSFEchICZ6a0DlmpBDV81DumUsRMXfx2/h4vUeNOgj9zz rQlx6k+8CfT7ZlY1Y9dUOI97aTX6Hu9zvVOZgv0xpSpz/618CK/KHyv8/lVEtQVc6JAL w1n6KXCl1GI+BnCkvtBkfmONrtIwDcdnjPsPPoC0CkLi3TgE0utjhyP1kEON794rNL0N /tFQ== 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=ItqNIsK1d0YZds13wikFBGHHw+B/M2WtiKV2j8X1Jug=; b=SrzfJQ8K42WI32SMnbuy4MuTyTJNA2fkEr/EaPt/SwvZypuOiPGJqO5An/qZLirZKc 5mf5iulN+ueiCBudWROf1DUhYLME2t7pxB3azKaS49DJgV78b20GmCA03NZVmGXfbNkw z67nZPKApwJ4rMg/UnaCqsLTiTfw5HOq1FrxNs7L99gEheTEbULLc6zo1VPhmpGgKDvy glUnhHQyABEgJoEW7NVHSx5316ciZArYzrbJJ28sG2nSzyiDSkqvsX0qhOrgLz1PPKoE LSODOoaJ536jM5gbUVvvQ7ztoGj5bNl5oAHGd4lqEeE6ezsjJ8AYVPZrpMWOwgS28ETJ 4AFg== X-Gm-Message-State: AOAM533I7lL2ty7VBg05j+7NblhW8TeNk+8+8/Yupa1EFmLyDNjqmiFx 6yHOyfiWamZwENsRPlta1ZY6FODC83jtWw== X-Google-Smtp-Source: ABdhPJxbo9YuUiTKnkE6nbipUjosjvQ06jFK6UwPo5wZyWgKMtzDBBRjV99BimvBZRZGphvM13m9oA== X-Received: by 2002:a17:906:a84e:: with SMTP id dx14mr14279161ejb.220.1621683469290; Sat, 22 May 2021 04:37:49 -0700 (PDT) Received: from Philipps-MBP.fritz.box ([46.128.198.100]) by smtp.gmail.com with ESMTPSA id ia23sm1133227ejc.70.2021.05.22.04.37.48 for <bug-gnu-emacs@HIDDEN> (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 22 May 2021 04:37:48 -0700 (PDT) From: Philipp <p.stephani2@HIDDEN> Date: Sat, 22 May 2021 13:37:48 +0200 Message-ID: <m2pmxj2e43.fsf@HIDDEN> MIME-Version: 1.0 Content-Type: text/plain Received-SPF: pass client-ip=2a00:1450:4864:20::636; envelope-from=p.stephani2@HIDDEN; helo=mail-ej1-x636.google.com 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=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.1 (-) 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.1 (--) Instrument the following definition using C-u C-M-x: (defun f (x) (if-let* (x) 1)) Then, evaluate this form: (f 2) Edebug will step into 'f', but won't stop at 'x'. The problem lies in this part of the Edebug specification for 'if-let*': [&or symbolp (symbolp form) (form)] The 'symbolp' specification element causes Edebug to not instrument the 'x' symbol. However, the 'symbolp' specification is also necessary here; we couldn't just replace it with 'form' because that would make the branches overlap. What we'd need here is something like [&and symbolp form], i.e. match only in case of a symbol, but also instrument as a form. IIUC Edebug doesn't support such constructs yet. In GNU Emacs 28.0.50 (build 125, aarch64-apple-darwin20.4.0, NS appkit-2022.44 Version 11.3.1 (Build 20E241)) of 2021-05-22 Repository revision: 91fa95bde0619b4f3bc7d93d06c7c75998b1588d Repository branch: master Windowing system distributor 'Apple', version 10.3.2022 System Description: macOS 11.3.1 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: ACL GNUTLS JSON LCMS2 MODULES NOTIFY KQUEUE NS PDUMPER PNG THREADS TOOLKIT_SCROLL_BARS ZLIB 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 mml-sec epa epg epg-config gnus-util rmail rmail-loaddefs 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 rx gnutls puny dbus xml subr-x seq byte-opt gv bytecomp byte-compile cconv compile text-property-search comint ansi-color ring cl-loaddefs cl-lib iso-transl 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 easymenu timer select scroll-bar mouse jit-lock font-lock syntax 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 button loaddefs faces cus-face macroexp files window 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 70783 6422) (symbols 48 8363 1) (strings 32 24254 2096) (string-bytes 1 793113) (vectors 16 16076) (vector-slots 8 212949 7797) (floats 8 26 28) (intervals 56 219 0) (buffers 992 10))
Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.505 (Entity 5.505) Content-Type: text/plain; charset=utf-8 X-Loop: help-debbugs@HIDDEN From: help-debbugs@HIDDEN (GNU bug Tracking System) To: Philipp <p.stephani2@HIDDEN> Subject: bug#48585: Acknowledgement (28.0.50; Missing Edebug instrumentation for some 'if-let' variants) Message-ID: <handler.48585.B.162168347515477.ack <at> debbugs.gnu.org> References: <m2pmxj2e43.fsf@HIDDEN> X-Gnu-PR-Message: ack 48585 X-Gnu-PR-Package: emacs Reply-To: 48585 <at> debbugs.gnu.org Date: Sat, 22 May 2021 11:38:02 +0000 Thank you for filing a new bug report with debbugs.gnu.org. This is an automatically generated reply to let you know your message has been received. Your message is being forwarded to the package maintainers and other interested parties for their attention; they will reply in due course. Your message has been sent to the package maintainer(s): bug-gnu-emacs@HIDDEN If you wish to submit further information on this problem, please send it to 48585 <at> debbugs.gnu.org. Please do not send mail to help-debbugs@HIDDEN unless you wish to report a problem with the Bug-tracking system. --=20 48585: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D48585 GNU Bug Tracking System Contact help-debbugs@HIDDEN with problems
X-Loop: help-debbugs@HIDDEN Subject: bug#48585: 28.0.50; Missing Edebug instrumentation for some 'if-let' variants Resent-From: Lars Ingebrigtsen <larsi@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: bug-gnu-emacs@HIDDEN Resent-Date: Fri, 15 Jul 2022 10:17:02 +0000 Resent-Message-ID: <handler.48585.B48585.165788020222096 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 48585 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Philipp <p.stephani2@HIDDEN> Cc: 48585 <at> debbugs.gnu.org, Stefan Monnier <monnier@HIDDEN> Received: via spool by 48585-submit <at> debbugs.gnu.org id=B48585.165788020222096 (code B ref 48585); Fri, 15 Jul 2022 10:17:02 +0000 Received: (at 48585) by debbugs.gnu.org; 15 Jul 2022 10:16:42 +0000 Received: from localhost ([127.0.0.1]:39510 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1oCINF-0005kJ-VP for submit <at> debbugs.gnu.org; Fri, 15 Jul 2022 06:16:42 -0400 Received: from quimby.gnus.org ([95.216.78.240]:45018) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <larsi@HIDDEN>) id 1oCINC-0005k1-H9 for 48585 <at> debbugs.gnu.org; Fri, 15 Jul 2022 06:16:41 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnus.org; s=20200322; h=Content-Type:MIME-Version:Message-ID:Date:References: In-Reply-To:Subject:Cc:To:From:Sender:Reply-To:Content-Transfer-Encoding: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=REK+tx2n9PL3N+UDz0D4DAe5aE3PKFXbGJ4sL99ra1c=; b=R2FDZdwXVAkyS+CPI5Ti5Yjhj9 aRyub5K5PR+S3zeD2l3pLD6x+afNnPvBPhbiDg7har3ONkmX9W4oQfCrOQzDxXMq7i0qX0dmIVZ1i u9Va3wg1C2sPc9DUCiWH94/iRKnvdfCAJ0KSmFtxl/xlrUpWYHijFMtFzDYMl5ikVAMk=; Received: from [84.212.220.105] (helo=joga) by quimby.gnus.org with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from <larsi@HIDDEN>) id 1oCIN1-0005SH-6e; Fri, 15 Jul 2022 12:16:29 +0200 From: Lars Ingebrigtsen <larsi@HIDDEN> In-Reply-To: <m2pmxj2e43.fsf@HIDDEN> (Philipp's message of "Sat, 22 May 2021 13:37:48 +0200") References: <m2pmxj2e43.fsf@HIDDEN> X-Now-Playing: Peter Broderick's _Blackberry_: "Wild Food" Date: Fri, 15 Jul 2022 12:16:25 +0200 Message-ID: <87wncen0jq.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Report: Spam detection software, running on the system "quimby.gnus.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see @@CONTACT_ADDRESS@@ for details. Content preview: Philipp <p.stephani2@HIDDEN> writes: > Instrument the following definition using C-u C-M-x: > (defun f (x) (if-let* (x) 1)) > > Then, evaluate this form: > (f 2) > > Edebug will step into 'f', but won't stop at 'x'. > > The problem lies [...] Content analysis details: (-2.9 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -1.0 ALL_TRUSTED Passed through trusted hosts only via SMTP -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] X-Spam-Score: -2.3 (--) 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 (---) Philipp <p.stephani2@HIDDEN> writes: > Instrument the following definition using C-u C-M-x: > (defun f (x) (if-let* (x) 1)) > > Then, evaluate this form: > (f 2) > > Edebug will step into 'f', but won't stop at 'x'. > > The problem lies in this part of the Edebug specification for 'if-let*': > > [&or symbolp (symbolp form) (form)] > > The 'symbolp' specification element causes Edebug to not instrument the > 'x' symbol. However, the 'symbolp' specification is also necessary > here; we couldn't just replace it with 'form' because that would make > the branches overlap. What we'd need here is something like > [&and symbolp form], i.e. match only in case of a symbol, but also > instrument as a form. IIUC Edebug doesn't support such constructs yet. Perhaps Stefan has some comments here; added to the CCs. -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997 nCipher Corporation Ltd,
1994-97 Ian Jackson.