From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Philipp Stephani Newsgroups: gmane.emacs.bugs Subject: bug#64459: 30.0.50; Edebug can't instrument certain syntax-propertize-rules forms Date: Tue, 04 Jul 2023 15:35:01 +0200 Message-ID: Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="16314"; mail-complaints-to="usenet@ciao.gmane.io" To: 64459@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Tue Jul 04 15:36:23 2023 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1qGgCd-00042G-C7 for geb-bug-gnu-emacs@m.gmane-mx.org; Tue, 04 Jul 2023 15:36:23 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qGgCK-0003Zb-DD; Tue, 04 Jul 2023 09:36:04 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qGgCI-0003Yq-Q0 for bug-gnu-emacs@gnu.org; Tue, 04 Jul 2023 09:36:02 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qGgCI-0003IN-BK for bug-gnu-emacs@gnu.org; Tue, 04 Jul 2023 09:36:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1qGgCH-0003xr-Of for bug-gnu-emacs@gnu.org; Tue, 04 Jul 2023 09:36:01 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Philipp Stephani Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 04 Jul 2023 13:36:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 64459 X-GNU-PR-Package: emacs X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Original-Received: via spool by submit@debbugs.gnu.org id=B.168847771515149 (code B ref -1); Tue, 04 Jul 2023 13:36:01 +0000 Original-Received: (at submit) by debbugs.gnu.org; 4 Jul 2023 13:35:15 +0000 Original-Received: from localhost ([127.0.0.1]:35200 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qGgBW-0003wH-GP for submit@debbugs.gnu.org; Tue, 04 Jul 2023 09:35:15 -0400 Original-Received: from lists.gnu.org ([209.51.188.17]:56968) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qGgBT-0003w4-2x for submit@debbugs.gnu.org; Tue, 04 Jul 2023 09:35:13 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qGgBS-0002Xo-OS for bug-gnu-emacs@gnu.org; Tue, 04 Jul 2023 09:35:10 -0400 Original-Received: from mail-wr1-x435.google.com ([2a00:1450:4864:20::435]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qGgBP-0002zM-SZ for bug-gnu-emacs@gnu.org; Tue, 04 Jul 2023 09:35:10 -0400 Original-Received: by mail-wr1-x435.google.com with SMTP id ffacd0b85a97d-313e742a787so4825937f8f.1 for ; Tue, 04 Jul 2023 06:35:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1688477705; x=1691069705; h=content-transfer-encoding:mime-version:message-id:date:subject:to :from:from:to:cc:subject:date:message-id:reply-to; bh=wMU1QahbRQ9mzyJXpBGBgbEveNvJPAPDCNWs3fCCzdE=; b=KaP7dO1fSLeIRSSWmUpSnMdmaAwTr3Liz3ZHdI0Ne4TMjUnhctDjVoJxR8g26n/QR/ C66C/6I9o7iYpggqiQXC8FyzBuo+qQ3h2UNJEclefwZWUBuDx63kXwBtDNwY1P6hfFyg gf3n1HX1rDW9DcvGBc+1B06q6qb9ymgfylHUeStz1uJjRN68lWYSprIPBl5FQUbFy0IL upRiFnaWzLy2vx6MebzEbjQ9KMegTvm54BoXFKKlYxqc7Fjy1fOwIBZO/s+JIcLkGKO2 aOj8Ok+FYJY0sKHM9BTWCuL3pyPyNRMt5dW1/zvvyoeQMx1+Bd5C5Ei4/FKQuXQ4lMnB hApQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1688477705; x=1691069705; h=content-transfer-encoding:mime-version:message-id:date:subject:to :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=wMU1QahbRQ9mzyJXpBGBgbEveNvJPAPDCNWs3fCCzdE=; b=VqYpQBo4nDcQi1YE/jjcFIFx3B8lE0gfQBLN/Mf7e/LR1PApfHqSSzI39ZcSodYFr4 MZKNlIe0pbkhEJumiBpFz8WHqOc4iqaMoL5c8ZaTCFKSx2uHoE7NawDbS/beMIaRqWpP WfuK2AdRYZQmo3GinlUF5P7kCMl65p5OlvfBSiUg2sAhTXJnz8SqoT/S4MbfGot/zUe1 Dd3qSsPP9Y574jV3XWbnKt4SgUXtgxjGf8ncBSmyaLWzZjiCi7Xwe9Fs5zufx/7rUL4F rdMy44a0Zn5dmabT3zeV+sh7khNV+nMOl3c8+rRXSIbHtmZHuHEA+ySDEpb10qT4NVjI p6UQ== X-Gm-Message-State: ABy/qLbVYdc768Lu8/4p7JsGU6Wo/bK0NAT9+Sx71xg3qpSA7fTfNgYg 5mztPXGxFUizynPUiJmSrJGPaGPjHCY= X-Google-Smtp-Source: APBJJlEPcGDYFCubNYsG5AvXMG08sY7anEkqxe3oxa7rwT2bn8wU+3zyTrwO/05M1pbs68jvlKhKTQ== X-Received: by 2002:adf:f84a:0:b0:314:140a:e629 with SMTP id d10-20020adff84a000000b00314140ae629mr14521859wrq.7.1688477704218; Tue, 04 Jul 2023 06:35:04 -0700 (PDT) Original-Received: from phst-desktop.muc.corp.google.com ([2a00:79e0:15:10:d65e:42c5:c3f6:d404]) by smtp.gmail.com with ESMTPSA id c2-20020a5d4cc2000000b003143c9beeaesm2867961wrt.44.2023.07.04.06.35.03 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 04 Jul 2023 06:35:03 -0700 (PDT) Received-SPF: pass client-ip=2a00:1450:4864:20::435; envelope-from=p.stephani2@gmail.com; helo=mail-wr1-x435.google.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 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, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.bugs:264582 Archived-At: Insert into *scratch*: (defun foo () (syntax-propertize-rules ((concat "")))) Now try to instrument this using C-u C-M-x. This will lead to an error "Eager macro-expansion failure": Debugger entered--Lisp error: (error "Eager macro-expansion failure: (void-= function edeb...") signal(error ("Eager macro-expansion failure: (void-function edeb...")) error("Eager macro-expansion failure: %S" (void-function edebug-after)) internal-macroexpand-for-load((setq elisp--eval-defun-result (let ((print= -level nil) (print-length nil)) (progn (defalias 'foo #'(lambda nil (edebug= -enter ... ... ...)))))) t) eval-region(146 200 nil #f(compiled-function (ignore) #)) ; Reading at buffer position 186 elisp--eval-defun() #f(compiled-function (edebug-it) "Evaluate top-level form around point an= d instrument it if EDEBUG-IT is non-nil.\nInteractively, EDEBUG-IT is the p= refix argument.\nIf `edebug-all-defs' is non-nil, that inverts the meaning = of EDEBUG-IT\nand the prefix argument: this function will instrument the fo= rm\nunless EDEBUG-IT is non-nil. The command `edebug-all-defs' toggles\nth= e value of the variable `edebug-all-defs'.\n\nIf point isn't in a top-level= form, evaluate the first top-level\nform after point. If there is no top-= level form after point,\nevaluate the first preceding top-level form.\n\nIf= the current defun is actually a call to `defvar' or `defcustom',\nevaluati= ng it this way resets the variable using its initial value\nexpression (usi= ng the defcustom's :set function if there is one), even\nif the variable al= ready has some other value. (Normally `defvar' and\n`defcustom' do not alt= er the value if there already is one.) In an\nanalogous way, evaluating a = `defface' overrides any customizations of\nthe face, so that it becomes def= ined exactly as the `defface' expression\nsays.\n\nIf `eval-expression-debu= g-on-error' is non-nil, which is the default,\nthis command arranges for al= l errors to enter the debugger.\n\nIf acting on a `defun' for FUNCTION, and= the function was\ninstrumented, `Edebug: FUNCTION' is printed in the echo = area. If not\ninstrumented, just FUNCTION is printed.\n\nIf not acting on = a `defun', the result of evaluation is displayed in\nthe echo area. This d= isplay is controlled by the variables\n`eval-expression-print-length' and `= eval-expression-print-level',\nwhich see." (interactive "P") #)(nil) edebug--eval-defun(#f(compiled-function (edebug-it) "Evaluate top-level f= orm around point and instrument it if EDEBUG-IT is non-nil.\nInteractively,= EDEBUG-IT is the prefix argument.\nIf `edebug-all-defs' is non-nil, that i= nverts the meaning of EDEBUG-IT\nand the prefix argument: this function wil= l instrument the form\nunless EDEBUG-IT is non-nil. The command `edebug-al= l-defs' toggles\nthe value of the variable `edebug-all-defs'.\n\nIf point i= sn't in a top-level form, evaluate the first top-level\nform after point. = If there is no top-level form after point,\nevaluate the first preceding to= p-level form.\n\nIf the current defun is actually a call to `defvar' or `de= fcustom',\nevaluating it this way resets the variable using its initial val= ue\nexpression (using the defcustom's :set function if there is one), even\= nif the variable already has some other value. (Normally `defvar' and\n`de= fcustom' do not alter the value if there already is one.) In an\nanalogous= way, evaluating a `defface' overrides any customizations of\nthe face, so = that it becomes defined exactly as the `defface' expression\nsays.\n\nIf `e= val-expression-debug-on-error' is non-nil, which is the default,\nthis comm= and arranges for all errors to enter the debugger.\n\nIf acting on a `defun= ' for FUNCTION, and the function was\ninstrumented, `Edebug: FUNCTION' is p= rinted in the echo area. If not\ninstrumented, just FUNCTION is printed.\n= \nIf not acting on a `defun', the result of evaluation is displayed in\nthe= echo area. This display is controlled by the variables\n`eval-expression-= print-length' and `eval-expression-print-level',\nwhich see." (interactive = "P") #) (4)) apply(edebug--eval-defun #f(compiled-function (edebug-it) "Evaluate top-l= evel form around point and instrument it if EDEBUG-IT is non-nil.\nInteract= ively, EDEBUG-IT is the prefix argument.\nIf `edebug-all-defs' is non-nil, = that inverts the meaning of EDEBUG-IT\nand the prefix argument: this functi= on will instrument the form\nunless EDEBUG-IT is non-nil. The command `ede= bug-all-defs' toggles\nthe value of the variable `edebug-all-defs'.\n\nIf p= oint isn't in a top-level form, evaluate the first top-level\nform after po= int. If there is no top-level form after point,\nevaluate the first preced= ing top-level form.\n\nIf the current defun is actually a call to `defvar' = or `defcustom',\nevaluating it this way resets the variable using its initi= al value\nexpression (using the defcustom's :set function if there is one),= even\nif the variable already has some other value. (Normally `defvar' an= d\n`defcustom' do not alter the value if there already is one.) In an\nana= logous way, evaluating a `defface' overrides any customizations of\nthe fac= e, so that it becomes defined exactly as the `defface' expression\nsays.\n\= nIf `eval-expression-debug-on-error' is non-nil, which is the default,\nthi= s command arranges for all errors to enter the debugger.\n\nIf acting on a = `defun' for FUNCTION, and the function was\ninstrumented, `Edebug: FUNCTION= ' is printed in the echo area. If not\ninstrumented, just FUNCTION is prin= ted.\n\nIf not acting on a `defun', the result of evaluation is displayed i= n\nthe echo area. This display is controlled by the variables\n`eval-expre= ssion-print-length' and `eval-expression-print-level',\nwhich see." (intera= ctive "P") #) (4)) eval-defun((4)) funcall-interactively(eval-defun (4)) call-interactively(eval-defun nil nil) command-execute(eval-defun) This fails on master and emacs-29, but not on emacs-28, so it's a regression that I think should be fixed before releasing Emacs 29. In GNU Emacs 30.0.50 (build 27, x86_64-pc-linux-gnu, GTK+ Version 3.24.37, cairo version 1.16.0) of 2023-07-04 Repository revision: b8811f854ff2ea97c929d9f3f1674258ffc14cc1 Repository branch: syntax-propertize-rules-edebug Windowing system distributor 'The X.Org Foundation', version 11.0.12101007 System Description: Debian GNU/Linux rodete Configured using: 'configure --enable-gcc-warnings=3Dwarn-only --enable-gtk-deprecation-warnings --without-pop --with-mailutils --enable-checking=3Dall --enable-check-lisp-object-type --with-modules 'CFLAGS=3D-O0 -ggdb3'' Configured features: CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GSETTINGS HARFBUZZ JPEG JSON LIBSELINUX LIBSYSTEMD LIBXML2 MODULES NOTIFY INOTIFY PDUMPER PNG SECCOMP SOUND THREADS TIFF TOOLKIT_SCROLL_BARS WEBP X11 XDBE XIM XINPUT2 XPM GTK3 ZLIB Important settings: value of $LC_MONETARY: en_DK.UTF-8 value of $LC_NUMERIC: en_DK.UTF-8 value of $LC_TIME: en_DK.UTF-8 value of $LANG: en_DK.UTF-8 value of $XMODIFIERS: @im=3Dibus locale-coding-system: utf-8-unix Major mode: Lisp Interaction Minor modes in effect: tooltip-mode: t global-eldoc-mode: t eldoc-mode: t show-paren-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 line-number-mode: t indent-tabs-mode: t transient-mark-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t Load-path shadows: None found. Features: (shadow sort mail-extr emacsbug phst skeleton pcase ffap thingatpt url url-proxy url-privacy url-expand url-methods url-history url-cookie generate-lisp-file url-domsuf url-util url-parse auth-source cl-seq eieio eieio-core cl-macs json map byte-opt gv bytecomp byte-compile url-vars rx message sendmail mailcap yank-media dired dired-loaddefs rfc822 mml mml-sec password-cache epa derived epg rfc6068 epg-config gnus-util time-date mm-decode mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045 mm-util ietf-drums mail-prsvr mailabbrev mail-utils gmm-utils mailheader gnutls puny elp dbus xml subr-x compile text-property-search comint ansi-osc ansi-color ring cl-loaddefs cl-lib rmc iso-transl tooltip cconv eldoc paren electric uniquify ediff-hook vc-hooks lisp-float-type elisp-mode mwheel term/x-win x-win term/common-win x-dnd tool-bar dnd fontset image regexp-opt fringe tabulated-list replace newcomment text-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 nadvice seq simple cl-generic indonesian philippine 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 emoji-zwj charscript charprop case-table epa-hook jka-cmpr-hook help abbrev obarray oclosure cl-preloaded button loaddefs theme-loaddefs faces cus-face macroexp files window text-properties overlay sha1 md5 base64 format env code-pages mule custom widget keymap hashtable-print-readable backquote threads dbusbind inotify dynamic-setting system-font-setting font-render-setting cairo gtk x-toolkit xinput2 x multi-tty move-toolbar make-network-process emacs) Memory information: ((conses 16 70027 11803) (symbols 48 8340 0) (strings 32 23360 2773) (string-bytes 1 713597) (vectors 16 16358) (vector-slots 8 219441 18429) (floats 8 45 47) (intervals 56 257 0) (buffers 976 11)) --=20 Google Germany GmbH Erika-Mann-Stra=C3=9Fe 33 80636 M=C3=BCnchen Gesch=C3=A4ftsf=C3=BChrer: Paul Manicle, Liana Sebastian Registergericht und -nummer: Hamburg, HRB 86891 Sitz der Gesellschaft: Hamburg Diese E-Mail ist vertraulich. Falls Sie diese f=C3=A4lschlicherweise erhal= ten haben sollten, leiten Sie diese bitte nicht an jemand anderes weiter, l=C3=B6sche= n Sie alle Kopien und Anh=C3=A4nge davon und lassen Sie mich bitte wissen, dass d= ie E-Mail an die falsche Person gesendet wurde. This e-mail is confidential. If you received this communication by mistake, please don=E2=80=99t forward it to anyone else, please erase all copies and attachments, and please let me know that it has gone to the wrong person.