From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Mattias =?UTF-8?Q?Engdeg=C3=A5rd?= Newsgroups: gmane.emacs.bugs Subject: bug#65017: 29.1; Byte compiler interaction with cl-lib function objects, removes symbol-function Date: Thu, 3 Aug 2023 11:39:33 +0200 Message-ID: <8B08E514-B2D5-48F5-BA90-4F5A9492F8F9@gmail.com> References: Mime-Version: 1.0 (Mac OS X Mail 14.0 \(3654.120.0.1.15\)) Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="40151"; mail-complaints-to="usenet@ciao.gmane.io" Cc: Alan Mackenzie , 65017@debbugs.gnu.org, Stefan Monnier To: Eric Marsden Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Thu Aug 03 11:40:20 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 1qRUoe-000AKt-DY for geb-bug-gnu-emacs@m.gmane-mx.org; Thu, 03 Aug 2023 11:40:20 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qRUoO-0003tV-BS; Thu, 03 Aug 2023 05:40: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 1qRUoM-0003sm-Np for bug-gnu-emacs@gnu.org; Thu, 03 Aug 2023 05:40:02 -0400 Original-Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qRUoM-0002Nr-Dd for bug-gnu-emacs@gnu.org; Thu, 03 Aug 2023 05:40:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1qRUoM-0004Sy-9e for bug-gnu-emacs@gnu.org; Thu, 03 Aug 2023 05:40:02 -0400 X-Loop: help-debbugs@gnu.org In-Reply-To: Resent-From: Mattias =?UTF-8?Q?Engdeg=C3=A5rd?= Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 03 Aug 2023 09:40:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 65017 X-GNU-PR-Package: emacs Original-Received: via spool by 65017-submit@debbugs.gnu.org id=B65017.169105558317139 (code B ref 65017); Thu, 03 Aug 2023 09:40:02 +0000 Original-Received: (at 65017) by debbugs.gnu.org; 3 Aug 2023 09:39:43 +0000 Original-Received: from localhost ([127.0.0.1]:50904 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qRUo2-0004SN-TT for submit@debbugs.gnu.org; Thu, 03 Aug 2023 05:39:43 -0400 Original-Received: from mail-lj1-x22f.google.com ([2a00:1450:4864:20::22f]:44242) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qRUo1-0004S8-Cs for 65017@debbugs.gnu.org; Thu, 03 Aug 2023 05:39:42 -0400 Original-Received: by mail-lj1-x22f.google.com with SMTP id 38308e7fff4ca-2b974031aeaso11006731fa.0 for <65017@debbugs.gnu.org>; Thu, 03 Aug 2023 02:39:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1691055575; x=1691660375; h=to:cc:date:message-id:subject:mime-version :content-transfer-encoding:from:sender:from:to:cc:subject:date :message-id:reply-to; bh=e8fA0F5azK7RaBv7lPO7TQPVhXyf1+7UaJ4PZAARHp8=; b=hef7LdM6mt2rWW5gDusvPXyU6rA4njgb0g36P4vlOfS4Dy5Duhnbitcs+bI/y49Y5+ e7KhZNLV6m50XWgYVJKT1KRIL3MpHbooZD3OvfTvukGzNN33uQZWH63TrXbLswP6BrNg U+ItLj4YaTX7ZuqesoDHVGfwjgBrrnpBrFFURXa4P6gCap5D/QslR7DmICf/D8LcwaNi tLZshM3eoJRpK69Dczq4m/BI/Frw/ezlMF7qq3cF6B95zsgcgqX7LgO6eQrykXGJFrZa +AmuZtgzRQbLpzZn75cRF1t0e7rq+L6KgdaDrCYVvT9YaGr7WhD6v0QDak0ISCQE1NbI XxkA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1691055575; x=1691660375; h=to:cc:date:message-id:subject:mime-version :content-transfer-encoding:from:sender:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=e8fA0F5azK7RaBv7lPO7TQPVhXyf1+7UaJ4PZAARHp8=; b=HN9h9y5fAxzYqp9alWBN96YP24sXO/F4O5cTjLrrojbNgc2h6itAGaX2IH1pnfrzRS g7lzPrVGx/Czle9/b7RvVlJIVTBk1jPosgMkGK/Jhqg5ifF1+LvuRjngxeaUBXAk7/R/ en7NNs2AVhscoQBJc5wjCC3BxFpgIBL8a5QXpRDad9bZKhCQHTfsmdgGya/MTuSZBmuo +m+zVpc8nnfmUhqoJxd8DQGHOwBmKF7sBg4Sh2ujZYxHU4dnnz5+JtM7kMP/ZeK4Iihc ffwxwjA4rE0pPiXS+pK06bsxRhpd2eH7z+SkBxwoA12ZN/rfPgLEhayMEZP3OG3a5uVB F4kw== X-Gm-Message-State: ABy/qLY+DazKGUqizZTtIp548yRj1J7iLKDmbTKhi/u+HTIvlfKOgapx tLOFWWpbYVNmVRCMkcUgECw= X-Google-Smtp-Source: APBJJlEpFftACXfhrxDl40z7N8kanTOYCGGrpR7SzHH438rcRX0f3nW1DR6u6VU08olV1jaRxkyCTA== X-Received: by 2002:a2e:8643:0:b0:2b6:effd:9a3b with SMTP id i3-20020a2e8643000000b002b6effd9a3bmr7200413ljj.24.1691055574757; Thu, 03 Aug 2023 02:39:34 -0700 (PDT) Original-Received: from smtpclient.apple (c188-150-165-235.bredband.tele2.se. [188.150.165.235]) by smtp.gmail.com with ESMTPSA id a3-20020a2e8303000000b002b9fdfdab75sm821535ljh.12.2023.08.03.02.39.34 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 03 Aug 2023 02:39:34 -0700 (PDT) X-Mailer: Apple Mail (2.3654.120.0.1.15) 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:266576 Archived-At: > Error: invalid-function (#) That is a symbol-with-position somehow leaking out. We can simplify your nice little test case to ------- first file ----------- (require 'cl-macs) (defun zeta () (cl-flet () #'equal)) ------- second file --------- (defun eta () (cl-flet () (funcall #'equal 12 34))) ------------------------------ and indeed, the leak is in cl--labels-convert-cache which will contain = `equal` as a symbol-with-pos after byte-compiling the first file, and = this causes trouble in the second file. cl--labels-convert-cache contains (# function #) and the function `eta` is consequently defined as (closure (t) nil (progn (# 12 34))) where 49 is the position of `equal` in the first file. Stefan and Alan should have a word here but I doubt we should hack this = in cl-macs.el somehow, should we? Making Ffuncall (etc) tolerant of symbol-with-pos isn't appealing = either.