From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Michael Heerdegen Newsgroups: gmane.emacs.bugs Subject: bug#49163: 28.0.50; Dynbind add-function and lambdas as file vars Date: Mon, 28 Jun 2021 04:56:23 +0200 Message-ID: <87czs6g0iw.fsf@web.de> References: <87mtrivme5.fsf@web.de> <87mtritz26.fsf@web.de> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="13285"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) Cc: 49163-done@debbugs.gnu.org To: Stefan Monnier Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Mon Jun 28 04:57:09 2021 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 1lxhSP-0003Gz-Jv for geb-bug-gnu-emacs@m.gmane-mx.org; Mon, 28 Jun 2021 04:57:09 +0200 Original-Received: from localhost ([::1]:33114 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lxhSO-0000ge-Kp for geb-bug-gnu-emacs@m.gmane-mx.org; Sun, 27 Jun 2021 22:57:08 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:45468) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lxhSI-0000gU-DF for bug-gnu-emacs@gnu.org; Sun, 27 Jun 2021 22:57:02 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:39008) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lxhSI-0001Xm-6A for bug-gnu-emacs@gnu.org; Sun, 27 Jun 2021 22:57:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1lxhSI-0003cv-6U for bug-gnu-emacs@gnu.org; Sun, 27 Jun 2021 22:57:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Michael Heerdegen Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 28 Jun 2021 02:57:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 49163 X-GNU-PR-Package: emacs Original-Received: via spool by 49163-done@debbugs.gnu.org id=D49163.162484899713903 (code D ref 49163); Mon, 28 Jun 2021 02:57:02 +0000 Original-Received: (at 49163-done) by debbugs.gnu.org; 28 Jun 2021 02:56:37 +0000 Original-Received: from localhost ([127.0.0.1]:50554 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lxhRs-0003cB-Us for submit@debbugs.gnu.org; Sun, 27 Jun 2021 22:56:37 -0400 Original-Received: from mout.web.de ([212.227.15.14]:32903) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lxhRq-0003bx-Cn for 49163-done@debbugs.gnu.org; Sun, 27 Jun 2021 22:56:35 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=web.de; s=dbaedf251592; t=1624848985; bh=Us1i74Wktx5tr7tRZYGJnJlnT1q32sm+olxnYatkk88=; h=X-UI-Sender-Class:From:To:Cc:Subject:References:Date:In-Reply-To; b=HXAtC3s2uscZ3Vwk9WV/dF1FxeKvTT1Rn5Go6+mGLLIX5BAaLwjP3qlKrOXkg5KBZ UAMhJwE8uPWQhC019IjsIHMF362zJhxMzvyxoQxJSqUBXA4bKcfhcpX51U/ZBCCXlV X0JAiyhhg1vMkLu7CtmJPwitcLzl6HDXe/oU0dzM= X-UI-Sender-Class: c548c8c5-30a9-4db5-a2e7-cb6cb037b8f9 Original-Received: from drachen.dragon ([178.6.28.156]) by smtp.web.de (mrweb005 [213.165.67.108]) with ESMTPSA (Nemesis) id 1M1aIB-1lvlVD3XND-0036Ja; Mon, 28 Jun 2021 04:56:24 +0200 In-Reply-To: (Stefan Monnier's message of "Sun, 27 Jun 2021 18:18:14 -0400") X-Provags-ID: V03:K1:JLJ5JvA3ojMRxvX6ewvRWoEbPIPjYAY4zkfn4KMpydsku7mMJGy HfSoMprr6j1awpWVIov+kcAUVNqPc6lucZJYU6d6MxpsdTIDqk0y2OYv0UmJBf8r0DIhOPM HN6YW/5O6brrDzyKoSkK+9rNTK6PBlzXXAPlPQNtcf1MGI9vdqXFBUZfjHTxLikjm248QU0 T/c2VBMFcXR6Her0fREOg== X-UI-Out-Filterresults: notjunk:1;V03:K0:nLmszKKXGMY=:2z4xyvk5+gh+KZp7tuZIrT bHAHNjnIEkVSzN9Z1u946QP3DLFP+dZzLXDKTWYj2W2YEINVio72FpL3Ot04yibvWt6Ret3sU wJ6bIONOFKdDU3vv7NeTmxrUnKXFaZcy4/vfzKqlSfFoLm+sU4P4aQgEn/igNov4ug4Xlf+qQ cfGcqJU1K1Qh3EM8M4234bhwr2vt/Ykj4g6vN5GxGrWmU1DoOxZoEJt33xgDu2x8s0apTe6Aa MBEVQPuyMQUsFZuC9zJMFbyl0cxOkI5XY5vz3ibPDHMNy1dslXoEUFeCr3onYDNHbE09Mh/fc Z5DyRTTU40zbK84FGcgcrqAjQtGxpHdxqYYrw8YjlbA9gSQDbPrYeZ6tI5AHh5k966DdbOue3 7PY3Dbfz+lYsIFp8moA3FbRqE04d/PyYauhKSqpjYonMBStrtRLLNDif95645RYI7dZ+X4ACM p0wSJU7SNq2FK4X8+UInLDi+8kcmVETpRO0fHIG6iCZArC7jKW32XdXj0MXBi2rHA8LJY3Zc/ ivprMDEpwGLFVh3Q6CWtRRwUQ8ORsBBkpoUAC26ezZjRn/ot+nqlf9IK7pMgCtGY2EvhpRv2a NWkv2sA4geft0fhWvr537Bx6YDpai7D+r0lf47TGbKN21OQwvenvAtfNMfs7Yo6S8PhbO+OuH L9F0irhigGRXYv1km3x+3NSjVx9pvcN9mGGBRhp9xTy+MrFESG3H66h8Fdjdx2ntOmvlv5ZAy kUt4GkZVOSy5EXUxcu5GyaEvL09gWqAW3pliPTj76JoDufqag+PMRpkR/+2Mbpds180Q6Hqc 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" Xref: news.gmane.io gmane.emacs.bugs:209042 Archived-At: Stefan Monnier writes: > >> - (save-excursion (eval val))) > >> + (save-excursion (eval val t))) > > Pushed. I understand it doesn't directly satisfies your original > request, but that seems harder to do. Thanks, Stefan. I can live with what we have now. > This said, technically you *can* get exactly what you asked for with > something like: > > Local Variables: > my-do-with-test-process-fun: #[257 "\300\301\^B\302\303\^B\"\302\304\^C\"B\262\^A\305\306$\207" [advice--add-function :before make-closure #[0 "\301\300!\207" [V0 process-sentinel] 2] #[257 "\301\300\^B\"\207" [V0 set-process-sentinel] 4 "\n\n(fn GV--VAL)"] #[128 "\300\301!\207" [message "Test"] 3 "\n\n(fn &rest _)"] nil] 8 "\n\n(fn P)"] > End: > > which you can generate with: > > M-: (let ((lexical-binding t) (print-escape-newlines t)) (insert (format "%S" (byte-compile '(lambda (p) (add-function :before (process-sentinel p) (lambda (&rest _) (message "Test")))))))) Good to know that this works. The main problem is that it's not human readable and doesn't contain the "source", so it's not less complex than using `eval' at the end. Michael.