From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Stefan Monnier via "Bug reports for GNU Emacs, the Swiss army knife of text editors" Newsgroups: gmane.emacs.bugs Subject: bug#59820: [PATCH] * nadvice/nadvice.el: support non-symbol (closure/lambda) advices (old Emacs) Date: Tue, 13 Dec 2022 08:50:27 -0500 Message-ID: References: <93f01864-6cdf-2d04-d08c-d0b52dc7773f@gmail.com> Reply-To: Stefan Monnier Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="17104"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Cc: 59820@debbugs.gnu.org To: daanturo Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Tue Dec 13 14:53:35 2022 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 1p55iw-0004G5-Ho for geb-bug-gnu-emacs@m.gmane-mx.org; Tue, 13 Dec 2022 14:53:34 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1p55gW-0000Pm-RO; Tue, 13 Dec 2022 08:51:04 -0500 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 1p55gU-0000OI-MG for bug-gnu-emacs@gnu.org; Tue, 13 Dec 2022 08:51:02 -0500 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 1p55gU-00084M-Dp for bug-gnu-emacs@gnu.org; Tue, 13 Dec 2022 08:51:02 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1p55gU-00043w-9g for bug-gnu-emacs@gnu.org; Tue, 13 Dec 2022 08:51:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Stefan Monnier Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 13 Dec 2022 13:51:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 59820 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch Original-Received: via spool by 59820-submit@debbugs.gnu.org id=B59820.167093943915570 (code B ref 59820); Tue, 13 Dec 2022 13:51:02 +0000 Original-Received: (at 59820) by debbugs.gnu.org; 13 Dec 2022 13:50:39 +0000 Original-Received: from localhost ([127.0.0.1]:60543 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1p55g7-000434-CF for submit@debbugs.gnu.org; Tue, 13 Dec 2022 08:50:39 -0500 Original-Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:39099) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1p55g5-00042x-AJ for 59820@debbugs.gnu.org; Tue, 13 Dec 2022 08:50:37 -0500 Original-Received: from pmg1.iro.umontreal.ca (localhost.localdomain [127.0.0.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id 4343110010B; Tue, 13 Dec 2022 08:50:31 -0500 (EST) Original-Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id C0C511000F4; Tue, 13 Dec 2022 08:50:29 -0500 (EST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1670939429; bh=3Nuaq0HFxl8z9gAog8JyRM5+WwPKCPjF5XBxkv8JquQ=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=acrxQRYRuWon9ZM3gsZaDsvXAX3aVSGLA0CPRwPU7QXmOijKa40LY2/Z1zX4ziqyJ D1NSWyb37Dg2aVWZ8hVCV7BZxWRSKTyHmovzusmk45imOMYFQDEbScw6aq1SxZn8wR Nmh9m+5/EG5Kx51/g2KFF+ITKbizE3pRDWvWMMRjZ7jwQUTI0y3v7h+MYtvWvE3ljW HJcwOL62My6XHylahzf2s8pVGaWaiovkCtFsYpvx4KDWUXDGnGqPbyIS37EfO1i1eb 10Au7B9dUrXsSvQetRqL//QnbEf1LiONnxeoweU31PMQqODdWP9zYYAkDGB9TwvDXF 8IgJY+bZ+qPSA== Original-Received: from pastel (unknown [45.72.193.52]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 9CF14120206; Tue, 13 Dec 2022 08:50:29 -0500 (EST) In-Reply-To: <93f01864-6cdf-2d04-d08c-d0b52dc7773f@gmail.com> (daanturo@gmail.com's message of "Mon, 5 Dec 2022 00:14:49 +0700") 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:250838 Archived-At: > This patch provides the ELPA version (for Emacs < 24.4) of nadvice.el's > advice-add the ability to handle anonymous advices. [...] > +(defun advice--ensure-symbol (func) > + (if (symbolp func) > + func > + (let* ((sym (intern (format "%S" func)))) > + (unless (fboundp sym) > + (defalias sym func)) > + sym))) I'm not a big fan of this approach, and I usually recommend to use named functions for advice anyway (avoids all kinds of problems like the `advice-remove` failing to remove, or the equality test taking too much time, ...). IOW I'd rather align the "real nadvice.el" with the one in GNU ELPA than the other way around in this respect. Stefan